web-dev-qa-db-ja.com

SSLサーバー証明書の拡張

X.509 v3拡張機能について質問があります。 SSLサーバーの適切な証明書に表示される拡張機能は何ですか?

9

SSLサーバー証明書には厳密に拡張は必要ありませんが、some拡張は次の場合にのみ役立ちます。

  • Authority Key Identifier拡張機能は、クライアントが証明書を発行CAとリンクするのに役立ちます。
  • A CRL Distribution Points拡張子(重要ではない)を使用して、CRLが見つかるはずのURLを指す必要があります。
  • Authority Information Access拡張子を使用して、発行CA自体の証明書へのポインタ(URL)を含めることができます。該当する場合、同じ内線がOCSPレスポンダを指すことができます。
  • もし Key Usage拡張が使用されています。これには、RSAキーがTLS_RSA_ *暗号スイートで使用するkeyAgreementおよびkeyEncipherment、RSAおよびDSAキーがdigitalSignatureで、TLS_DHE_ *暗号スイートで使用するためのフラグが含まれている必要があります(keyAgreementまたはkeyEncipherment RSAベースの鍵交換の場合に使用する必要があるため、両方のフラグを含めるのが最も安全です)。
  • 正式に定義された証明書ポリシーがある場合は、パス(OID +ダウンロードURL)へのポインターをパス内のすべての証明書に含めるか、少なくともSSLサーバー証明書自体を使用します。これにより、紛争が発生した場合に法的保護が得られます。
  • Subject Alt Name拡張子は、SSLサーバー名を示すために使用する必要があります。そのような拡張機能がない場合、すべてのブラウザーは、subjectDNのCNコンポーネントにフォールバックしますが、この拡張機能は、名目上は「推奨」されます(詳細は RFC 2818 を参照)。

もちろん、これらの拡張機能はすべて発行元のCAによって強制されることになっているため、既にCAを持っている場合は、ここで追加の質問をする必要はありません。

疑問がある場合は、 インターネットX.509 PKIプロファイル を参照してください。プロファイルは、道徳的に従うべきことを定義します。完全に準拠していれば、証明書はどこでも機能します。ブラウザは実際にはそれよりはるかに寛大です。

11
Thomas Pornin