web-dev-qa-db-ja.com

SSL証明書のタイプとキーの使用法

OpenSSLを使用してCSRを作成し、それを自分のCA(Microsoft PKIを使用)に送信して、サーバー認証とクライアント認証の両方に使用できる証明書を受け取りたいです。 keyUsagensCertTypeの間のリンクである可能性があるいくつかのことについては明確ではありません。

  1. CSR keyUsage = digitalSignature、keyEnciphermentおよびextendedKeyUsage = serverAuth、clientAuthに含めるだけで十分ですか?
  2. 署名CAは、これらの要求された属性を無視して、サーバー認証の使用のみを許可することを選択できますか?
  3. nsCertTypeはリクエスト(CSRなど)に使用されますか、それともOpenSSLを使用して証明書に署名する場合にのみ使用されますか?

よろしく、マイク

8
Mike

nsCertTypeは古いNetscape固有の拡張機能で、Netscapeブラウザがまだ存続していたときに使用されていました。今日は忘れられます。

署名CAは、原則として、適切と思われる方法で動作します。証明書には何でも入れられます。証明書リクエストはsuggestionにすぎません。要求から公開鍵を取得して証明書でその公開鍵を使用するために、多かれ少なかれCAに頼ることができます。それより少ないもの(名前、キーの使用法、その他の拡張機能を含む)の場合、これは完全にCAが決定します。 MicrosoftのCertificate Servicesはその構成に「証明書テンプレート」を使用し、テンプレートは証明書の内容を決定します。私自身のテストによると、証明書に入力したキー使用法と拡張キー使用法は完全に無視されます。

クライアント認証やサーバー認証に必要な拡張機能は、関連するソフトウェアによって異なります。あなたは私の過去の散文にいくつかの情報を見つけるでしょう。 thisthis および that

9
Thomas Pornin