簡體   English   中英

如何使FTPS數據通道加密

[英]How to make FTPS data channel encrypted

我是FTP新手。 我的FTPSClient程序有問題。 僅控制通道被加密。 我需要對控制和數據通道進行加密。

public boolean login(String usrName,char[] passwd){

    try {
        ftpClient = new FTPSClient(protocol,false); // SSL FTP
        ftpClient.connect(strHost);

        int reply = ftpClient.getReplyCode(); // After connection attempt, you should check the reply code to verify success.

        if (!FTPReply.isPositiveCompletion(reply)) {
            ftpClient.disconnect();
            log.error("FTP server refused connection.");
            return false;
        }

        ftpClient.setBufferSize(1000);

        if (!ftpClient.login(strUsrName,new String(passwd))){
            ftpClient.logout();
            bLoginStatus = false;
            return false;
        }
        else
            bLoginStatus = true;

        if(iMode == LOCAL_ACTIVE_MODE)
            ftpClient.enterLocalActiveMode();
        else if(iMode == LOCAL_PASSIVE_MODE)
            ftpClient.enterLocalPassiveMode();

    }  catch (SocketException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch(Throwable t){
        t.printStackTrace();
    }finally {
        if (bLoginStatus == false && ftpClient.isConnected()){
            try{
                ftpClient.disconnect();
            }
            catch (IOException f){
                // do nothing
            }
        }
    }

    if(ftpClient.isConnected())
        return true;
    else
        return false;
}

您需要告訴客戶端也加密數據連接,可以使用PROT命令執行此操作(如果我沒記錯的話):

client.execPBSZ(0);
client.execPROT("P");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM