0

顧客の詳細をクライアントに送信するために、サーバーにSSLを追加しようとしています。

デジタル証明書(.pfx)が正常に読み込まれ、サーバー側で機能しているようです。

クライアントに接続しようとすると問題が発生します。リモート証明書が無効であることを示すAuthenticationExceptionがスローされます。証明書は自己署名テスト証明書です-これが問題になる可能性がありますか?

そうでなければ、私はアイデアがありません!

編集:証明書は、両側のMMCの信頼されたルート証明書フォルダーにあります(サーバーとクライアントは、開発目的で同じマシン上で実行されています)。

4

3 に答える 3

2

検証方法をオーバーライドする必要がありました:

public static bool RemoteCertificateValidationCallback(Object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
    return true;
}

明らかに、これは渡されたすべての証明書を受け入れるため、証明書のハッシュなどを使用して確認する必要があります。とはいえ、今はお休み!

于 2009-04-03T16:06:30.517 に答える
1

それが間違いなく問題になる可能性があります。そのWebサーバーをクライアントの信頼できるルート証明書に追加してみましたか?クライアントが証明書プロバイダー(自己署名されているため、Webサーバー)を信頼していない場合、証明書を認証しようとすると例外がスローされます。

于 2009-04-03T15:06:04.330 に答える
0

どのように証明書を生成しましたか?

  • デフォルトでは、makecert.exe は ssl 認証の使用に適していない証明書を生成します。

  • 「-sky exhange」オプションを使用して、適切なものを生成します。

makecert -n "CN=Client" -pe -ss My -sr CurrentUser -sky exchange client.cer makecert -n "CN=Host" -pe -ss My -sr LocalMachine -sky exchange host.cer

于 2009-04-03T16:04:53.860 に答える