「Subject Alternative Name」フィールドでmakecert
を使用して証明書を作成するにはどうすればよいですか?
someフィールドを追加できます。たとえば、-ekuオプションを使用して「拡張キー使用法」を追加し、-sanオプションを試しましたが、makecertはそれを好みません。
これは自己署名証明書であるため、IISを使用してCAに送信するものを作成する方法は適切ではありません。
MakecertはSANをサポートしていないようなので、IIS OpenSSLを使用して使用するためにSANで証明書を作成しました。それについての私の投稿を確認してください。
http://andyarismendi.blogspot.com/2011/09/creating-certificates-with-sans-using.html
さらに簡単な方法は、デフォルトでSANを含む)New-SelfSignedCertificate PowerShellコマンドレットを使用することです。単一のコマンドで証明書を作成してストアに追加できます。
New-SelfSignedCertificate -DnsName localhost -CertStoreLocation cert:\LocalMachine\My
管理者としてPowerShellを実行する必要があることに注意してください。
更新
以下のmakecert
メソッドを使用して生成された証明書は、実際には「サブジェクトの別名」を生成しないため、すべてのブラウザーで確実に機能しません。
証明書を調べると、実際にはSubject Alternative Name
フィールドがないが、代わりにCN
フィールドで複数のSubject
が指定されていることがわかります。
例えば。
Subject:
CN = blah.foo.corp
CN = blah
一方、実際の「SAN」証明書は次のようなものになります。
Subject Alternative Name:
DNS Name=blah.foo.corp
DNS Name=blah
「Common Name」の「Subject」フィールドと「Subject Alternative Name」フィールドの違いと履歴を理解するには、 (間もなく)not-so Common Name を読むことをお勧めします。
したがって、makecert
cannotを使用して真の「SAN」証明書を生成しているようであり、openssl
などの他のツールを使用する必要があります。
元の回答:
少なくともVisual Studio 2012に付属しているmakecert
のバージョンでは、カンマ区切りリスト-n "CN=domain1, CN=domain2"
を指定するだけで、複数の件名を指定できます
例えば。 (Technetブログから Makecert.exe SAN and Wildcard certificate )
makecert -r -pe -n "CN=*.fabrikam.com, CN=*.contoso.com" -b 01/01/2010 -e 01/01/2100 -eku 1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2,1.3.6.1.5.5.7.3.3,1.3.6.1.5.5.7.3.4 -ss my -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 -len 2048