所以这可能是一个愚蠢的问题,但我整天都在网上搜索,试图弄清楚如何将受信任的 SSL 证书放入我的 java 服务器。
细节:
我创建了一个创建 SSLServerSocket 接受连接的 java 服务器。我使用 keytool 创建了一个名为 domain.key 的密钥库以及一个证书请求 (csr)。然后我联系了证书颁发机构(starfield)并给了他们我的 csr,他们做了他们的事情并将证书退还给我(crt)。我有 3 个。一个叫 domain.com.crt,一个叫 sf_bundle.crt,一个叫 sf_intermediate.crt
经过大量搜索后,我发现我需要将证书导入密钥库,并且密钥库可以与具有我的公钥/私钥的密钥库相同,也可以位于单独的文件中。我选择将它放入一个名为 domain.trust 的单独文件中。
然后我修改了我的服务器以使用以下命令导入信任库和密钥库:
System.setProperty("javax.net.ssl.keyStore", "domain.key");
System.setProperty("javax.net.ssl.trustStore", "domain.trust");
沿着密钥库密码和信任库密码的相应行。
问题是,当我尝试使用任何客户端进行连接时,它总是说证书是出售签名的。
我一直在使用http://certlogik.com/ssl-checker/来测试它。
我显然错过了一步,但我不知道在哪里。
任何帮助将不胜感激