ローカルホストではなくピアツーピア通信(あるマシンから別のマシンへ)に対して相互SSL認証を行う必要がありました。これは、 ValidateServerCertificateおよびValidateClientCertificateコールバックを持つSslStreamクラスBeginAuthenticateAsServerおよびBeginAuthenticateAsClientと共にMicrosoft.Netソケット通信クラスを使用して非同期的に行われます。このために、私は以下で構成される自己署名証明書を作成しました
• ルート証明書
• サーバー証明書
• クライアント証明書
前述の証明書を生成するために、makecert.exe と pvk2pfx.exe をフォルダーに配置し、以下のコマンドを実行しました。
ルート証明書作成コマンド
- .cer を作成し、秘密鍵を生成するには
makecert.exe -n "CN=abc.com" -r -pe -a sha512 -len 4096 -sky 署名 -cy 権限 -sv RootCert.pvk RootCert.cer
- .cer と秘密鍵を使用して .pfx を作成するには
pvk2pfx -pvk RootCert.pvk -spc RootCert.cer -pfx RootCert.pfx -po test123
サーバー証明書作成コマンド
- .cer を作成し、秘密鍵を生成するには
makecert.exe -pe -n "CN=abc.com" -a sha512 -sky exchange -eku 1.3.6.1.5.5.7.3.1 -ic RootCert.cer -iv RootCert.pvk -sp "Microsoft RSA SChannel 暗号化プロバイダー" -sy 12 -sv ServerCert.pvk ServerCert.cer
- .cer と秘密鍵を使用して .pfx を作成するには
pvk2pfx -pvk ServerCert.pvk -spc ServerCert.cer -pfx ServerCert.pfx -po test123
クライアント証明書作成コマンド
- .cer を作成し、秘密鍵を生成するには
makecert.exe -pe -n "CN=abc.com" -a sha512 -sky exchange -eku 1.3.6.1.5.5.7.3.2 -ic RootCert.cer -iv RootCert.pvk -sp "Microsoft RSA SChannel 暗号化プロバイダー" -sy 12 -sv ClientCert.pvk ClientCert.cer
- .cer と秘密鍵を使用して .pfx を作成するには
pvk2pfx -pvk ClientCert.pvk -spc ClientCert.cer -pfx ClientCert.pfx -po test123
相互ピア間認証の場合、これらの証明書を MMC コンソールのどこに置く必要がありますか? これらをローカル マシン ストアまたは現在のユーザー ストアにインストールする必要がありますか?
前もって感謝します