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

Установка сертификатов SSL Thawte для tomcat из предварительно сгенерированного закрытого ключа

Я получил кучу SSL-сертификатов, которые мне нужно установить на серверы tomcat, и обычно это достаточно просто. Однако эти сертификаты имеют свои закрытые ключи, созданные в другом месте и переданные вместе с закрытыми ключами и всеми сертификатами SSL.

Keytool не позволяет мне импортировать закрытые ключи напрямую, поэтому я не могу следовать стандартному процессу создания закрытого ключа, а затем отправить его для получения сертификата. Я нашел другой вопрос 'https://stackoverflow.com/questions/906402/importing-an-existing-x509-certificate-and-private-key-in-java-keystore-to-use-i'за которым я смог следить и мне удалось получить хранилище ключей, вроде работы с Tomcat. Однако кажется, что промежуточные сертификаты каким-то образом не связаны должным образом, и поэтому проверки SSL фактически не работают.

Вот что я сделал:

  1. keytool -import -trustcacerts -alias Primary -file Primary.crt -keystore keystore.key
  2. keytool -import -trustcacerts -alias Вторичный -файл Secondary.crt -keystore keystore.key
  3. openssl pkcs12 -export -in domain.crt -inkey domain.key> server.p12
  4. keytool -importkeystore -srckeystore server.p12 -destkeystore keystore.key -srcstoretype pkcs12

Итак, хотя я импортировал первичный и вторичный промежуточные сертификаты, кажется, что они не являются частью цепочки с импортированной цепочкой сертификатов pkcs12.


Сообщение об ошибке от средства проверки SSL

Установите или замените следующие промежуточные сертификаты ЦС на своем веб-сервере или сервере приложений и повторите этот тест.

------ Сертификат 2 ------

- Выдано - Организации: Thawte, Inc.

Организационная единица: SSL с подтверждением домена

Общее название: Thawte DV SSL

Страна CA: США

- Выпущено - Организация: thawte, Inc.

Организационное подразделение: (c) 2006 thawte, Inc. - Только для авторизованного использования.

Организационная единица 2: Отдел сертификационных услуг

Общее имя: thawte Primary Root CA Страна: США

Некоторые приложения (я не могу вспомнить, является ли Tomcat одним из них) предпочитают, чтобы цепочка сертификатов была частью той же записи в хранилище ключей, что и сертификат сервера, а не отдельными элементами.

Для этого сначала удалите два сертификата CA из хранилища ключей:

keytool -delete -alias Primary -keystore keystore.key
keytool -delete -alias Secondary -keystore keystore.key

Затем создайте файл PKCS # 7, содержащий ваш сертификат с его цепочкой CA:

openssl crl2pkcs7 -nocrl -certfile domain.crt -certfile Secondary.crt \
  -certfile Primary.crt -out domain.p7b

Затем импортируйте это в существующее хранилище ключей (это перезапишет сертификат, но сохранит существующий закрытый ключ):

keytool -importcert -alias domain -file domain.p7b -keystore keystore.key 

Убедитесь, что указанный вами псевдоним совпадает с псевдонимом сертификата / ключа, который уже находится в хранилище ключей.

Теперь список хранилища ключей (keytool -list -keystore keystore.key) должен отображать сертификат с его цепочкой CA как одну запись в хранилище ключей.