2

我的系统上安装了 ColdFusion 9。

我需要从 SSL 加密站点 (https) 读取数据。我已遵循 CF 文档中描述的所有步骤。

那是:

  • 转到相关 SSL 服务器上的页面。
  • 双击锁定图标。
  • 单击详细信息选项卡。
  • 单击复制到文件。
  • 选择 base64 选项并保存文件。
  • 将 CER 文件复制到 C:\ColdFusion8\runtime\jre\lib\security(或使用的任何 JRE ColdFusion)。
  • 在同一目录下运行以下命令(keytool.exe位于C:\CFusionMX7\runtime\jre\bin):
    keytool -import -keystore cacerts -alias giveUniqueName -file filename.cer

在CMD中显示“证书添加成功”

但它仍然显示相同的错误peer not authenticated

还有什么需要的吗?

4

2 回答 2

2

如果您尝试在 CF 11 中调用 Web 服务(可能是 10,但请自己检查),CF 期望 Web 服务或任何 CFHTTP 调用在标准设置中使用 WebSocket 服务和端口 8577。这是因为 WebSocket 服务已经针对 Web 服务进行了优化,并且 CFHTTP 也使用了 WebService 套接字。

我在我的 IIS 服务器上运行 CF 11,端口 8577 被防火墙阻止。当我尝试连接时,它会为 CFHTTP 和 Web 服务发回此错误:

“I/O 异常:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径”

似乎需要将自定义证书添加到 JRE 的 CACERT,但这不是我的解决方案。

如果您不想取消阻止 WebSocket 服务并且不需要该性能以本机运行,则有一个简单的修复程序可以使用 IIS(至少是 IIS)运行它。您所要做的就是进入 CF 管理仪表板并将 WebSocket 服务更改为“使用代理”。这将通过 IIS 作为代理将所有调用发送到 CF WebSocket 服务或 CFHTTP。重新启动 CF Application Server 服务,它应该可以正常工作。如果这些指示不完美,我深表歉意,但它会引导你让它发挥作用。另请参阅将 WebSocket 与 ColdFusion 11 一起使用

于 2015-11-27T20:38:17.230 回答
0

虽然文档没有具体提及,但需要重启 ColdFusion 服务。如果你还没有,那应该是你尝试的第一件事。

于 2013-05-24T14:14:13.467 回答