Problema
Você está tentando criar uma chave usando tpm2_ptool usando um comando como
tpm2_ptool addkey --label=ssh --userpin=zeigh6iraewich1aengip6Dee2bait --algorithm=ecc384e recebe o erro tpm:parameter(2):curve not supported:
Traceback (most recent call last):
File "/usr/bin/tpm2_ptool", line 33, in <module>
sys.exit(load_entry_point('tpm2-pkcs11-tools==1.33.7', 'console_scripts', 'tpm2_ptool')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tpm2_pkcs11/tpm2_ptool.py", line 26, in main
commandlet.init('A tool for manipulating the tpm2-pkcs11 database')
File "/usr/lib/python3/dist-packages/tpm2_pkcs11/command.py", line 102, in init
commandlet.get()[d['which']](d)
File "/usr/lib/python3/dist-packages/tpm2_pkcs11/commandlets_keys.py", line 295, in __call__
objects = super(AddKeyCommand, self).__call__(args)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tpm2_pkcs11/commandlets_keys.py", line 202, in __call__
tertiarypriv, tertiarypub, tertiarypubdata = self.new_key_create(
^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tpm2_pkcs11/commandlets_keys.py", line 289, in new_key_create
tertiarypriv, tertiarypub, tertiarypubdata = tpm2.create(
^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/tpm2_pkcs11/tpm2.py", line 226, in create
raise RuntimeError("Could not execute tpm2_create: %s" %
RuntimeError: Could not execute tpm2_create: b'WARNING:esys:src/tss2-esys/api/Esys_Create.c:399:Esys_Create_Finish() Received TPM Error \nERROR:esys:src/tss2-esys/api/Esys_Create.c:134:Esys_Create() Esys Finish ErrorCode (0x000002e6) \nERROR: Esys_Create(0x2E6) - tpm:parameter(2):curve not supported\nERROR: Unable to run tpm2_create\n'Solução
Sua implementação específica de TPM não suporta a curva que você está tentando usar. Você pode descobrir quais curvas (elípticas)
Enquanto tpm2_ptool suporta as seguintes curvas:
ecc224ecc256ecc384ecc521
sua implementação de TPM (seja um TPM físico ou um TPM de software) pode não suportar todas elas.
Tipicamente, quando seu TPM não suporta por exemplo uma curva de 384 bit, ele também não suportará qualquer curva com uma contagem de bits maior. Portanto, eu recomendo tentar a próxima curva menor.
tpm2_ptool addkey --label=ssh --userpin=zeigh6iraewich1aengip6Dee2bait --algorithm=ecc256De acordo com a Dell, TPMs compatíveis com TPM 2.0 devem suportar pelo menos ecc256.
Continue tentando curvas menores até encontrar uma que funcione. A melhor maneira de descobrir quais curvas são suportadas é tentar todas elas, tentar procurar documentação geralmente leva muito mais tempo e muitas vezes não é bem-sucedida.