ssl - 通过 SSL 的 CFHTTP

标签 ssl coldfusion coldfusion-8 cfhttp

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

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

并重新启动 ColdFusion。然而,我们仍然收到“I/O 异常:对等端未经过身份验证”错误。我什至尝试将相同的证书导入 cf_root/runtime/lib/trustStore 的 trustStore 并重新启动 ColdFusion。同样的结果。还有什么我想念的吗?我什至试过 Raymond Camden 的 workaround没有运气。

最佳答案

根据您运行的 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 中捕获此失败。

关于ssl - 通过 SSL 的 CFHTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15390369/

相关文章:

ssl - 启用 SSL 后,Revel 不会转发到端口 443

ssl - 刷新k8s上的过期证书

iis - cfdirectory 网络驱动器

css - div 可以在 cfdocument pdf 中部分透明吗?如何?

ssl - Azure Service Fabric 服务之间的 HTTPS

linux - Squid 路由 SSL 流量

url - 错误状态: URL contains outer http

mysql - 如何从其他 ColdFusion 文件获取值

mysql - ColdFusion:查询中有多个 SQL 语句?