1. ホーム
  2. ssl

[解決済み] 共通名(CN)と件名代替名(SAN)はどのように連携するのですか?

2023-04-11 03:14:39

質問

SSL証明書のサブジェクト代替名(SAN)プロパティに2つのDNS名が含まれていると仮定します。

  1. domain.tld
  2. host.domain.tld

が、コモンネーム(CN)はどちらか一方にしか設定されていません。 CN=domain.tld .

  • この設定には特別な意味や、両方の CN を設定することの [不]利点がありますか?
  • もう一方のCNを設定した場合、サーバーサイドでは何が起こるのでしょうか。 host.domain.tld が要求されている場合、サーバーサイドはどうなるのでしょうか?

具体的には、どのように OpenSSL 0.9.8b+ を使用しています。 は与えられたシナリオをどのように扱うのでしょうか?

どのように解決するのですか?

これは実装によりますが、一般的なルールとして、ドメインはすべてのSANとコモンネームを照合します。そこでドメインが見つかれば、その証明書は接続に問題ありません。

RFC 5280 4.1.2.6項では、「サブジェクト名は、サブジェクトフィールドおよび/またはsubjectAltName拡張子で伝達してもよい(MAY)」と述べています。これは、ドメイン名が、証明書のSubjectAltName拡張子とSubjectプロパティ(つまり、コモンネームパラメータ)の両方と照合されなければならないことを意味します。この2箇所は互いに補完し合うものであり、重複するものではありません。そして、SubjectAltName は、以下のような追加の名前を入れるのに適切な場所です。 www .domain.com、または www2 .ドメイン.com

更新情報:以下の通り RFC 6125 によると、バリデータはまずSANをチェックしなければならず、SANが存在する場合はCNをチェックすべきではない。RFC 6125は比較的最近のものであり、CNにメインドメイン名、SANに代替ドメイン名を含む証明書や証明書を発行するCAがまだ存在することに注意してください。つまり、SAN が存在する場合、CN を検証から除外することで、そうでなければ有効な証明書を拒否することができるのです。