Я не понимаю, что еще я мог бы попробовать, чтобы отладить эту проблему с помощью SSL-сертификата Starfield Wildcard.
Проблема в том, что в некоторых браузерах (например, Safari или наиболее обновленный Chrome, который вы можете получить для OS X 10.5.8) сертификат оказывается ненадежным даже в корневом домене.
Моя настройка сервера / фоновая информация:
Строки ssl.conf в основном следующие:
SSLCertificateFile /path/to/cert/mysite.com.cert
SSLCertificateKeyFile /path/to/cert/mysite.key
SSLCertificateChainFile /path/to/cert/sf_bundle.crt
Казалось бы, все работало нормально до той ночи, когда я заметил проблему в OS X, я предполагаю, что это больше связано с версией браузера, но мне удалось воспроизвести ее только на этой конкретной машине.
Что я пробовал:
Что я могу попробовать дальше, чтобы исправить проблему с ненадежным сертификатом?
Сообщите мне, если потребуется дополнительная информация, которая может помочь в устранении этой проблемы. Заранее спасибо!
Решение:
My problem ended up being that I had forgotten to add the SSLCertificateChainFile line to the virtual host(s) in my httpd.conf and had only been editing those lines in ssl.conf instead, thanks for all the suggestions!
Вы можете сделать две вещи:
Как показывает ошибка, что-то не так с вашей промежуточной цепочкой сертификатов. Вы должны проверить, откуда вы взяли сертификат и что у вас есть правильный промежуточный пакет.
Вы должны проверить "хэш" и "хэш эмитента" каждого сертификата в цепочке с помощью openssl x509 -noout -hash
и openssl x509 -noout -issuer_hash
команды. Попробуйте это, чтобы получить хэш эмитента вашего сертификата:
cat /path/to/cert/mysite.com.cert | openssl x509 -noout -issuer_hash
Затем попробуйте найти сертификат с этим хешем в sf_bundle.crt
файл, который вы указали как SSLCertificateChainFile
. Возможно, вам придется извлечь сертификаты (или просто скопировать и вставить их в команду):
cat first_cert_from_sf_bundle.crt | openssl x509 -noout -hash
Проверьте их все. Если ни у кого нет этого хеша, значит, тут что-то не так. Продолжайте выполнять эти проверки, пока не найдете сертификат с таким же -hash
и -issuer_hash
. Это ваш корневой сертификат.
Если чего-то не хватает, вы можете проверить другие промежуточные файлы здесь https://certs.starfieldtech.com/anonymous/repository.seam. Загрузите их и сравните их -hash
против -issuer_hash
где ты застрял.
Если все в порядке, то ....
Я видел, что это также помогает, когда вы получаете странные ошибки проверки. Убедитесь, что в вашей промежуточной цепочке только необходимые сертификаты и в правильном порядке (проще, если оно будет в формате PEM). Другими словами, если ваша сеть Your cert -> cert A -> cert B -> Starfield Root cert
. Попробуйте добавить эти в этом порядке (вы можете пропустить первую и последнюю), поэтому ваша промежуточная цепочка будет выглядеть примерно так:
-----BEGIN CERTIFICATE-----
cert A
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
cert B
-----END CERTIFICATE-----
Мне лично нравится хранить все эти сертификаты (персональный сертификат, затем промежуточные, а затем корневой сертификат) в одном файле. Затем я просто указываю этот файл как SSLCertificateFile
и SSLCertificateChainFile
.