В этом посте будет слишком много 🙉 вероятно это раздражает, но ничего не поделаешь 🙊 Провожу тайный эксперимент в Dokuwiki 🙈
В примере будет сертификат Sectigo (Comodo) 🔒
Сначала нужно собрать цепочку сертификатов (CA Bundle) ⛓
$ cat foobar_com.crt foobar_com.ca-bundle > ssl_bundle.crt
В зависимосте от типа сертификата в архиве могут быть другие файлы:
В этом случае команда выглядит так
$ cat foobar_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > ssl_bundle.crt
Да, так советует делать инструкция от Comodo. Но в таком случае на SSLLabs будет предупреждение Chain issues - Contains anchor. Поэтому AddTrustExternalCARoot.crt нужно исключить 🤯 и правильная команда выглядит так
$ cat foobar_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > ssl_bundle.crt
Далее нам нужен файл, содержащий сертификаты (корневой+промежуточный) для проверки ответов OCSP
$ cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt > foobar_com_ocsp.crt
Если нужно скачать сертификаты 🤷♂️
Пример конфигурационного файла для OCSP stapling
server {
listen 443 ssl;
server_name foobar.com;
ssl_certificate /etc/ssl/foobar_com.crt;
ssl_certificate_key /etc/ssl/foobar_com.key;
ssl_trusted_certificate /etc/ssl/foobar_com_ocsp.crt
ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 8.8.8.8 valid=300s ipv6=off;
resolver_timeout 5s;
}
Слишком маленькое значение resolver_timeout (менее 5 секунд) может вызвать ошибку 🧙
"ssl_stapling" ignored, host not found in OCSP responder "ocsp.comodoca.com"
Если настроен фаервол, то не забудьте разрешить вашему серверу исходящие соединения к OCSP URL.
Узнаем OCSP URL
$ openssl x509 -in /etc/ssl/foobar_com.crt -noout -ocsp_uri http://ocsp.comodoca.com
Адрес OCSP сервера - http://ocsp.comodoca.com
Раз уж теперь известен OCSP сервер, то можно провести тест через консоль с openssl.
$ openssl ocsp -issuer intermediate.crt -cert foobar_com.crt -url http://ocsp.comodoca.com -no_nonce
Успешный вывод команды выглядит так
Response verify OK
/etc/ssl/foobar_com.crt: good
This Update: Apr 29 04:51:34 2020 GMT
Next Update: May 6 04:51:34 2020 GMT
Если вдруг Responder Error: unauthorized, то читаем RFC5019
Также рекомендую очень полезную статью - Настройка и оптимизация OCSP
🏁