Как импортировать файл .pem?

У меня есть точная проблема, описанная в

Jarsigner: цепочка сертификатов не найдена для

Моей отправной точкой был файл .pem. Я чувствую, что у этого также есть закрытый ключ. Я использовал следующую команду, чтобы импортировать это в хранилище ключей:

keytool -importcert -alias myalias -file myfile.pem

Для «Доверять этому сертификату? [нет]», если я выберу «нет», импорт завершится неудачно. Итак, я согласился на «да». Импорт удается. Мой

keytool -список

выдает вывод, аналогичный указанному в Jarsigner: цепочка сертификатов не найдена.

Я чувствую, что у меня есть правильный бит сертификата, который я не импортирую правильно. Другими словами, я подозреваю, что вместо «записи ключа» создается «запись доверенного сертификата», но я не знаю, как заставить keytool создать «запись ключа».

Как я могу решить эту проблему?

Дополнительная информация:

После дальнейшей работы я склоняюсь к прямо противоположному выводу, чем приведенный выше. Теперь я думаю, что что-то не так с моим файлом pem. Я просмотрел предыдущую запись в хранилище ключей с просроченным ключом. В нем четко указано PrivateKeyEntry, в то время как в моем импорте указано trustCertEntry.


person V Chandrasekhar    schedule 26.02.2013    source источник


Ответы (1)


Вы можете попробовать создать pkcs12 из ваших файлов, который будет содержать всю цепочку сертификатов. Вам понадобится ваш общедоступный сертификат и корневой сертификат CA. Команда такая:

openssl pkcs12 -export -inkey file.pem -in file.crt -out file.p12 \
-CAfile root-CA.pem -chain -name mykey

Получив весь файл file.p12, вы можете экспортировать полный сертификат в формат pem:

openssl pkcs12 -in file.p12 -out new-cert.pem -nodes -clcerts

Или, если вы хотите экспортировать в формат хранилища ключей Java, который имеет всю цепочку, команда:

keytool -importkeystore -srcstoretype pkcs12 -srckeystore file.p12 \
-srcstorepass <password> -keystore keystore.jks
person n2studio    schedule 07.11.2013