私の状況は次のとおりです。
私はすべての開発者のマシンにインストールされるSSL証明書と、2つの内部サーバー(すべてが非実稼働)を作成しようとしています。
これらすべての場所にインストールできる証明書を作成するには、何をする必要がありますか?
今、Microsoft Visual Studio 8\SDK\v2.0\Binのmakecertアプリケーションを使用して、これらの行に沿って何かを持っています:
makecert -r -pe -n "CN=MySite.com Dev" -b 01/01/2000 -e 01/01/2033 -eku 1.3.6.1.5.5.7.3.1 -ss Root -sr localMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 mycert.cer
ただし、この.cerファイルを他のコンピューターに配置する方法がわかりません。ローカルマシンIISにインストールすると、https:を介してページにアクセスするたびに、セキュリティプロンプトが表示されます( '証明書をインストールしました)。誰もこれをやったことがありますか?
これを行うためのスクリプトは次のとおりです。
自己署名証明書(-r)を作成し、エクスポート用の秘密キー(-pe)を使用して、SHA1(-r)を使用して署名(-sky署名)します。秘密鍵はファイルに書き込まれます(-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交換)に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をインストールします。ドメインを使用している場合は、Windowsグループポリシーを使用してこれをグローバルに実行できます。そうでない場合は、certmgr.mscMMC snapin、またはcertutilコマンドラインユーティリティ:
certutil -user -addstore Root CA.cer
プログラムでIIS 6.0に証明書をインストールする場合は、 このMicrosoft KB記事 をご覧ください。IIS 7.0、わからない。
証明機関を作成するときは、-cy authority
をスイッチに追加する必要があります。そうしないと、一部の証明書ストアでは適切なCAとして認識されません。