Итак, я пошел по пути настройки корпоративного центра сертификации в моем домене, чтобы мы могли включить SSL во внутренних веб-приложениях. В качестве тестовой базы я использую XAMPP в Windows с полным доменным именем .local. Я использую службы сертификации Microsoft Active Directory для ЦС.
После (многих) испытаний и невзгод я получил в основном работающий пример. Итак, веб-приложение работает в IE, Edge и Chrome, но не работает в Firefox.
Ошибки Firefox:
Предупреждение: впереди потенциальная угроза безопасности. Код ошибки:
SEC_ERROR_UNKNOWN_ISSUER
Не удалось проверить этот сертификат, поскольку издатель неизвестен.
Я тестировал это на нескольких рабочих станциях с одинаковыми результатами. Firefox - последняя версия.
Я не получаю ошибок при загрузке сертификата в openssl:
openssl x509 -in "C:\xampp\apache\conf\ssl.crt\certname.crt"
При запуске я получаю две ошибки ниже:
openssl s_client -connect server.local:443
ошибка проверки: число = 20: невозможно получить сертификат местного эмитента
ошибка проверки: число = 21: невозможно проверить первый сертификат
У меня есть возможность загрузить «Цепочку сертификатов» из моего центра сертификации, но она имеет формат .p7b. Содержимое этого единого сертификата.
Когда я конвертирую файл в .crt или даже использую .p7b в httpd-xampp.conf, Apache не запускается впоследствии. Он отлично запускается без записи ниже.
SSLCertificateChainFile "conf / ssl.crt / chain-cert.crt"
Любые идеи?
Согласно документации Mozilla, начиная с FF64, рекомендуемый способ установки сертификатов - через политику предприятия. Из-за (в настоящее время) открытой ошибки вам необходимо вручную установить все промежуточные сертификаты, а также корень.
Вы можете скачать шаблоны GPO Firefox отсюда: https://github.com/mozilla/policy-templates/tree/master/windows
Вы можете протестировать индивидуально, установив для параметра security.enterprise_roots.enabled значение true в about: config.
Более подробную информацию можно найти здесь: https://wiki.mozilla.org/CA/AddRootToFirefox