Ответ 1
Хранилище pkcs12 было повреждено.
Я пытаюсь преобразовать стандартный хранилище ключей PKCS # 12 (.p12) в хранилище ключей Java JKS с помощью этой команды:
keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore keystore.jks
Он не работает с:
keytool error: java.io.IOException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded
Есть ли у вас какие-либо идеи, как решить эту проблему?
Хранилище pkcs12 было повреждено.
Иногда эта ошибка является симптомом использования неправильного пароля для клавиши p12.
Я никогда не пытался сделать это раньше, но я нашел инструкции для google здесь.
Этот поток задает аналогичный вопрос.
EDIT (на основе комментария)
Вот полный текст ссылки:
PFX/P12 в JKS (Java KeyStore)
Вопрос: Как перенести сертификат из IIS/PFX (файл .p12) в JKS (Java KeyStore)?
Ответ: keytool -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype pkcs12 -srcstorepass PFX_P12_FILE -srcalias SOURCE_ALIAS -destkeystore KEYSTORE_FILE -deststoretype jks -deststorepass PASSWORD -destalias ALIAS_NAME
Примечание.. Чтобы найти srcalias, перечислите содержимое файла PFX/P12:
keytool -v -list -storetype pkcs12 -keystore PFX_P12_FILE > FILENAME.TXT Поскольку это записывает вывод команды в файл с именем FILENAME.TXT.
У меня была такая же проблема сегодня (BadPaddingException). Кажется, у keytool была проблема с определенными символами в пароле. Я решил это, добавив двойные кавычки вокруг пароля.
keytool -importkeystore -srckeystore PFX_P12_FILE_NAME -srcstoretype pkcs12 -srcstorepass "PFX_P12_FILE" -srcalias SOURCE_ALIAS -destkeystore KEYSTORE_FILE -deststoretype jks -deststorepass "PASSWORD" -destalias ALIAS_NAME
Я сделал эту команду (напротив вашей), чтобы экспортировать закрытый ключ в PKCS12 из JKS:
keytool -importkeystore -srckeystore DemoIdentity.jks -srcstoretype JKS -destkeystore demoidentity.p12 -deststoretype PKCS12
Если бы я остановился на кажущемся избыточным "-srcstoretype JKS", сгенерированный файл demoidentity.p12 дал мне ту же ошибку, когда я попытался перечислить детали в keytool, хотя приведенная выше команда приняла пароли и сгенерировала файл, казалось бы, правильно
Для вашей проблемы, возможно, вы сделали что-то подобное при генерации keystore.p12.