IBM i から外部サーバーにFTPSで通信するには?
Question
IBM i (AS/400)から外部サーバーに対してFTPS(FTPのSSL化)をすることになりました。
具体的にどういったことをする必要があるのでしょうか。
現在、外部サーバーとは通常のFTPにてやり取りしています。
Answer
いただいた内容からしますと、IBM i (AS/400)側はFTPクライアントになるかと思います。
その場合、以下の手順に沿って対応していただくことになります。
- 使用するルート証明書を入手する
- ルート証明書をIBM i(AS/400)のデジタル証明書マネージャー(DCM)にインポートする
- FTPクライアントに割り当てる
- FTPコマンドにパラメータを指定する
順番に手順を確認していきたいと思います。
-
使用するルート証明書を入手する
ルート証明書は、サーバー側に確認すれば入手可能かと思います。
あるいはどの認証局を利用しているのかがわかれば、サイトからダウンロードが可能です。
-
ルート証明書をIBM i (AS/400)のデジタル証明書マネージャー(DCM)にインポートする
ルート証明書のインポート方法は、以前の記事に記載しておりますので、こちらを参考に行ってください。
https://www.e-bellnet.com/category/technology/2510/2510-04.html -
CA信頼リストの追加(デフォルトは不要)
デフォルトでは、CA信頼リストは使用しない設定になっていますが、念のため設定を確認してみましょう。
DCMに接続後、「アプリケーション定義」を選択、「FTP」で検索すると「QIBM_QTMF_FTP_CLIENT」が見つかりますので、展開し「表示」を押します。
「CA信頼リストの定義」が「いいえ」となっています。
つまり、*SYSTEMストアにある有効なCAはすべて信頼されることになります。
ただ、もし個々の証明書を信頼済みとして指定したい場合には、以下URLを参考に設定を行ってください。
https://www.ibm.com/docs/en/i/7.5.0?topic=dcm-defining-ca-trust-list-applicationこれで設定自体は完了になります。次は実際のSSL通信です。
-
FTPコマンドにパラメータを指定する
クライアント側なので、FTPコマンドを実行する際にSSLに関するパラメータを追加指定するだけになります。
FTPコマンド例:
FTP RMTSYS('外部サーバー') PORT(*SECURE) SECCNN(*SSL)
あとは通常のFTPサブコマンドを使用して通信を行うことになります。
いかがでしたでしょうか。意外と手順はそこまで難しくないかと思います。
なお、証明書には期限があります。今回はFTPクライアントとなり、CA証明書の期限は長く設定されていますので更新のタイミングは多くないですが、いずれは期限が切れる、または認証局側で証明書が更新されるということもあるかと思いますので、更新手順は忘れないようお気を付けください。
by . かんぴょう木綿さん
