仕事でやったことメモ。
今更TLS1.2の話出てくる?って感じだったけどまあパパッと
検証したい内容
とあるプログラム、PHPのftp_ssl_connectを使ってデータを送信していて、その送信先が「TLS1.2しか使えなくするぞオルァ」ってイキってきた。
なのでまあversion見れば対応しているのはわかったんだけど、念のため確認のためにFTPサーバ立てて、データ送信プログラムが動くかどうか検証したかった。
検証用のFTPサーバ(proftpd)立てた
$ pkg install proftpd
$ vi /usr/local/etc/proftpd.conf
# <== add
LoadModule mod_tls.c
TLSEngine on
TLSLog /usr/local/etc/proftpd/tls.log
TLSProtocol TLSv1.1 TLSv1.2
TLSRSACertificateFile /usr/local/etc/proftpd/cert/ftps.crt
TLSRSACertificateKeyFile /usr/local/etc/proftpd/cert/ftps.key
# add END ==>
$ mkdir -p /usr/local/etc/proftpd/cert/
$ openssl req -x509 -newkey rsa:1024 -keyout /usr/local/etc/proftpd/cert/ftps.key -out /usr/local/etc/proftpd/cert/ftps.crt -nodes -days 365
$ service proftpd onestart
で完了。
簡単に検証
$_host = '000.000.000.000';
$_user = 'user_name';
$_pass = 'password';
$_conn = ftp_ssl_connect($_host);
$_login = ftp_login($_conn,$_user,$_pass);
$ret = ftp_pasv($_conn,true);
var_dump($_conn);
var_dump($_login);
var_dump($ret);
とりあえず簡単に検証できればよかったのでこれで。
あとは検証サーバ側でtls.logを監視しつつ問題なし。
検証に使えるサーバがあるって楽だなあ