0

我们的域拥有来自 VeriSign 的证书。但是,我正在尝试对我们的开发环境进行一些测试并不断收到证书错误(因为开发 IP 与我们注册证书的生产 IP 不匹配),这让我非常头疼。我似乎无法确定我遇到的问题是否是所做更改的一部分,或者问题是否源于证书错误。

我曾尝试为 IE 添加注册表项以不关心这些错误,但这似乎无济于事。

无论如何我可以解决这个问题而不必为我的开发环境购买更多证书?

4

1 回答 1

0

有两种选择。第一个需要对您的代码进行较少的更改,它涉及为您的开发服务器创建新证书,而不是重用生产服务器。您不必购买它们,它们可以自签名。我建议您只使用开发证书创建一个新的 TrustStore,并在运行程序时指定信任库。java -Djavax.net.ssl.trustStore=truststore -Djavax.net.ssl.trustStorePassword=123456 MyApp您还可以将开发服务器的证书添加到 JDK 的默认 cacerts 文件中,该文件通常在 Windows 上的 C:\Program Files\Java\jre6\lib\security\cacerts 中找到。此选项不太安全,但您不必更改启动客户端的方式。

第二个选项涉及更改您的开发代码以忽略这些错误。这通常涉及创建您自己的 TrustManger 并将其传递到 SSLSocketFactory。这是一个很好的例子:http ://exampledepot.com/egs/javax.net.ssl/TrustAll.html我不喜欢这个选项,因为你可能会向你的项目提交不安全的代码,而这些代码没有验证服务器的证书。

于 2011-06-27T21:12:49.597 回答