namecheap positive ssl / certificate chain/ java jks storage

Mar 27, 2020 01:03

Если ктo использует эти дешёвые сертификаты и желает запихнуть всю цепочку в jks storage, то ниже инструкция. Потратил некоторoе количество времени, пока клиенты не начали корректно распознавать всю цепь и оставляю себе здесь на заметку.

1. Заберите себе корневой сертификат COMODOCertificationAuthority.crt

2. Прилепите к positive ssl сертификату полученному от namecheap, цепь промежуточных сертификатов:

cat api_example_com.crt api_example_com.ca-bundle > api-example-chain.crt
Проверьте получившийся файл, нужно чтобы строки -----END CERTIFICATE----- и -----BEGIN CERTIFICATE----- не слипались. Разбейте их новой строкой, в случае чего, иначе openssl будет скандалить.

3. Экспортируем всю цепь вместе с приватным ключом в формат p12.

openssl pkcs12 -export -in api-example-chain.crt -inkey api-example.key -out api-example.p12 -name api.example.com -CAfile COMODOCertificationAuthority.crt -caname root

4. теперь импортируем всё в java keystore:

keytool -importkeystore \
-deststorepass changeit -destkeypass changeit -destkeystore example-keystore.jks \
-srckeystore api-example.p12 -srcstoretype PKCS12 -srcstorepass changeit \
-alias api.example.com

5. Проверяем :
openssl s_client -showcerts -connect api.example.com:443

s_client должен пролистать всю цепь, сначала должен показаться свежевыданый сертификат, потом промежуточные. Ещё удобно проверять всякими онлайновыми сервисами, типа этого.

java, ssl

Previous post Next post
Up