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 スクリプトを使用する
注:
これが推奨される方法です。
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.' }
次の警告が表示されたら、[ はい ] をクリックします。
スクリプトの実行が完了すると、PowerShell ISE コマンド ウィンドウに次のメッセージが表示されます。
現在のユーザーの信頼されたルート証明機関に証明書が正常にインストールされました。
方法 2: IIS Express証明書を信頼するようにコンピューターを構成する
[ スタート] をクリックし、「 実行」と入力し、Enter キーを押して、Microsoft 管理コンソールを開きます。 [ 実行 ] ダイアログ ボックスで、「 mmc」と入力し、[OK] をクリック します。
スナップインを追加して、ローカル コンピューターの証明書を管理します。 これを行うには、次の手順を実行します。
[ファイル] メニューの [スナップインの追加と削除] をクリックします。
[ スナップインの追加と削除 ] ダイアログ ボックスで、[ 証明書] を選択し、[ 追加] をクリックします。
[ 証明書スナップイン ] ダイアログ ボックスで、[ コンピューター アカウント] を選択し、[ 次へ] をクリックします。
[ コンピューターの選択 ] ダイアログ ボックスで、[ ローカル コンピューター] を選択し、[完了] をクリック します。
[スナップインの追加と削除] ダイアログ ボックスで、もう一度 [証明書] を選択し、今度は [証明書スナップイン] ダイアログ ボックスで [マイ ユーザー アカウント] を選択します。
から SHA256 IIS Express証明書
Certificates (Local Computer)\Personal\Certificates
をエクスポートします。IIS Express開発証明書を開き、SHA256 証明書が選択されていることを確認します。 [ ファイルにコピー] をクリックします。
証明書のエクスポート ウィザードで、[いいえ] を選択し 、秘密キーをエクスポートせず、[ 次へ] をクリックします。
ウィザードの次のページで、[ DER でエンコードされたバイナリ X.509 (] を選択します。CER)、[ 次へ] の順にクリックします。
ウィザードの次のページで、ディスク上の場所を選択し、証明書が正常にエクスポートされるまで残りの手順に従います。
エクスポートした証明書を次の場所にインポートします。
Certificates - Current User\Trusted Root Certification Authorities\Certificates
これを行うには、次の手順を実行します。
フォルダーに
Certificates - Current User\Trusted Root Certification Authorities\Certificates
移動し、[ アクション] をクリックし、[ すべてのタスク] をポイントして、[ インポート] をクリックします。証明書のインポート ウィザードで、エクスポートした証明書 (信頼されたルート証明機関) を参照し、[ 次のストアにすべての証明書を配置する] を選択します。
[ 次へ] をクリックし、正しい証明書を選択したことを確認し、[完了] をクリック します。
自己署名 IIS 証明書を正常にインポートすると、開発中に信頼されていない証明書に関する警告が表示されなくなります。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示