Java keytool выдает «пароль хранилища ключей неверен» при попытке импортировать PKCS12 в JKSJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java keytool выдает «пароль хранилища ключей неверен» при попытке импортировать PKCS12 в JKS

Сообщение Anonymous »

Я знаю, что эта проблема выглядит как известная (здесь много вопросов по этому поводу), в разных версиях JDK сообщалось о нескольких ошибках, и ситуация очень хорошо описана в этом сообщении:
https://stackoverflow .com/a/72501767
Я попал в, как мне кажется, еще один случай, на который еще нет ответа. Должно быть, я делаю что-то не так, но не могу понять, что именно.
У меня есть сертификат и закрытый ключ в формате PEM, и я хочу создать на его основе JKS. Я читал, что формат JKS, возможно, больше не нужен, но я не контролирую эту часть.
Я обрабатываю файлы в командной строке. Дела обстоят так, ничего особенного и эзотерического:

Код: Выделить всё

openssl pkcs12 -export -in cert.crt -passout pass:changeit -inkey pkey.key -out keystore.p12

keytool -importkeystore -srckeystore  keystore.p12 -srcstoretype PKCS12 -srcstorepass changeit -deststorepass changeit -destkeystore keystore.jks
Я получаю:

Код: Выделить всё

Importing keystore keystore.p12 to keystore.jks...
keytool error: java.io.IOException: keystore password was incorrect
Дело в том, что я пробовал это со многими версиями JDK, но ничего не получилось.
Факты:
  • оба входных файла верны (проверено с помощью openssl x509 -in cert.crt -text -noout и openssl rsa -in pkey.key -text -noout )
  • сгенерированный PKCS12 можно проверить с помощью openssl: openssl pkcs12 -in keystore.p12 -info -noout -passin pass:changeit
  • Ubuntu 22.04, openssl v3 (

    Код: Выделить всё

    OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022
    )
С этого момента мне показалось, что я наткнулся на известную проблему JDK.
Я пробовал с этими версиями, все с одним и тем же сообщением:
  • openjdk version "11.0.15" 2022-04- 19
  • версия openjdk «17.0.3» 19 апреля 2022 г.
    версия openjdk «18-ea» 22 марта 2022 г.
Наконец, я мог бы попробовать следующую комбинацию: openssl 1.1.1n + openjdk 11.0.15, дает ту же ошибку.
Все имеющиеся у меня JDK пробовал версии выше 11.0.12.
Я застрял и в отчаянии, потратил на это слишком много времени.
(Для протокола, я пытаюсь настроить битнами диаграмма keycloak с существующим секретом, содержащим сертификаты PEM, и контейнер, ответственный за его импорт, не работает. Я пытался сделать то же самое вручную, и вот я здесь).
Изменить:
Спасибо dave_thompson_085 за предложение. Вот трассировка ошибки keytool:

Код: Выделить всё

java.io.IOException: keystore password was incorrect
at java.base/sun.security.pkcs12.PKCS12KeyStore.engineLoad(PKCS12KeyStore.java:2158)
at java.base/sun.security.util.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:226)
at java.base/java.security.KeyStore.load(KeyStore.java:1503)
at java.base/sun.security.tools.keytool.Main.loadSourceKeyStore(Main.java:2319)
at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:1234)
at java.base/sun.security.tools.keytool.Main.run(Main.java:416)
at java.base/sun.security.tools.keytool.Main.main(Main.java:409)
Caused by: java.security.UnrecoverableKeyException: failed to decrypt safe contents entry: java.security.cert.CertificateParsingException: Empty issuer DN not allowed in X509Certificates
и вывод openssl pkcs12 -info:

Код: Выделить всё

MAC: sha256, Iteration 2048
MAC length: 32, salt length: 8
PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256
Certificate bag
PKCS7 Data
Shrouded Keybag: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256
Я собираюсь следовать по пути, показанному этим зловещим java.security.cert.CertificateParsingException: Пустой DN эмитента не разрешен в сообщении X509Certificates...

Подробнее здесь: https://stackoverflow.com/questions/728 ... mport-a-pk
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»