Android の FTPS (FTP on SSL) Client


Android の FTP Client をベースに FTPS (FTP on SSL) Client を作成しました。

ポイントは2つ。
(1) Apache Commons Net の FTPClient の代わりに FTPSClient を使用する。
 これで制御チャネルは SSL 対応になります。
 
(2) execPROT(“P”) を実行する。
 デフォルトではデータチャネルは平文です。
 上記を実行することで、暗号化されます。

ソースコードは code.google に置いています。

参考
Apache Commons Net : FTPSClient – execPROT

wikipedia: FTPS
データ転送チャネル(PORTまたはPASVコマンドで作成されるチャネル)での通信を暗号化する場合、PROTコマンドを用いて保護レベルをP (Private) に設定する必要がある。


Android の FTP Client


Apache Commons Net を使用して Android 用の FTP Client を作成しました。
Apache Commons Net は、FTP プロトコルを素直に実装しています。
サンプルコードを参考に簡単に実現できました。

Android では、Active mode は使用できないみたいなので、Passive mode を使用しました。
なお、アップロードするファイルとダウンロードするファイルは固定です。
ファイルを選択できるよう改変にすれば、簡易的な FTP Client アプリが出来るはず。

ソースコードは code.google に置いています。

参考
Apache Commons Net
Apache Commons Net : FTPClient
Jakarta Commonsによるネットワークプログラミング FTP
アクティブFTPとパッシブFTP