Проблема
Ви намагаєтеся створити ключ за допомогою tpm2_ptool, використовуючи таку команду:
tpm2_ptool addkey --label=ssh --userpin=zeigh6iraewich1aengip6Dee2bait --algorithm=ecc384і отримуєте помилку 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'Рішення
Ваша конкретна реалізація TPM не підтримує криву, яку ви намагаєтеся використати. Ви можете дізнатися, які (еліптичні) криві підтримуються:
Хоча tpm2_ptool підтримує такі криві:
ecc224ecc256ecc384ecc521
ваша реалізація TPM (або фізичний TPM, або програмний TPM) може підтримувати не всі з них.
Зазвичай, якщо ваш TPM не підтримує, наприклад, криву 384 bit, він також не підтримуватиме жодної кривої з більшою кількістю бітів. Тому я рекомендую спробувати наступну меншу криву.
tpm2_ptool addkey --label=ssh --userpin=zeigh6iraewich1aengip6Dee2bait --algorithm=ecc256Згідно з Dell, TPM-сумісні з TPM 2.0 повинні підтримувати принаймні ecc256.
Продовжуйте спробувати менші криві, поки не знайдете ту, що працює. Найкращий спосіб дізнатися, які криві підтримуються — спробувати їх усі; пошук документації зазвичай займає набагато більше часу і часто взагалі не дає результатів.