web-dev-qa-db-ja.com

IIS 7.5検証日が1年を超える自己署名証明書の作成

IIS 7.5内部で使用するために自己署名SSL証明書を作成しています。私が抱えている問題は、開発環境のみであるため、10年間持続するように作成したいことです。

IIS 7.5では、証明書の有効期間を指定できるオプションが表示されません。デフォルトでは、1年で期限切れになる証明書が作成されます。

これを変更して10年間有効にする方法を教えてください。

15
user1153199

これは、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が信頼されないという警告が表示されないようにするには、次のように修正することもできます。

  1. 自己署名SSLを.pfxファイルにエクスポートします(パスワードを設定する必要があります。忘れないようにしてください)
  2. 起動(コマンドラインまたは[スタート]-> [実行]から)mmc certmgr.msc
  3. Trusted Root Certificate Authorities -> Certificatesを参照し、右クリックしてImport...オプションに移動します。

    enter image description here

  4. ウィザードに従って、インポートする.pfxを指定し、[次へ]をクリックします(手順1で設定したパスワードが必要です)。

    enter image description here

  5. ウィザードの次のステップでは、使用するストアを選択する必要があります。 Browse...ボタンをクリックすると、Select Certificate Storeウィンドウが開きます。実店舗を確認する必要があるため、Show physical storesにチェックマークがあることを確認します。

    enter image description here

    Trusted Root Certificate Authoritiesを展開し、上記のスクリーンキャプチャに従ってLocal Computerを選択し、[OK]をクリックして、[Next >]をクリックします。

  6. ウィザードの最後のステップで[Finish]ボタンをクリックすると、問題がなければ、次のように表示されます。

    enter image description here

注意点と注意点:

  • SelfSSL可能性がありますIIS6管理互換コンポーネントをインストールする必要があります。私のマシンにはこれがすでにインストールされており、VMを削除してこの理論をテストするのに便利ではないため、わかりません。

  • 信頼されたルート認証局ストアにSSLを追加できるようにする場合は、cn=www.mydomain.comではなくcn=mydomain.comにSSLを発行します。

13
Kev

私が理解している限り、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証明書を再選択しましたが、それを実行する順序がわかりません。しかし、実行しなかったことがわかっています。別のツールを使用するような「ファンシー」なもの。

0
John Bubriski

OpenSSLは、このStack Overflowの回答で説明されているように、自己署名証明書の作成にも使用できます。

https://stackoverflow.com/a/30517344/537961

0
richk