Преобразовать хранилище ключей Java JCEKS, содержащее ключ 3DES, в PKCS12 - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь преобразовать хранилище ключей Java JCEKS в PKCS12, который содержит два симметричных ключа, один AES и один 3DES.

Ключ AES импортируется в файл PKCS12 просто отлично, но не ключ 3DES.

Я использую команду:

"c:\Program Files\Java\jdk-10.0.1\bin\keytool.exe" -importkeystore -srckeystore D:\temp\ssc.jceks -srcstoretype jceks -destkeystore D:\temp\ssc.p12 -deststoretype pkcs12

Я получаю следующее сообщение об ошибке:

java.security.KeyStoreException: Key protection  algorithm not found: java.security.NoSuchAlgorithmException: unrecognized algorithm name: DESede

Это сJava 10.0.1, я также пробовал Java 8u171 и Java 11 EA 17.

Keytool может перечислять хранилище ключей JCEKS просто отлично с:

"c:\Program Files\Java\jdk-10.0.1\bin\keytool.exe" -list -keystore D:\temp\ssc.jceks -storepass xxxxx -storetype jceks -v

Любойидея о том, как импортировать ключ 3DES в хранилища ключей PKCS12?

Спасибо.

1 Ответ

0 голосов
/ 13 июня 2018

Похоже, по умолчанию SunJSSE Поставщик, который реализует PKCS12 KeyStore, не поддерживает алгоритм DESede.

Лучше всего, чтобы они были в JCEKS хранилище ключей (этопроприетарный для Java, но стандарт PKCS # 11 не предусматривает хранения не закрытых ключей. Даже если это необходимо, DESede может не поддерживаться, поскольку AES считается намного более безопасным, чем DESede и является отраслевым стандартом.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...