2

驚かないでください。しかし、私の質問は何かが機能していないということではありません。

そうではないと考える深刻な理由がなかったかどうかは尋ねません。実際、Apache HttpClient を使用してまったく同じ操作、HTTPS を介した POST を実行しましたが、不満がありました。

HttpClient を悩ませたのは、サーバーの TLS 証明書が知られていないという事実でした。これは正当な苦情であるため、使用していた JRE 証明書ストアに証明書を追加しました。その後、すべてが期待どおりに機能しました。

最初に恐ろしい疑いを取り除くことができますか: WebClient は正しく HTTPS を使用しており、「https://downloadspywaresandmalwares.com」に接続しようとすると、「あなたはクレイジーですか、これは信頼できる場所ではありません!」などのメッセージで拒否されるはずです。 ?

したがって、これは.NetとJavaのセキュリティポリシーの相違に関係していると思います.Javaには独自の証明書と権限のセットがバンドルされているのに対し、.Netはより多くの信頼できる証明書のセットを持つ可能性のあるOSとより統合されています.

では、これらすべての仮定を確認するにはどうすればよいでしょうか。

重要な場合: Chrome から Web サイトを使用したことがありますが、IE からは使用していないため、WebClient は IE 構成を使用していません。

ご意見ありがとうございます。:)

4

1 に答える 1

1

わかりました、私はついにそれを手に入れたと思います:

  • 私が疑ったように.Netには独自の証明書ストアがなく、OSストアを使用しています
  • 証明書を見つけて削除することはできましたが、これは簡単ではありません。
  • 削除すると、予想どおり、WebClient が破損し、「SSL/TLS セキュア チャネルの信頼関係を確立できませんでした」というエラーが表示されます。
  • はい、WebClient は SSL を正しく使用しています。これは安心です :)

うまくいけば、この情報は他の誰かに役立つでしょう...

于 2013-06-06T23:21:10.857 に答える