これを行うためのスクリプトは次のとおりです。
認証局の作成
自己署名証明書 (-r) をエクスポート可能な秘密鍵 (-pe) で作成し、署名 (-sky 署名) のために SHA1 (-r) を使用します。秘密鍵はファイル (-sv) に書き込まれます。
makecert -r -pe -n "CN=My Root Authority" -ss CA -sr CurrentUser ^
-a sha1 -sky signature -cy authority -sv CA.pvk CA.cer
(^= バッチコマンドラインで行を折り返すことができます)
サーバー証明書の作成
鍵交換 (-sky exchange) に SHA1 (-a) を使用して、エクスポート可能な秘密鍵 (-pe) でサーバー証明書を作成します。SSL サーバー証明書 (-eku 1.3.6.1.5.5.7.3.1) として使用できます。発行する証明書は、キー (-iv) と同様にファイル (-ic) にあります。特定の暗号プロバイダー (-sp、-sy) を使用します。
makecert -pe -n "CN=fqdn.of.server" -a sha1 -sky Exchange ^
-eku 1.3.6.1.5.5.7.3.1 -ic CA.cer -iv CA.pvk ^
-sp "Microsoft RSA SChannel Cryptographic Provider" ^
-sy 12 -sv server.pvk server.cer
pvk2pfx -pvk server.pvk -spc server.cer -pfx server.pfx
次に、サーバー アプリで .PFX ファイルを使用します (または IIS にインストールします)。pvk2pfx
既定では、出力 PFX ファイルにパスワードが適用されないことに注意してください。-po
そのためには、スイッチを使用する必要があります。
すべてのクライアント マシンがCA.cer を信頼するようにするには、証明書ストア (信頼されたルート認証局ストア) にCA.cerをインストールします。ドメイン上にいる場合は、Windows グループ ポリシーを使用してこれをグローバルに行うことができます。そうでない場合は、certmgr.msc MMC スナップインまたはcertutilコマンドライン ユーティリティを使用できます。
certutil -user -addstore Root CA.cer
プログラムで IIS 6.0 に証明書をインストールするには、この Microsoft KB 記事 を参照してください。IIS 7.0 の場合はわかりません。