2016-05-18 4 views
1

В настоящее время у меня есть файл der и приватный файл, но в настоящее время я не могу создать соответствующую документацию, которая позволяет мне создать файл хранилища jks на основе der и my закрытый ключ.Создание Keystore с подписанным файлом и закрытым ключом

Что я пытался до сих пор:

Создать PKCS12 файл: сообщение

openssl pkcs12 -export -in received_ca_cert.der -inkey mykey.key -certfile received_ca_cert.der -out test-keystore.p12 

Ошибка:

unable to load certificates 

я считаю, что после того, как решение этой проблемы, я должен использовать что-то например:

keytool -importkeystore -srckeystore test-keystore.p12 -srcstoretype pkcs12 -destkeystore test-keystore.jks -deststoretype JKS 

Заранее спасибо.

ответ

2

pkcs12 -export требует, чтобы все его входные файлы - privatekey и один или несколько сертификатов - находились в формате PEM (как определено/расширена OpenSSL, так как фактический PEM два десятилетия назад не охватывал это). Преобразовать сертификат от DER до PEM с:

openssl x509 -in certfile.der -inform DER -out certfile.pem 
# you can specify -outform PEM but it's the default and hence unneeded 

ТАКЖЕ: Вы не должны указать тот же сертификат, как -in и -certfile. -in должен быть сертификатом, который соответствует закрытому ключу. Если есть еще один сертификат или сертификаты, включая, но не ограничиваясь, сертификаты цепи, которые вы хотите включить, вот что такое -certfile. Независимо от того, является ли такой «дополнительный» сертификат (ы) необходимым или желательным, зависит от того, как был выпущен ваш сертификат, и в какой степени он/что нужно будет проверить, о чем вы даже не указали в своем вопросе.

Обратите внимание, что если у вас есть цепные сертификаты в вашем доверенных сертификатов, либо по умолчанию один или один заданный с -CAfile и/или -CApath, вы можете указать -chain и OpenSSL автоматически найдет/выбрать необходимые цепи для вас сертификаты; это может быть проще, чем вручную решить, что происходит в -certfile.

И аналогично вам не нужно указывать -deststoretype jks на keytool, потому что это значение по умолчанию.

+0

Благодарим за отзыв, но главная проблема, которую мы имеем сейчас, заключается в том, что наша платформа интеграции принимает файлы только в DER, а не в PEM. –