Я использую SoftHSM для генерации изометрических ключей в Java.В настоящее время мне нужно обернуть закрытые ключи с помощью функции wrapKey, предоставляемой в библиотеке IAIK PKCS11 (JAVA), и у меня возникла проблема с операцией обтекания клавиш в cipher.getInstance()
.Приложение выдает CKR_MECHANISM_INVALID, и вся существующая информация в сети, кажется, не дает подходящего ответа о том, как это исправить.
В настоящее время кажется, что это проблема, связанная с механизмом IAIK, так какВ настоящее время используется алгоритм CKM_AES_CBC_PAD для переноса ключей.
Неясно, как переключаться между CKM_AES_CBC_PAD и теми, которые предложены в выпуске github, созданном для проблемы на странице github SoftHSM, см .: https://github.com/opendnssec/SoftHSMv2/issues/229 иhttps://github.com/opendnssec/SoftHSMv2/issues/405.
Ясно две вещи: это известная проблема, и авторы предлагают использовать CKM_AES_KEY_WRAP, CKM_AES_KEY_WRAP_PAD, CKM_RSA_PKCS или CKM_RSA_PKCS_OAEP.Тем не менее, я не могу найти образцы, используя предложенные опции, и после нескольких часов копания в библиотеках, я думаю, что проще просто спросить здесь.
Исходный вопрос: Я хотел бы переключитьсямеханизм от CKM_AES_CBC_PAD до CKM_AES_KEY_WRAP во время обработки ключей
Обновление: После дальнейшей отладки кажется, что проблема может быть даже более сложной, чем переключение между механизмами.В связи с этим я предпочел бы знать вместо этого:
Новый вопрос: Каков наилучший способ реализации преобразования ключей с использованием перечисленных выше технологий в JAVA