内部使用のためにIIS 7.5で自己署名SSL証明書を作成しています。私が抱えている問題は、それが開発環境に過ぎないため、10年間持続するように作成したいということです。
IIS 7.5では、証明書の有効期間を指定できるオプションが表示されません。デフォルトでは、1年で期限切れになる証明書を作成します。
これを変更してそれらを作成し、10年間有効にする方法はありますか?
内部使用のためにIIS 7.5で自己署名SSL証明書を作成しています。私が抱えている問題は、それが開発環境に過ぎないため、10年間持続するように作成したいということです。
IIS 7.5では、証明書の有効期間を指定できるオプションが表示されません。デフォルトでは、1年で期限切れになる証明書を作成します。
これを変更してそれらを作成し、10年間有効にする方法はありますか?
回答:
これSelfSSL.exe
は、IIS6リソースキットに付属のツールを使用して実行できます。リソースキットはここから入手できます。
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17275
インストーラーはツールをフォルダーに解凍するだけで、マシンの設定に干渉しません。また、カスタムインストールオプションを使用すると、インストールするツールを選択して、独自の選択したフォルダに格納できます。
管理者のコマンドラインを開き、SelfSSL
コマンドラインツールをインストールしたディレクトリに移動します。
10年で有効期限が切れる新しい自己署名SSL証明書を生成するには、次を実行します。
selfssl /n:cn=www.mydomain.com / v:3650 / s:8 / k:2048
これにより、SSLが生成されます。
/n:cn=www.mydomain.com
-SSLはですwww.mydomain.com
。cn=
(一般名)はので、それをお見逃しなく重要です。
/v:3650
-証明書が有効な日数、この場合は10年
/s:8
-証明書をサイトIDにインストールします 8
/k:2048
-2048ビットのキー長を使用します。
残念ながら、SSLをファイルに直接出力する方法はありません。サイトにインストールする必要があります。ただし、良いことに、証明書はエクスポート可能です。
自己署名SSLを使用してサイトを閲覧するときにSSLが信頼されていないという警告を表示したい場合は、同様に修正できます。
.pfx
ファイルにエクスポートします(パスワードを設定する必要があり、忘れないようにしてください)mmc certmgr.msc
オプションTrusted Root Certificate Authorities -> Certificates
を参照して右クリックしImport...
ます:
ウィザードに従って、.pfx
インポートするを指定し、[次へ]をクリックします(手順1で設定したパスワードが必要です)。
次のウィザードのステップで、使用するストアを選択する必要があります。ウィンドウBrowse...
を開くボタンをクリックしますSelect Certificate Store
。物理的な店舗を見る必要があるので、チェックマークが付いていることを確認してくださいShow physical stores
:
展開Trusted Root Certificate Authorities
を選択しますLocal Computer
上記の画面キャプチャごとにクリックしOK
、その後とNext >
Finish
ウィザードの最後のステップでボタンをクリックします。すべてが問題なければ、以下が表示されます。
警告と落とし穴:
SelfSSLには、IIS6管理互換性コンポーネントをインストールする必要がある場合があります。私のマシンにはすでにこれがインストールされており、VMを削除してこの理論をテストするのに便利なVMがないため、わかりません。
SSLを発行cn=www.mydomain.com
していないcn=mydomain.com
あなたが信頼されたルート証明機関ストアにSSLを追加できるようにしたい場合。
私の知る限り、IIS 7.xの問題は、SSLバインディングのホストヘッダーを設定できないことです。
appcmdコマンドラインユーティリティを使用すると、これを実行できるはずです。サイトは同じ証明書を使用できますが、ホストヘッダーは異なります。
データで次の2つのコマンドを実行する場合、ホストヘッダーを構成する必要があります。
c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.yourdomain.com']
c:\Windows\System32\inetsrv>appcmd set site /site.name:"local.dev.yourdomain.com" /+bindings.[protocol='https',bindingInformation='*:443:local.dev.yourdomain.com']
残念ながら、これを機能させるために必要なことは他にもありますが、正確には何がわからないのです。IISをいくつかリセットし、SSL証明書を選択し直したことは知っていますが、それを行う順序がわかりません。しかし、別のツールを使用するような「派手な」ことは何もしなかったことを知っています。
このStack Overflowの回答で説明されているように、OpenSSLを使用して自己署名証明書を作成することもできます: