我开发了一个 Java 应用程序,它使用自签名 SSL 证书通过 https 与我的服务器进行通信。
现在我想与我的一些客户分享该应用程序。有什么方法可以让他们跳过将证书导入到 keystore 的过程吗?或者他们总是需要手动导入?
最佳答案
根据您发布的链接,您正在谈论单向 SSL,您需要让您的客户端知道服务器的自签名证书(对吗?)。
因此,您的客户端应用程序需要的是所谓的信任存储。信任存储是一个 Java key 存储,保存您信任的所有证书,例如您要连接的服务器的证书。 java 安装中的 cacerts
文件包含默认受信任的各种证书。
您可以提供包含服务器证书的您自己的信任库以及客户端应用程序,而不是将服务器证书安装到客户端 Java 安装的 cacerts
文件中。然后,客户端应用程序需要使用系统属性 -Djavax.net.ssl.trustStore=path/to/your/truststore
启动。
关于java - 分发自签名SSL证书: How to skip requirement to import to key store,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15886990/