我无法让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.
有谁知道是否可以接受证书?或者,如果这甚至是问题?
答案 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
看起来验证命令行没有改变。