4

WebアプリケーションとSQLServer間の暗号化をテストするための自己署名証明書を作成しました。

「Encrypt=Yes;」を使用してデータベースにクエリを実行しようとした場合。接続文字列で、次のメッセージを受け取ります。

サーバーとの接続は正常に確立されましたが、ログイン前のハンドシェイク中にエラーが発生しました。(プロバイダー:SSLプロバイダー、エラー:0-証明書チェーンは信頼されていない機関によって発行されました。)

背景
ManagementStudioから暗号化された接続を最初に試みたときに、同じメッセージを受け取りました。これは、自己署名証明書を信頼できる認証局にインストールすることで解決されました。

質問
ユーザーアカウントと同じ方法でASP.NETに証明書を信頼させる方法はありますか?

4

2 に答える 2

3

これに対する正しい答えは、自己署名証明書を証明書ストアに追加することです。

間違った方法
サーバー上の.cerファイルをダブルクリックして証明書をインストールする
-これにより、現在ログインしているユーザーのみの証明書が追加されるため、偽装が機能する場合がありました。

正しい方法
CertMgr.exeを使用して証明書をインストールします。
-CertMgr.exeは、Windows SDK、または明らかにVisualStudio2005のbinフォルダーにあります。VS2008にはありません。
-ローカルマシン管理者アカウントでCertMgr.exeを実行する必要があります。ローカル管理者権限を持つドメインアカウントは機能しません -次 の 両方のコマンドを実行して、CertMgr.exeを実行し、ローカルマシンのtrustedpublishersストアに証明書を追加します。

certmgr /add Your.Certificate.Filename.cer /s /r localmachine root
certmgr /add Your.Certificate.Filename.cer /s /r localmachine trustedpublisher

また、証明書のファイル名を参照するときにワイルドカードを使用できないことにも注意してください。(/ add * .cerは失敗します。)

于 2009-12-02T05:00:33.620 に答える
0

偽装の使用は私のローカル開発マシンで機能します:( <identity impersonate="true"/>私のweb.configのsystem.web内)

したがって、ASP.NETがデータベースに接続するときに、ユーザーの資格情報を使用し、ユーザーが自己署名証明書を信頼するようにします。

注-開発サーバーでサイトを表示しようとすると、これは失敗します。

于 2009-12-01T07:40:58.720 に答える