Visual Studio 2015 の更新プログラム 3 をインストールした後、信頼されていない証明書に関する警告

現象

Visual Studio の 2015、更新プログラムの 1 または 2 以外の更新プログラムのリリース バージョンを使用して HTTPS 経由の web アプリケーションを開発しました。ただし、Visual Studio 2015 の更新プログラム 3 をインストールした後開始する、信頼されていない証明書に関する警告を受信します。

原因

Visual Studio の最初のインストール中に IIS Express 自己署名証明書をインストール「証明書 (ローカル コンピューター) \Personal\Certificates」フォルダーに証明書が存在しない場合。最初に、SSL を使用する web アプリケーションをデバッグするされたら、[証明書-現在 User\Trusted ルート証明書 Authorities\Certificates」フォルダーにこの証明書をインストールするのには。

2015 更新 3 を Visual Studio には、アップグレード中に IIS Express SHA256 自己署名証明書の新規証明書 (ローカル コンピューター) の \Personal\Certificates フォルダーにインストールします。ただし、証明書 - 現在 User\Trusted ルート証明書の Authorities\Certificates のフォルダーにインストールされている証明書が既に存在するため Visual Studio は、証明書 - 現在の User\Trusted ルート証明書の Authorities\Certificates フォルダーに新規の SHA256 の証明書をインストールするように失敗します。

解決策

方法 1

注: これは、推奨される方法です。

  1. Windows PowerShell ISE では、次のスクリプトを実行します。

    ipmo PKI
    $name = [GUID]::NewGuid()
    $cerFile = "$env:TEMP\$name.cer"
    $certs = Get-ChildItem Cert:\LocalMachine\My -DnsName localhost -SSLServerAuthentication | ? {($_.FriendlyName -eq 'IIS Express Development Certificate') -and ($_.SignatureAlgorithm.FriendlyName -ieq 'sha256RSA') -and ($_.EnhancedKeyUsageList.Count -eq 1)}
    if ($certs.Count -eq 0)
    {
    Write-Error 'Cannot find any SHA256 certificate generated by IIS Express. Please make sure that the latest version of IIS Express is installed.'
    }
    else
    {
    foreach ($cert in $certs)
    {
    Export-Certificate -Cert $cert.PSPath -FilePath $cerFile -Type CERT | Out-Null
    Import-Certificate -FilePath $cerFile -CertStoreLocation Cert:\CurrentUser\Root | Out-Null
    Remove-Item $cerFile -Force
    }
    Write-Host 'Successfully installed the certificate to Trusted Root Certification Authorities of the current user.'
    }

  2. 次の警告メッセージが表示されたら、[はい] をクリックします。

    Certification Authority warning
  3. スクリプトの実行が完了した後は、PowerShell ISE のコマンド ウィンドウで次のメッセージを参照してくださいする必要があります。

    現在のユーザーの信頼されたルート証明機関に証明書が正常にインストールします。

方法 2

IIS Express の証明書を信頼するようにコンピューターを構成します。これを行うには、以下の手順を実行します。
  1. [スタート] ボタン実行を、入力し、Enter キーを押して、Microsoft 管理コンソールを開きます。実行] ダイアログ ボックスで「 mmc」とし、 OKをクリックしますします。
    In the resulting Run dialog, enter mmc and then click OK.

  2. ローカル コンピューターの証明書を管理するスナップインを追加します。これを行うには、以下の手順を実行します。
    1. [ファイル] メニューの [スナップインの追加と削除] をクリックします。
      Console to add or remove snap-ins
    2. 追加またはスナップインの削除] ダイアログ ボックスで、[証明書を選択し、し、[追加] をクリックします。
      Select Certificates and then click Add.
    3. 証明書スナップインダイアログ ボックスで、コンピューター アカウントを選択し、[次へ] をクリックします。
      Click
    4. [コンピューターの選択] ダイアログ ボックスでローカル コンピューター] を選択し、し、[完了] をクリックします。
      Select
    5. 追加またはスナップインの削除] ダイアログ ボックスで、[証明書も、この時間は、[証明書スナップイン] ダイアログ ボックスで[ユーザー アカウントを選択します。
      Select
  3. [証明書 (ローカル コンピューター) の \Personal\Certificates から次のように IIS Express の SHA256 の証明書をエクスポートします。
    1. IIS Express 開発証明書を開き、SHA256 の証明書を選択していることを確認します。[ファイルへコピー] をクリックします。
      Select the SHA256 certificate and then click Copy to File...
    2. 証明書エクスポート ウィザードで、[いいえ、秘密キーをエクスポートできません、[次へ] をクリックします。
      In the Certificate Export Wizard dialog, chose :No, do not export the private key
    3. 選択DER エンコード バイナリ X.509 をウィザードの次のページで (。CER)、し、し、[次へ] をクリックします。
      Chose DER encoded binary X.509 (.CER) and then click **Next
    4. ウィザードの次のページで、ディスク上の場所を選択して残りの手順に従って証明書を正常にエクスポートされるまでです。
  4. 次の場所にエクスポートする証明書をインポートします。

    証明書 - 現在の User\Trusted ルート証明書の Authorities\Certificates
    これを行うには、以下の手順を実行します。
    1. 証明書 - 現在の User\Trusted ルート証明書 Authorities\Certificates に移動し、[アクションすべてのタスク] をポイントをクリックし、 * インポート
    2. 証明書インポート ウィザードで、(信頼されたルート証明機関) をエクスポートした証明書を参照し、次のストアに証明書をすべて配置を選択します。
      Place all certificates in the Trusted Root Certification Authorirty store
    3. [次へ] をクリックし、適切な証明書が選択されていることを確認し、[完了] をクリックします。

    IIS 自己署名証明書を正常にインポートした後の開発時に不要になった、信頼されていない証明書に関する警告が表示されます。

プロパティ

文書番号:3180222 - 最終更新日: 2017/02/01 - リビジョン: 1

フィードバック