IIS 7.5内部で使用するために自己署名SSL証明書を作成しています。私が抱えている問題は、開発環境のみであるため、10年間持続するように作成したいことです。
IIS 7.5では、証明書の有効期間を指定できるオプションが表示されません。デフォルトでは、1年で期限切れになる証明書が作成されます。
これを変更して10年間有効にする方法を教えてください。
これは、IIS6リソースキットに付属のSelfSSL.exe
ツールを使用して行うことができます。ここからリソースキットを入手できます。
http://www.Microsoft.com/download/en/details.aspx?displaylang=en&id=17275
インストーラーはツールをフォルダーに解凍するだけで、マシンの設定に干渉しません。カスタムインストールオプションでは、インストールするツールを選択して、自分で選択したフォルダーに格納することもできます。
Administratorコマンドラインを開き、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を使用してサイトを閲覧するときに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を削除してこの理論をテストするのに便利ではないため、わかりません。
信頼されたルート認証局ストアにSSLを追加できるようにする場合は、cn=www.mydomain.com
ではなくcn=mydomain.com
にSSLを発行します。
私が理解している限り、IIS 7.xの問題は、SSLバインディングのホストヘッダーを設定できないことです。
Appcmdコマンドラインユーティリティを使用すると、これを実行できるはずです。サイトは同じ証明書を使用できますが、ホストヘッダーが異なります。
データを使用して次の2つのコマンドを実行すると、Hostヘッダーが構成されます。
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証明書を再選択しましたが、それを実行する順序がわかりません。しかし、実行しなかったことがわかっています。別のツールを使用するような「ファンシー」なもの。
OpenSSLは、このStack Overflowの回答で説明されているように、自己署名証明書の作成にも使用できます。