質問: マルチドメインのためのCSRの生成 マルチドメインのCSRを生成する方法 私は、単一ドメインのためにCSRを生成することが以下の通りであることを発見しました: ``` openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr ``` しかし、どのようにしてCSRマルチドメイン
回答: X.509証明書が複数のドメインをサポートするには、 RFC 2818に従って、複数のSubject Alternative Name DNSエントリを使用する必要がありますHTTP over TLS)(またはRFC 6125): > dNSName型のsubjectAltName拡張が存在する場合、それはMUST > アイデンティティとして使用することができます。それ以外の場合は、(最も具体的な)共通名 > 証明書のSubjectフィールドのフィールドを使用しなければなりません。しかし、 > 共通名の使用は既存の慣習であり、非推奨であり、 > 証明機関は代わりにdNSNameを使用することをお勧めします。 > > > > 一致は、で指定された一致規則を使用して実行されます。 > [RFC2459]。与えられたタイプのアイデンティティが複数存在する場合 > 証明書(例えば、複数のdNSName名、いずれか1つの一致 > ) > > この文書で説明されているように(ただし、 `-des3` を `> genrsa` コマンドを使用して、秘密鍵を保護します)。 * Make a copy your initial `openssl.cnf` file (the original is probably somewhere under `/etc` on Linux). * Edit it to add `req_extensions = v3_req` in the `[ req ]` section. * Edit it to add `subjectAltName=DNS:www.example.com,DNS:www.other-example.com` (one `DNS:` entry per host name you require) in the `[ v3_req ]` section. * Make OpenSSL use that configuration file. Call it with `OPENSSL_CONF=/path/to/your/openssl.cnf openssl req ...` これは、CSRの拡張を設定することについてあまり心配しないと言われています。良いCAは、あなたがCSRに設定したものを無視し、実際の証明書を発行するときに実際に検証したものだけを設定する必要があります。件名DN(例:国、組織など)のRDNと拡張機能(SANまたはKey Usage)をうまく置き換えます。第一に、申請者がCSRで要求されたとおりに延長を許可した場合、実際に何らかの申請者が何かを得る可能性があるため、これはセキュリティ上のリスクになります。第2に、余計なお金を稼ぐ方法です。ここでは、コードの拡張子など、いくつかのビットを設定して料金を請求します。証明書で支払ったものだけを受け取れるようにします。しかし、私はあなたのCSRにあなたが要求するすべての名前を入れたいと思うかもしれないと理解しています。