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

Как мне убедиться, что stunnel отправляет все промежуточные сертификаты CA?

Некоторые компьютеры, но не большинство, отклоняют сертификат SSL с моего веб-сервера. Проблема, похоже, в том, что некоторые компьютеры отклоняют сертификаты CA. Проблема, похоже, проявляется в Mac OS X 10.6, когда она не полностью обновлена.

В соответствии с http://www.sslshopper.com/index.php?q=ssl-checker.html#hostname=beta.asana.com -- нет проблем.

В соответствии с http://certlogik.com/sslchecker/, промежуточные сертификаты не отправляются.

Мой сертификат от Starfield Technologies, и я использую sf_bundle.crt отсюда: certs.godaddy.com/anonymous/repository.seam

Я обрабатываю SSL на своем сервере через stunnel со следующим stunnel.conf:

cert = $CODEZ/admin/production/proxy/asana.pem
CAfile = $CODEZ/admin/production/proxy/sf_bundle.crt
pid =
client = no

[<forwarded port>]
accept = 443
connect = 8443

Есть идеи, что я мог делать неправильно?

В CAFile опция настраивает CA для использования сертификатов аутентификации клиентов; это не то, что вы хотите.

Вместо этого вы хотите создать файл в cert возможность содержать всю применимую цепочку сертификатов. Вы захотите сохранить резервную копию этого файла, а затем создать новую; в основном объединение двух файлов, отформатированных следующим образом:

-----BEGIN CERTIFICATE-----
(certificate from asana.pem file pasted here)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(intermediate certificate here; copy-paste the top chunk from the bundle)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
(root certificate here; copy-paste the bottom chunk from the bundle)
-----END CERTIFICATE-----

Это заставит stunnel предоставить клиентам полную цепочку сертификатов.

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

Редактировать: Хорошо ... цепочка этого пакета сертификатов состоит из трех частей, но цепочка доверия выглядит как две. Что-то не так.

Верхний сертификат («Центр сертификации Starfield Secure») подписан эмитентом с именем «Центр сертификации класса 2 Starfield» с отпечатком пальца, начинающимся с ad7e1c28.. но второй сертификат в пакете, названный точно так же, как подписавший первый сертификат, который должен быть тем же самым сертификатом, имеет отпечаток, начинающийся с 363e4734, и срок годности 10 лет назад. Тогда третий (корневой) сертификат является лицом, подписывающим включенный промежуточный сертификат .. но ни один из этих двух не имеет никакого отношения к первому!

Если это не имело смысла, не волнуйтесь. Резюме: небрежная работа, кто-то серьезно отказался от сборки этого пакета сертификатов. Поэтому лучше всего экспортировать файлы в формате base-64 из браузера, который успешно проверяет цепочку, вставляя их в формат, который я указал оттуда.

Поскольку это запутанный беспорядок не по вашей вине, я угадал ваше DNS-имя и взял сертификат, и я думаю, что это должна быть полная цепочка, которая вам нужна: http://pastebin.com/Lnr3WHc8

Для всех, кто столкнулся с этой проблемой, сообщение Шейна помогло, хотя мне также пришлось включить CAFile. Также при создании цепочки убедитесь, что вы следуете инструкциям по именованию файлов в соответствии с Эта статья

Чтобы определить имя файла, которое вы должны использовать, вы можете использовать программу c_hash, которая поставляется с OpenSSL (в /usr/local/ssl/misc каталог):

c_hash some_certificate.pem
a4644b49.0 => some_certificate.pem

Итак, в приведенном выше случае вы бы переименовали файл в a4644b49.0.
(Обратите внимание, что после точки в имени файла стоит ноль, а не буква «О».)

Если у вас нет c_hash В программе вы можете запустить соответствующую команду OpenSSL, чтобы определить значение хэша:

openssl x509 -hash -noout -in some_certificate.pem
a4644b49

И если вы столкнулись с этой проблемой, так как вы пытаетесь использовать веб-сокеты с Android Cordova, обязательно вручную добавьте wss в свой белый список Cordova, поскольку * включает только http и https.

Qualys SSLLabs действительно удобен для проверки вашей конфигурации после изменений.

https://www.ssllabs.com/ssldb/analyze.html

Проверки, которые у вас есть

  • сильные шифры включены
  • слабые шифры отключены
  • цепочка сертификатов завершена и в правильном порядке