我正在尝试使用ColdFusion CFHTTP
标记通过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异常:peer not authenticated”错误。我甚至尝试将相同的证书导入cf_root/runtime/lib/trustStore
的trustStore并重新启动ColdFusion。结果相同。还有什么我想念的吗?我甚至试过雷蒙德·卡姆登的workaround而没有运气。
答案 0 :(得分: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中捕获此故障。