2013-10-03 321 views
1

我遇到了麻烦的ColdFusion连接到使用自签名证书的安全的FTP服务器。连接刚刚超时。我已经在FTP客户端上测试过这个设置,它可以工作,但是你必须接受一个“未知的证书”。CFFTP和自签名证书

的代码,但它不是非常有帮助:

<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.

有谁知道是否有可能接受证书?或者如果这就是问题?

回答

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 

我这里没有包括密码,但我敢肯定,你可以Google一下。如果没有,给我一个信息,我可以给你。

此外,您可能需要提供取决于你来自哪里,运行keytool命令,并在您的证书文件所在的路径功能的信息。

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

哦 - 你必须使进口后重新启动的ColdFusion。

更新CF10

我发现谈论关于CF10安装证书的论坛讨论(here)。在他们的例子中,keytool命令看起来略有不同。如果它比CF9有点不同,这里就是他们说:

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

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