OWin と Thinktecture Identity Server を使用して SSO をセットアップしようとしていますが、SSL 証明書を機能させることができません。少なくともそれが問題だと思います。Visual Studio ではすべて正常に動作しますが、自分のマシンで IIS を使用しようとすると、「検証手順に従ってリモート証明書が無効です」というエラーが表示されます。クライアントがビジュアルスタジオで実行されているインスタンスをトークンオーソリティとして扱うため、IISを使用してみましたが、それでも同じエラーが発生します。私が間違っていることについて誰か考えがありますか?
7 に答える
私の場合、サンプル (ID3v2 用) を処理して、ローカルで実行されている証明書エラーを取得しようとしていました。一部のサンプルは owin を介してセルフ ホスティングを行うため、ホスト側の証明書をどこで取得しているのかさえわかりません。
とにかく、私の修正は、証明書を信頼されたルートにコピーすることでした:
- Windows => スタート => MMC.EXE を実行
- ファイル=>「スナップインの追加と削除...」=>証明書
- コンピューター アカウントを使用 => ローカル コンピューター => 完了 => OK
- 個人/証明書の下に移動します
- 「localhost」を右クリックし、「コピー」を選択します
- 「信頼されたルート証明機関」に貼り付けます
終わり。楽しみ。
私のために多くの時間を費やした後、解決策は非常に簡単でした
Certmgr.msc を開いたところです ---> 信頼されたルート証明機関から localhost 証明書を削除しました。
次に、ソリューションを開いて(IDサーバーを実行した後)クリックして実行すると、ビジュアルスタジオがiis express(ssl)に新しい証明書を生成するかどうかを尋ねてきました.yesをクリックすると、正常に動作し始めました:)
作成者が提供する例の readme ファイルによると、証明書を Trusted People ストアに追加するだけで十分です。
実稼働シナリオでは、ルートストアは CA 用であり、そこに何かを追加すると、その機関が信頼されるだけでなく、それによって署名された証明書が自動的に信頼されるため、より良いはずです。
詳細については、マイクロソフトのリファレンスを参照してください。2 ストアの短い説明の抜粋:
ルート: 信頼されたルート証明機関 (CA) の証明書ストア。
TrustedPeople: 直接信頼できる人およびリソースの証明書ストア。
PS: 私はそれが動作することをテストしました。私のシナリオでは、マシン A に IS があり、マシン A と B に IS を使用する一連の Web アプリケーションがあります。マシン B の IIS 証明書は、A と IS で使用されるものとは異なりますが、マシン B に追加しただけです Trusted Peopleストアと「証明書エラー」が消えました。
.Net Core の場合、TrustServerCertificate=False を TrustServerCertificate=True に変更すると、以下のように問題が解決します。
"DataConnect": "Server=tcp:127.0.0.1,1433;Initial Catalog=dbName;Persist Security Info=False;User ID=username;Password=password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;"