C400

34. SSL を V4R4M0 以上で開発するには?

SSL(Secure Socket Layer) でセキュアな TCP/IP接続を V4R4M0 でも開発したい。

しかし SSL をユーザーで開発しようとすると V5R1M0 からの GSKit が必要であるので

V5R1M0 以上でないと開発は無理なのであろうか?

ソフトウェア・パッケージの開発ではできるだけ下位リリースの OS400もサポートしたい。

方法がひとつだけあるのでここで紹介する。

IBM は IBM HTTPサーバーは V4R1M0 より SSL をサポートしていると公言している。

だとしたら SSL をサポートしているサービス・プログラム(*SRVPGM) がどこかに存在している

はずである。

調べてみると SSL をサポートしている *SRVPGMQSYS/QSOSSLSR という名前の

*SRVPGM であることが判明した。

実は V5R1M0 からの GSKit も QSYS/QSOSSLSR のプロシージャーが増えただけのことで

ある。

SSL を開発するには GSKit でなくても SSL_API も提供されており、 SSL_API の中身は、

やはり QSYS/QSOSSLSR である。

例えば V4R4M0 では SSL_API のプロトタイプ関数の H 仕様書は存在していないが

V5R4M0 などの APIマニュアルを参照すれば関数の詳細も知ることができる。

従って V4R4M0 などの下位リリースでは、関数のプロトタイプだけ自分で定義してから

QSYS/QSOSSLSR *SRVPGM をバインドしてコンパイルすれば IBM と同じように

SSL によるセキュアな TCP/IP通信を実現することができる。

調べてはいないが恐らくは V4R1M0 以上であれば SSL の開発は可能となるであろう。

このように *SRVPGM さえ特定してしまえば比較的低いリリースであってもIBM と同じような

高度な開発を可能にかることができるのである。

EnterpriseServer Ver4.0 では、この手法によって SSL をサポートする予定である。