【问题标题】:How can I trust a specific self-sign certificates? (Not trust all)如何信任特定的自签名证书? (不相信所有人)
【发布时间】:2012-07-27 04:32:03
【问题描述】:

如何将我的HttpsURLConnection 设置为仅信任特定证书?目前我的代码设置为信任所有证书。但要求是只信任一个特定的证书而不信任其他证书。我怎样才能在Java中做到这一点?我正在使用 JDK 1.5。

【问题讨论】:

标签: java ssl https ssl-certificate


【解决方案1】:

您可以通过创建自定义 SSLSocketFactory 并提供您自己的 TrustManager 来信任特定证书。见...

Trusting all certificates using HttpClient over HTTPS

和

How can I use different certificates on specific connections?

在您的 TrustManager 中,您将收到来自客户端/服务器的证书链,以根据您的特定证书进行验证。

【讨论】:

  • 第一个链接(“信任所有证书 [...]”)正是不应该做的事情(如果你想防止 MITM 攻击)。
  • 布鲁诺是正确的。您绝对应该提供一种机制来验证服务器/客户端证书。
  • 谢谢! :) 能够使用第二个链接来做到这一点。是的,如果您在使用 https 时信任所有证书,那么 https 就没用了。
【解决方案2】:

将其导入您的客户端信任库。

【讨论】:

  • @Arci 使用密钥工具。请参阅 JSSE 参考指南。
猜你喜欢
  • 2016-11-29
  • 2014-06-04
  • 1970-01-01
  • 2016-09-13
  • 1970-01-01
  • 2018-03-10
  • 2019-09-03
  • 1970-01-01
  • 2018-04-16
相关资源
最近更新 更多