Назад | Перейти на главную страницу

несколько сертификатов в файле?

У меня есть файл, содержащий:

-----BEGIN CERTIFICATE-----
(many lines of 64 bytes)
-----END CERTIFICATE-----

я использую keytool.exe -printcert -file (myfile) он выводит так

Certificate[1]:
Owner: CN=www.mydomain.xxxxxx  

(bah bah bah............)  
(bah bah bah............)  

Certificate[2]:
Owner: CN=Thawte SSL CA, O="Thawte, Inc.", C=US  

(bah bah bah............)  
(bah bah bah............)  

Certificate[3]:
Owner: CN=thawte Primary Root CA, OU="(c) 2006 thawte, Inc. - For authorized use only", OU=Certification Services Division, O="thawte, Inc.", C=US  

(bah bah bah............)  
(bah bah bah............)  

Это нормально, что он содержит 3 сертификата?
Это называется цепочкой сертификатов?
Что мне делать, если я хочу импортировать этот файл в keystore?
Я пробовал снова и снова использовать

keytool.exe -import -alias (myalias) -trustcacerts -file (thisfile)  -keystore (mykeystore)`  

но он продолжает говорить мне

 java.lang.Exception: Input not an X.509 certificate

В keytool требует, чтобы цепочки сертификатов были предоставлены в PKCS # 7 формат (обычно .p7b расширение файла), но у вас оно как PEM файл (который скорее используется такими программами, как Apache, nginx и т.д.).

Из keytool руководство (-importcert вариант):

-importcert:
Читает сертификат или цепочку сертификатов (где последний предоставляется в формате ответа PKCS # 7) ...


Для преобразования файла вы можете использовать openssl утилита (если она есть под рукой):

openssl crl2pkcs7 -certfile cert.pem -out cert.p7b -nocrl

куда cert.pem это ваш текущий файл сертификата и cert.p7b тот, который нужно использовать для импорта.