2017-01-01 21 views
0

У меня есть файл JKS, созданный для Confluence, который уже содержит мой закрытый и открытый ключ. Он отлично работает с большинством браузеров, хотя одна небольшая проблема. На sslshopper Я получаю следующее сообщение:Установка сертификата промежуточной/цепочки с помощью инструмента Java Key

Сертификат не верит во все веб-браузеры. Возможно, вам понадобится установить сертификат промежуточной/цепочки, чтобы связать его с доверенным корневым сертификатом .

Я получил CA цепь + Root от Comodo, прочитал и попытался следующее:

keytool -importcert -keystore fecru.jks -storepass SECRET -trustcacerts -alias chain -file cachain.bundle 

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

Что мне не хватает?

+0

Возможно, у вашего файла с цепочкой цепочек есть несколько сертификатов. IIRC, «keytool» не может иметь дело с пакетами, только с одиночными сертификатами, поэтому он, вероятно, импортировал первый сертификат в комплект и проигнорировал остальные. Что показывает вам 'keytool -list -v -keystore [yourkeystore]'? –

+0

Я также попытался добавить их все отдельно. такие же результаты. У меня есть 4 псевдонимы прямо сейчас. 1 для самого сертификата, 1 для корня и еще 2 для промежуточного. – JustAGuy

ответ

1

Вот что я имею в своем чит-листе «Java TLS с Keystores», который мне нужно постоянно ссылаться, потому что по какой-то причине, если вы не делаете это отлично, ничего не работает.

  1. Генерация ключа сервера (и само-подписанный сертификат)

    $ keytool -genkey -keyalg RSA -sigalg SHA256withRSA -keysize 4096-alias ${HOSTNAME}-keystore ${HOSTNAME}.jks

  2. Создать запрос на подпись сертификата (CSR)

    $ keytool -certreq -sigalg SHA256withRSA -keystore ${HOSTNAME}.jks

  3. Получите ваш CSR, подписанный центром сертификации (CA)

  4. Импорт сертификатов обратно в хранилище ключей, начиная с корневого сертификата ЦС и спускаясь цепочку обратно сертификата вашего сервера

    $ keytool -import -alias [Authority.CA] -trustcacerts -file [authority's CA cert] -keystore ${HOSTNAME}.jks

    $ keytool -import -alias [Authority.intermediate] -trustcacerts -file [authority's intermediate cert] -keystore ${HOSTNAME}.jks

    $ keytool -import-alias ${HOSTNAME}-file ${HOSTNAME}.crt -keystore ${HOSTNAME}.jks

Я всегда делаю резервную копию хранилища ключей после того, как создаю ключ моего сервера на случай, если что-то сломаю.

Несколько вещей критически важны:

  1. Не забывайте использовать в пунктах 1 и 4се те же alias (импортирования подписанного сертификата вашего сервера) выше
  2. Не забудьте установить атрибут keyAlias в Tomcat-х <Connector> к тому же значению, которое вы использовали для сертификата своего сервера (опять же, с теми же значениями, что и шаги 1 и 4с выше)

I настоятельно рекомендуем использовать инструмент Qualys's SSLTest для тестирования вашего сайта. Это самый полный инструмент тестирования, который я знаю, и он не пытается продать вам что-либо.