2

我正在尝试使用 ColdFusionCFHTTP标记通过 SSL 从服务器检索文件,但没有成功。我们的环境是使用服务器配置的 Linux。使用的密钥库位于cf_root/runtime/jre/lib/security/cacerts. 我从目标服务器检索了 X.509 证书(DER 格式)并将其导出到文件中。在我们的服务器上,在 cacerts 所在的文件夹中,我将此证书导入到我们的 cacerts 密钥库中:

keytool -import -alias certAlias -file pathToX509Cert -keystore cacerts -storepass blahPass

并重新启动 ColdFusion。然而,我们仍然收到“I/O Exception: peer not authenticated”错误。我什至尝试将相同的证书导入到 trustStorecf_root/runtime/lib/trustStore并重新启动 ColdFusion。结果相同。还有什么我想念的吗?我什至没有运气尝试过 Raymond Camden 的解决方法。

4

1 回答 1

0

根据您运行的 CF 版本,Ray 发布的解决方法是唯一的解决方案。导入证书在某些情况下可以工作,但如果您访问的是通配符 SSL 证书,我永远无法让它在 CF8 或更低版本上工作。

作为参考,将解决此问题的代码是:

<cfset objSecurity = createObject("java", "java.security.Security") />
<cfset storeProvider = objSecurity.getProvider("JsafeJCE") />
<cfset objSecurity.removeProvider("JsafeJCE") />

如果这对您不起作用,您能否发布您尝试访问的 URL,以便我们检查证书?

FWIW,您通常可以使用“COM.Allaire.ColdFusion.HTTPFailure”类型在 cfcatch 中捕获此故障。

于 2013-05-03T20:38:48.850 回答