2013-10-03 332 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 

它看起來像驗證命令行並沒有改變。