私は現在、CA証明書とそのCA証明書の子証明書をいくつか作成したプロジェクトに取り組んでいます。証明書は、SAMLV2セットアップでサーバー間の通信を保護するために使用されるため、IDプロバイダー用の証明書とサービスプロバイダー用の証明書を用意します。ユーザー/ブラウザーは証明書を検証しないため、カスタムCAを信頼する必要があるのはサーバーのみです。私の証明書ツリーは次のようになります。
- CustomRootCACert
- CustomIdentityProviderCert
- CustomServiceProviderCert
今では、自家製の証明書を本番環境で使用するのは悪いと多くの人が言っています。しかし、私が理由を尋ねると、人々は通常、セキュリティについて何かをつぶやくだけで、詳細には決して入りません。自分の証明書を本番環境で使用しない技術的な理由はありますか?何も考えられません...もちろん、ルート証明書の制御を失うと、だれでもあらゆる種類の証明書の作成を開始できることに気付きます。ただし、この場合、サーバーに証明書をインストールし、それらを使用するようにsamlアプリケーションを構成する必要があります。そうして初めて、彼らは私のアプリケーションへの偽のsamlリクエストとレスポンスを生成し始めることができました。
これが唯一の問題である場合、このソリューション(本番環境で自家製の証明書を使用)は、現在のログイン設定よりも優れています。