Wie man tpm2_ptool tpm:parameter(2):curve not supported behebt
Problem
Sie versuchen, einen Schlüssel mit tpm2_ptool zu erstellen mit einem Befehl wie
tpm2_ptool addkey --label=ssh --userpin=zeigh6iraewich1aengip6Dee2bait --algorithm=ecc384und erhalten den Fehler 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'Lösung
Ihre spezifische TPM-Implementierung unterstützt die Kurve nicht, die Sie verwenden möchten. Sie können herausfinden, welche (elliptischen) Kurven
Während tpm2_ptool die folgenden Kurven unterstützt:
ecc224ecc256ecc384ecc521
kann Ihre TPM-Implementierung (entweder ein physisches TPM oder ein Software-TPM) möglicherweise nicht alle davon unterstützen.
Typischerweise, wenn Ihr TPM z.B. eine 384-Bit-Kurve nicht unterstützt, wird es auch keine Kurve mit einer höheren Bit-Anzahl unterstützen. Daher empfehle ich, die nächstkleinere Kurve auszuprobieren.
tpm2_ptool addkey --label=ssh --userpin=zeigh6iraewich1aengip6Dee2bait --algorithm=ecc256Gemäß Dell müssen TPM 2.0-kompatible TPMs mindestens ecc256 unterstützen.
Fahren Sie fort, kleinere Kurven auszuprobieren, bis Sie eine finden, die funktioniert. Der beste Weg, herauszufinden, welche Kurven unterstützt werden, ist, sie alle auszuprobieren - nach Dokumentation zu suchen dauert in der Regel viel länger und ist oft überhaupt nicht erfolgreich.