3

を使用して SSL 呼び出しを行おうとしてHTTPWebRequestいますが、信頼を確立できないと言って失敗し続けています。にコールバックを追加しましたが、ServicePointManager.ServerCertificateValidationCallback常にtrue機能します。しかし、私は物事がそれよりももう少し安全であることを望みます. SslPolicyErrors検証メソッドを見ると、RemoteCertificateNameMismatchエラーが発生しているようです。この種のエラーを引き起こすために正しく一致していないものは何ですか?

(編集: 回答のコメントを参照) 私がアクセスしているサイトは、HTTPBasic over SSL と v1.api.serviceprovider.com のような URL を使用し、証明書は *.serviceprovider.com に対して発行されています。

4

1 に答える 1

3

一般的な証明書の問題:

  • 信頼できる証明書プロバイダーによって発行されていない証明書(信頼チェーンに含まれている必要があります)
  • 証明書の有効期限が切れました

この特定のエラーは通常、アクセスしているサイトに対して証明書が発行されていないことを意味します。例:

  • 「www.yoursite.com」と「yoursite.com」の違い(違います。一部の有名人はこれを間違えます。これは本当に私を苛立たせます...)
  • 証明書の名前ではなくIPアドレスとしてアクセスする。またはv/v
  • 「server1、yoursite.com」にリダイレクトするロードバランサーですが、「yoursite.com」からの証明書を提供します
  • ロードバランサーがサイレントに「server1」にユーザーを渡します。「server1」は、サイトではなく「server1」の証明書を発行しています。
  • 編集コメントを参照)複数のレベルに対して発行されたワイルドカード証明書-つまり、foo.bar.somesite.orgにアクセスしたときに*.somesite.orgに発行されます

これらのほとんどは、サイトに移動してブラウザからの警告を読み、発行された証明書を調べることで簡単に識別できます。

于 2009-01-19T15:02:23.387 に答える