Share via


Visual Studio 2015 Update 3 をインストールした後の信頼されていない証明書に関する警告

この記事は、Microsoft Visual Studio 2015 Update 3 をインストールした後に信頼されていない証明書に対して発生する警告を解決するのに役立ちます。

元の製品バージョン: Visual Studio 2015
元の KB 番号: 3180222

現象

Visual Studio 2015、Update 1、または Update 2 のリリース バージョンを使用して、Hypertext Transfer Protocol Secure (HTTPS) を使用して Web アプリケーションを開発しました。 ただし、Visual Studio 2015 Update 3 をインストールすると、信頼されていない証明書に関する警告の受信が開始されます。

原因

Visual Studio の初回インストール中に、証明書がまだ存在しない場合、インターネット インフォメーション サービス (IIS) Express によって自己署名証明書がフォルダーに Certificates (Local Computer)\Personal\Certificates インストールされます。 Secure Sockets Layer (SSL) を使用する Web アプリケーションを初めてデバッグするときに、この証明書をフォルダーに Certificates - Current User\Trusted Root Certification Authorities\Certificates インストールするように求められます。

Visual Studio 2015 Update 3 へのアップグレード中に、IIS Expressは新しい SHA256 自己署名証明書をフォルダーにCertificates (Local Computer)\Personal\Certificatesインストールします。 ただし、フォルダーに証明書が既にインストール Certificates - Current User\Trusted Root Certification Authorities\Certificates されているため、Visual Studio では新しい SHA256 証明書をフォルダーにインストールするように求めるメッセージが Certificates - Current User\Trusted Root Certification Authorities\Certificates 表示されません。

方法 1: PowerShell スクリプトを使用する

注:

これが推奨される方法です。

  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. 次の警告が表示されたら、[ はい ] をクリックします。

    を表す証明機関をインストールしようとしていることを示す [セキュリティ警告] ウィンドウのスクリーンショット。

  3. スクリプトの実行が完了すると、PowerShell ISE コマンド ウィンドウに次のメッセージが表示されます。

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

方法 2: IIS Express証明書を信頼するようにコンピューターを構成する

  1. [ スタート] をクリックし、「 実行」と入力し、Enter キーを押して、Microsoft 管理コンソールを開きます。 [ 実行 ] ダイアログ ボックスで、「 mmc」と入力し、[OK] をクリック します

    mmc と入力されている [実行] ウィンドウのスクリーンショット。

  2. スナップインを追加して、ローカル コンピューターの証明書を管理します。 これを行うには、次の手順を実行します。

    1. [ファイル] メニューの [スナップインの追加と削除] をクリックします。

      [ファイル] メニューのスクリーンショット。[スナップインの追加と削除] というタイトルのメニュー エントリと、キーボード ショートカット Ctrl + M が強調表示されています。

    2. [ スナップインの追加と削除 ] ダイアログ ボックスで、[ 証明書] を選択し、[ 追加] をクリックします。

      [証明書] 項目が選択されている [スナップインの追加と削除] ダイアログのスクリーンショット。

    3. [ 証明書スナップイン ] ダイアログ ボックスで、[ コンピューター アカウント] を選択し、[ 次へ] をクリックします。

      [コンピューター アカウント] オプションがオンになっている [証明書スナップイン] ダイアログのスクリーンショット。

    4. [ コンピューターの選択 ] ダイアログ ボックスで、[ ローカル コンピューター] を選択し、[完了] をクリック します

      [ローカル コンピューター] オプションがオンになっている [コンピューターの選択] ダイアログのスクリーンショット。

    5. [スナップインの追加と削除] ダイアログ ボックスで、もう一度 [証明書] を選択し、今度は [証明書スナップイン] ダイアログ ボックスで [マイ ユーザー アカウント] を選択します。

      ユーザー アカウントがオンになっている [証明書スナップイン] ダイアログのスクリーンショット。

  3. から SHA256 IIS Express証明書Certificates (Local Computer)\Personal\Certificatesをエクスポートします。

    1. IIS Express開発証明書を開き、SHA256 証明書が選択されていることを確認します。 [ ファイルにコピー] をクリックします。

      SHA256 証明書と [ファイルにコピー] ボタンを選択したスクリーンショット。

    2. 証明書のエクスポート ウィザードで、[いいえ] を選択し 、秘密キーをエクスポートせず、[ 次へ] をクリックします。

      [いいえ]、[秘密キーをエクスポートしない] オプションを選択する [証明書のエクスポート ウィザード] ダイアログのスクリーンショット。

    3. ウィザードの次のページで、[ DER でエンコードされたバイナリ X.509 (] を選択します。CER)、[ 次へ] の順にクリックします。

      DER でエンコードされたバイナリ X.509 () をチェックするページのスクリーンショット。CER) オプション。

    4. ウィザードの次のページで、ディスク上の場所を選択し、証明書が正常にエクスポートされるまで残りの手順に従います。

  4. エクスポートした証明書を次の場所にインポートします。
    Certificates - Current User\Trusted Root Certification Authorities\Certificates

    これを行うには、次の手順を実行します。

    1. フォルダーに Certificates - Current User\Trusted Root Certification Authorities\Certificates 移動し、[ アクション] をクリックし、[ すべてのタスク] をポイントして、[ インポート] をクリックします。

    2. 証明書のインポート ウィザードで、エクスポートした証明書 (信頼されたルート証明機関) を参照し、[ 次のストアにすべての証明書を配置する] を選択します。

      次のストアにすべての証明書を配置チェックページのスクリーンショット。ストアは信頼されたルート証明機関です。

    3. [ 次へ] をクリックし、正しい証明書を選択したことを確認し、[完了] をクリック します

自己署名 IIS 証明書を正常にインポートすると、開発中に信頼されていない証明書に関する警告が表示されなくなります。