Введите не сертификат X.509 Не работает даже после преобразования в DER

Прежде всего, я уже видел сообщение keytool ошибка: java.lang.Exception: Введите не сертификат X.509. Я не могу применить то же решение в своей ситуации, поэтому я публикую эту тему. Когда я попытался импортировать свой файл PEM в keytoo, он сказал, что

ошибка keytool: java.lang.Exception: введите не сертификат X.509

Когда я пытался использовать openssl для подключения к моему серверу с параметром -CAfile в качестве этого файла PEM. он подключился suxxessfully.

Я преобразовал файл PEM в файл DER, как было предложено в сообщении выше, используя

openssl x509 -outform der -in foo.pem -out foo.der

Я успешно импортировал файл der в keytool. Но когда я пытаюсь подключиться к серверу, к которому можно было подключиться с помощью файла PEM в openSSL, я не могу подключиться. это бросает

at

javax.net.ssl.DefaultSSLSocketFactory.createSocket(Unknown Source)
        at com.ibm.net.ssl.www.protocol.https.b.b(Unknown Source)
        at com.ibm.net.ssl.www.protocol.http.cb.a(Unknown Source)
        at com.ibm.net.ssl.www.protocol.http.cb.p(Unknown Source)

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


person Rengasami Ramanujam    schedule 10.05.2012    source источник
comment
файл PEM содержит около 160 сертификатов.   -  person Rengasami Ramanujam    schedule 10.05.2012


Ответы (1)


keytool поддерживает только файлы PEM с одним сертификатом. Они не могут включать ничего за скобки -----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----.

При использовании составных файлов PEM, таких как ca-bundle.crt, вам потребуется извлечь каждый сертификат в отдельный файл. Нет необходимости конвертировать их в DER перед импортом с помощью keytool.

Вы также можете использовать мой инструмент, https://code.google.com/p/java-keyutil/, который может импортировать составные файлы PEM прямо в файлы JKS.

person Alastair McCormack    schedule 22.02.2013