我们拥有VeriSign的证书。但是,我正在尝试对我们的开发环境进行一些测试并且不断获得证书错误(因为开发IP与我们注册证书的生产IP不匹配)并且让我非常头疼。我似乎无法确定我遇到的问题是否是所做更改的一部分,或者问题是否源于证书错误。
我已经尝试为IE添加注册表项而不关心这些错误,但这似乎没有帮助。
无论如何,我可以解决这个问题而无需为我的开发环境购买更多证书吗?
答案 0 :(得分: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我不喜欢这个选项,因为你可能会为你的项目提交不安全的代码而不验证服务器的证书。