Возникли проблемы с использованием существующих сертификатов Entrust для соединения Jetty SSL - PullRequest
2 голосов
/ 23 августа 2011

У меня есть три файла от Entrust: * .csr, * .key и * .crt.

Пока:

  1. Я перенес * .key и * .crt в хранилище ключей PKCS12, используя OpenSSL
  2. Я импортировал * .pkcs12 в хранилище ключей, используя keytool
  3. Используя эту технику, я могу использовать SSL-соединение с Jetty

Однако в IE возникает ошибка сертификата (незащищенные элементы в Chrome).

В нашем случае сертификаты в настоящее время используются для домена: 80 (Apache), и я пытаюсь «повторно использовать» их для домена: 8443 (Jetty).

Я ошибаюсь, полагая, что могу использовать их и для Пристани? На тот же IP / домен, но на другой порт и веб-сервер? Моя интуиция говорит мне, что один из этих файлов относится к Entrust, распознающему Apache (* .csr), и что я должен сделать то же самое для Jetty?

Редактировать # 1

Ошибка выглядит следующим образом:

Certificate Error

Untrusted Certificate

The security certificate presented by this webiste was not issued by a trusted certificate authority

This problem may indicate an attempt to fool you or intercept any data you send to the server.

We recommend that you close this webpage.

Но все же Chrome считает его действительным. Мне нужно работать с IE, так как это наш стандарт.

Редактировать # 2

  1. Хром не жалуется
  2. Также не Firefox

Редактировать # 3

Я нашел наш сертификат CA, указанный в файле конфигурации Apache. Затем я приступил к объединению нашего сертификата с сертификатом CA в файл PKCS12. Затем, используя keytool, я сгенерировал хранилище ключей.

Я загрузил его на сервер, перезагрузил и просмотрел в IE. IE по-прежнему показывает проблему с сертификатом.

В объединенном файле я вижу в следующем порядке: наш сертификат, а затем еще 2 сертификата.

В дополнение к этому, я позвонил в Entrust, и CSR не увидел никаких проблем, когда он использовал IE 8. Мы находимся на IE7.

Редактировать # 4

Используя эту команду:

keytool -list -keystore keystore -v

Показывает 3 сертификата (в этом порядке):

  1. Ours
  2. Владелец: CN = доверенный центр сертификации - L1C,
  3. Владелец: CN = Entrust.net Центр сертификации (2048)

Редактировать 5

Решено! Я думаю, у меня была проблема с кэшированием. Подтверждено с коллегами.

Ответ. Объединение всех моих сертификатов, включая сертификат CA, в хранилище ключей решило мою проблему.

1 Ответ

0 голосов
/ 25 августа 2011

Номер порта, как указано в комментариях, не имеет значения для доверия соединению SSL / TLS.

Проблема в том, что вся цепочка сертификатов от вашего сертификата до корня Entrust, вероятно, выглядит следующим образом

your cert - intermediate CA 1 - intermediate CA 2 - ... - root CA

Чтобы это работало для IE, вам нужно импортировать не только ваш сертификат в контейнер PKCS # 12, но и промежуточные сертификаты, а также корневой сертификат. В противном случае ваша реализация SSL не сможет предоставить полный путь во время рукопожатия SSL, и поэтому у IE нет средств для создания правильной цепочки для сравнения с его набором доверенных корневых сертификатов.

Поэтому я бы посоветовал получить промежуточные сертификаты с соответствующих веб-сайтов и импортировать их с keytool в ваше хранилище ключей PKCS # 12.

После этого IE должен с тех пор принять его без жалоб.

...