java - Java 中的 SSL CA 证书

标签 java ssl

我有一个关于 ssl 在 java 中的用法的问题。

我的需求很简单,连接服务器(https,ldaps,...),使用服务器的CA证书(pem格式)

当使用 api 作为 curl 或我猜的许多其他方式时,在 C++ 或命令行中,您可以在执行连接时指定单个 CA 证书(例如以 pem 格式)。

如果我仔细搜索(嗡嗡声),在 Java 中(我指的是标准库)它略有不同。

  • 要么将您的证书添加到信任库中,必须通过外部应用程序作为 key 工具对其进行管理(当然您可以通过编程方式管理您的信任库,但这不是我的观点) [此外,您可以指定具有系统属性的信任库,但不能直接指定证书]
  • 您必须编写一些代码,例如重载 SslContext 或 TrustManager 类,才能“即时”添加证书。

我是否缺少更简单的方法,例如方法“connection.setCA(String caCertPath)”?

谢谢,

最佳答案

回复:“我是否缺少更简单的方法,例如方法“connection.setCA(String caCertPath)”?”

我想这取决于您用来实现应用程序的 java 类。 但据我所知,答案是:不。您确实需要先将证书存储在 keystore 中,以供您正在使用的类使用。

我不知道有任何类可以按照您期望的证书使用方式工作,但我想您可以只编写该类以位于您不喜欢的类之上。

关于java - Java 中的 SSL CA 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26355442/

相关文章:

java - 从 JSON 到 DTO 的智能映射结构映射

java - 是否可以仅通过数据负载 FCM 通知来启动特定 Activity ?

java - 查找仅包含数字的计数的方法是什么

php - Laravel,本地托管 cURL 错误 60 : SSL certificate

Java 泛型仅限于接口(interface)

java - 字节数组上的 Karatsuba 乘法优化

apache - 升级的 OpenSSL - 如何使用 Apache HTTPD?

php - iOS 使用 SSL (HTTPS) 发送 POST

powershell - 忽略自签名证书

jquery - 如何将 x.509 证书添加到 Restful WCF 服务?