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

Как подготовить и добавить подстановочный сертификат Godaddy SSL в Wildfly / JBoss

Я провел некоторое исследование того, как подготовить подстановочный сертификат и добавить его таким образом, чтобы его можно было использовать в WildFly / JBoss (я использую WildFly 16, но он должен быть таким же для JBoss).

Файлы, которые у меня есть (и какие они есть - собраны из Определение типов SSL-сертификатов GoDaddy):

Благодаря серии исследований и помощи коллеги я обнаружил, что могу подготовить и добавить сертификаты с помощью следующих команд:

openssl pkcs12 -export -in <series of numbers>.crt -inkey privatekey.txt -out outfile.pkcs12 -name yourdomain.com -CAfile gd_bundle-g2-g1.crt -caname root
<enter a password>
keytool -importkeystore -trustcacerts -deststorepass <newpass> -destkeypass <newpass> -destkeystore new.keystore -srckeystore outfile.pkcs12 -srcstoretype PKCS12 -srcstorepass <password entered above> -alias yourdomain.com

Итак, все это работает, по крайней мере, из браузера. Я могу просматривать страницы, размещенные через WildFly, и они работают нормально, а браузер не сообщает об ошибках SSL. Однако имеющееся у меня приложение, использующее соединения WebSocket, не смогло проверить сертификат. Чтобы разобраться в этом подробнее, я использовал на своем сайте следующее:

openssl s_client -connect yoursite.yourdomain.com:443

В результате получилось следующее:

Verification error: unable to verify the first certificate

Изучив это, я обнаружил, что Firefox выполнит «обнаружение сертификатов» и разрешит цепочку для проверки сертификата сервера, даже если он не был предоставлен. Итак, я пытаюсь определить, чего не хватает ...

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

cat <series of numbers>.crt gdig2.crt.pem > bundle.crt
openssl pkcs12 -export -in bundle.crt -inkey privatekey.txt -out outfile.pkcs12 -name yourdomain.com -CAfile gd_bundle-g2-g1.crt -caname root
<enter a password>
keytool -importkeystore -trustcacerts -deststorepass <newpass> -destkeypass <newpass> -destkeystore new.keystore -srckeystore outfile.pkcs12 -srcstoretype PKCS12 -srcstorepass <password entered above> -alias yourdomain.com

Простое добавление решило проблему. Надеюсь, это поможет кому-то другому!