gpt4 book ai didi

c# - 如果我的客户端程序是 Java 语言,为什么必须添加服务器 SSL 证书,而 C# 语言则不需要?

转载 作者:行者123 更新时间:2023-11-30 05:57:52 24 4
gpt4 key购买 nike

如果我在 Java 程序中使用 HttpsURLConnection 并尝试打开以 https:// 开头的 URL,我将收到一条错误消息:

unable to find valid certification path to requested target

我找到的解决方案是 to add the server certificate to the client certificate storage 。但是,如果我编写一个使用 HttpWebRequest 的 C# 程序,那么我无需在任何地方添加任何内容。

所以对我来说,C# 客户端“就可以工作”,而 Java 客户端只有在用锤子调整后才能工作。

为什么 Java 客户端需要额外的步骤?我可以以某种方式跳过将证书保存到 JVM 的客户端存储吗?

最佳答案

HttpWebRequest将使用Windows自己的证书存储来验证证书,即与IE相同。如果您的 IE 可以通过证书或返回受信任根的 CA 路径来正确验证证书,则 HttpWebRequest 应该接受证书。

在 Java 情况下,我怀疑添加服务器证书本身是错误的,除非它是自签名的,在这种情况下您将别无选择。您应该将 CA 路径添加回受信任的根 - 您可以从 Windows 的 CA 存储中提取这些证书,或者如果需要,可以从根 CA 的网站下载它们。

关于c# - 如果我的客户端程序是 Java 语言,为什么必须添加服务器 SSL 证书,而 C# 语言则不需要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5029972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com