Coldfusion:使用SSL加密的CFHTTP页面(https://) - 出错了

时间:2009-12-21 08:40:11

标签: ssl coldfusion https cfhttp

我正在制作cfhttp以连接到加密页面。似乎对某些网站工作正常。

I/O Exception: Name in certificate `pro.test.com' does not match host name `go.test.com'

即使主机名不匹配,是否存在信任此证书的解决方法?

3 个答案:

答案 0 :(得分:8)

认为这是更多的Java问题,解决方法应该影响JRE。

不确定这是否适用于您的情况,但可能的解决方案是将此证书导入JRE密钥库。

可在Sun website找到通用说明。虽然过程非常简单。

首先,您应该使用浏览器导航所需的HTTPS URL并使用SSL属性导出证书(不记得在IE中如何完成,但在Firefox中,如安全>查看证书>详细信息>另存为 - 仍然不确定,因为使用非英语的licalization),任何X.509类型都应该有效。

接下来,您应该使用keytool导入它。导航到当前CF JRE的bin,执行以下命令(用您的值替换参数)并重新启动CF:

keytool -keystore <path to keystore> -import -file <path to certificate> -alias <alias>
顺便说一句,这里有一个UI tool,但是我还没有用它,所以不能说它是否正常。

答案 1 :(得分:0)

可能正在运行的网站拥有来自受信任机构的有效SSL证书。

如果您拥有pro.test.com的控制权,首选答案是获得安装pro.test.com的有效证书。但如果出于某种原因无法做到这一点,我会看到另外两个选择:

1)尝试通过https尝试连接的try / catch,并在发生SSL错误时返回http。显然,这将消除失败连接的加密。

2)使用Sergii的解决方案将该站点的密钥导入Java密钥库。

答案 2 :(得分:0)

如果go.test.com只是一个开发服务器,那么在这种情况下,您可以创建自签名证书并将其导入Java密钥库。这样,您可以通过不向CA付款并更快地解决问题来节省成本