HTTPSに対応したセキュアなクライアント情報登録アプリケーション

事例のご紹介 (2001年)

案件 パソコン資産管理システムのMacintosh版クライアント開発
オーナー 大手ソフトウェア会社
対象業務 パソコン資産管理
システム構成 クライアント:Macintosh(OS8.6~OS9.x)
サーバOS:Windows NT
Webサーバ:Internat Information Server
DB:Microsoft SQL Server
通信モジュール:OpenSSL
開発ツール CodeWarrior C/C++

企業が所有する膨大な数のパソコン資産をサーバー上で効率的に一元管理するシステムの Macintosh版クライアントアプリケーション。 クライアントアプリケーションは、Macintoshマシンの以下の情報を取得する。

  • OSバージョン、コンピュータ名などのシステム情報
  • メモリ容量、CPU、ビデオカードなどのハードウェア情報
  • MACアドレス、IPアドレス、DNSなどのネットワーク情報
  • ディスク種別、ディスク容量などのドライブ情報
  • インストールされているアプリケーションの情報

システム概念図

当初、HTTPS通信はMacOSに標準で備わっている 「URL Access Manager」の機能を利用する予定だった。 ところが「URL Access Manager」には、 データ転送量が多いと不安定になったり、 WebサーバによってはSSL暗号化した接続が不安定になる不具合があった。 Apple社もこの不具合を認めたが、Apple社はすでにMaxOSXに夢中であり、 MacOS9の「URL Access Manager」の修正予定は未定だと言われてしまった。

一からHTTPS通信モジュールを作成するとなると、 多大な費用と期間を費やしプロジェクトも赤字になってしまう。 そこでメーリングリストなどいろいろ社外からも情報を集めたところ、 オープンな「OpenSSL」が使えるという情報を得た。 「OpenSSL」をMacintoshにポーティングすることを試みたところ、 わずか3日でポーティングすることができた。 OpenTransPort化やマルチスレッド化にも成功した。

今回は、「SSL暗号化したテスト用Webサーバの構築」、 「ライブアップデートの実現方法」など技術的にいろいろなことを勉強できたが、 「Apple社に不具合を認めさせる苦労」、「社外からの効果的な情報収集方法」 などプログラム以外のノウハウを得ることができたのが貴重であった。