В настоящее время я работаю над проектом, в котором я создал сертификат CA и пару дочерних сертификатов для этого сертификата CA. Сертификаты будут использоваться для защиты межсерверной связи в настройке SAMLV2, поэтому я собираюсь получить сертификат для поставщика удостоверений и сертификат для поставщика услуг. Пользователь/браузер не собирается проверять сертификаты, так что это только серверы, которым нужно доверять мой пользовательский ЦС. Мое дерево cert выглядит примерно так:
- CustomRootCACert
- CustomIdentityProviderCert
- CustomServiceProviderCert
Теперь я слышал, как многие говорили, что плохо использовать домашний сертификат на производстве. Но когда я спрашиваю, почему, люди обычно что-то бормочет о безопасности, но никогда не заходят в подробности. Существуют ли технические причины не использовать мои собственные сертификаты в производстве? Я не могу придумать никаких... Конечно, я понимаю, что если я потеряю контроль над своим корневым сертификатом, любой может начать создавать всевозможные сертификаты. Но в этом случае они также должны будут установить сертификаты на своих серверах и настроить приложение saml для их использования. Только тогда они могут начать генерировать поддельные запросы saml и ответы на мои приложения.
Если это единственная проблема, это решение (с использованием самодельных сертификатов в производстве) будет по-прежнему лучше, чем установка для входа в систему, которую мы имеем сегодня.