cfftp和自签名证书

时间:2013-10-03 15:55:37

标签: ssl coldfusion ftp

我无法让ColdFusion连接到使用自签名证书的安全FTP服务器。连接只是超时。我已经在FTP客户端中测试了设置,但它确实有效,但您必须接受“未知证书”。

代码虽然不是很有帮助:

<cfftp
    connection="ftp"
    action="open"
    server="server"
    username="username"
    password="password"
    port="23456"
    passive="true"
    secure="true"
/>

这是我从ColdFusion获得的错误:

Verify your connection attributes: username, password, server, fingerprint, port, key, connection, proxyServer, and secure (as applicable). Error: Session.connect: java.net.SocketTimeoutException: Read timed out.

有谁知道是否可以接受证书?或者,如果这甚至是问题?

1 个答案:

答案 0 :(得分:5)

我不确定cfftp但是对于具有自签名证书的网站的cfhttp请求,您必须将其证书导入ColdFusion服务器上的Java密钥库。所以你可能想尝试一下。

我总是以DER格式导出证书

要导入的命令应该是这样的:

keytool -import -v -alias giveUniqueName -file filename.cer -keystore cacerts -storepass thePassword

以下是验证导入证书的命令行:

keytool -list -v -keystore cacerts -alias giveUniqueName -storepass thePassword

我在这里没有提供密码,但我很确定你可以使用谷歌。如果没有,请给我发消息,我可以给你。

此外,您可能需要提供路径信息,具体取决于您从证书文件所在的位置运行keytool命令的位置。

另请注意,请确保您正在更新ColdFusion正在使用的正确cacerts文件。如果您在该服务器上安装了多个JRE。您可以在“系统信息”下验证管理员使用的JRE ColdFusion。查找Java Home行。

哦 - 你必须在导入后重启ColdFusion。

更新CF10

我发现了一个论坛讨论(here),讨论在CF10上安装证书。 keytool命令在其示例中似乎略有不同。如果它与CF9略有不同,这就是他们所说的:

keytool -importcert -alias giveUniqueName -trustcacerts -file filename.cer -keystore cacerts -storepass thePassword
Trust this certificate? [no]:  y

看起来验证命令行没有改变。