(57)【要約】【課題】証明書の有効期限が切れたアプリケーションの取り扱いについて柔軟性を持たせることのできる情報処理装置、証明書管理方法、及び証明書管理プログラムの提供を目的とする。【解決手段】アプリケーションの動作環境を提供するプラットフォームを有する情報処理装置であって、前記プラットフォームは、記憶装置に記録された前記アプリケーションの電子証明書を管理する証明書管理手段と、前記電子証明書に基づいてアプリケーションの起動の許否を判定し、起動が許可される場合に前記アプリケーションを起動させるアプリ起動制御手段と、定期的に前記電子証明書の有効期限を検査し、前記電子証明書について有効期限切れ又は有効期限が所定の期間内であることが検出された場合に、その旨を示す有効期限通知を予め通知先として登録されている前記アプリケーションに通知する通知手段とを有することにより上記課題を解決する。【選択図】図３
2008262353.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの動作環境を提供するプラットフォームを有する情報処理装置であって、
前記プラットフォームは、
記憶装置に記録された前記アプリケーションの電子証明書を管理する証明書管理手段と、
前記電子証明書に基づいてアプリケーションの起動の許否を判定し、起動が許可される場合に前記アプリケーションを起動させるアプリ起動制御手段と、
定期的に前記電子証明書の有効期限を検査し、前記電子証明書について有効期限切れ又は有効期限が所定の期間内であることが検出された場合に、その旨を示す有効期限通知を予め通知先として登録されている前記アプリケーションに通知する通知手段とを有することを特徴とする情報処理装置。
【請求項２】
前記アプリケーションは、前記有効期限通知を受けるためのインタフェースを前記通知手段に登録し、
前記通知手段は、前記インタフェースを介して前記有効期限通知を通知することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記通知手段には、前記電子証明書に対応する前記アプリケーションが前記有効期限の通知先として登録されており、
前記有効期限通知を通知された前記アプリケーションは、当該アプリケーションに応じた処理を実行することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記通知手段には、所定のアプリケーションが前記有効期限通知の通知先として登録されており、
前記通知手段は、前記電子証明書について有効期限切れ又は有効期限が所定の期間内であることが検出された前記アプリケーションとは異なる前記所定のアプリケーションに前記有効期限通知を通知することを特徴とする請求項１又は２記載の情報処理装置。
【請求項５】
前記所定のアプリケーションは、前記有効期限通知に係る前記アプリケーションの動作を制御することを特徴とする請求項４記載の情報処理装置。
【請求項６】
アプリケーションの動作環境を提供するプラットフォームを有する情報処理装置が実行する証明書管理方法であって、
前記プラットフォームが、記憶装置に記録された前記アプリケーションの電子証明書を管理する証明書管理手順と、
前記プラットフォームが、前記電子証明書に基づいてアプリケーションの起動の許否を判定し、起動が許可される場合に前記アプリケーションを起動させるアプリ起動制御手順と、
前記プラットフォームが、定期的に前記電子証明書の有効期限を検査し、前記電子証明書について有効期限切れ又は有効期限が所定の期間内であることが検出された場合に、その旨を示す有効期限通知を予め通知先として登録されている前記アプリケーションに通知する通知手順とを有することを特徴とする証明書管理方法。
【請求項７】
前記アプリケーションは、前記有効期限通知を受けるためのインタフェースを前記プラットフォームに登録し、
前記通知手順は、前記インタフェースを介して前記有効期限通知を通知することを特徴とする請求項６記載の証明書管理方法。
【請求項８】
前記プラットフォームには、前記電子証明書に対応する前記アプリケーションが前記有効期限の通知先として登録されており、
前記有効期限通知を通知された前記アプリケーションは、当該アプリケーションに応じた処理を実行することを特徴とする請求項６又は７記載の証明書管理方法。
【請求項９】
前記プラットフォームには、所定のアプリケーションが前記有効期限通知の通知先として登録されており、
前記通知手順は、前記電子証明書について有効期限切れ又は有効期限が所定の期間内であることが検出された前記アプリケーションとは異なる前記所定のアプリケーションに前記有効期限通知を通知することを特徴とする請求項６又は７記載の証明書管理方法。
【請求項１０】
前記所定のアプリケーションは、前記有効期限通知に係る前記アプリケーションの動作を制御することを特徴とする請求項９記載の証明書管理方法。
【請求項１１】
アプリケーションの動作環境を提供するプラットフォームを有する情報処理装置に、
前記プラットフォームが、記憶装置に記録された前記アプリケーションの電子証明書を管理する証明書管理手順と、
前記プラットフォームが、前記電子証明書に基づいてアプリケーションの起動の許否を判定し、起動が許可される場合に前記アプリケーションを起動させるアプリ起動制御手順と、
前記プラットフォームが、定期的に前記電子証明書の有効期限を検査し、前記電子証明書について有効期限切れ又は有効期限が所定の期間内であることが検出された場合に、その旨を示す有効期限通知を予め通知先として登録されている前記アプリケーションに通知する通知手順とを実行させるための証明書管理プログラム。
【請求項１２】
前記アプリケーションは、前記有効期限通知を受けるためのインタフェースを前記プラットフォームに登録し、
前記通知手順は、前記インタフェースを介して前記有効期限通知を通知することを特徴とする請求項１１記載の証明書管理プログラム。
【請求項１３】
前記プラットフォームには、前記電子証明書に対応する前記アプリケーションが前記有効期限の通知先として登録されており、
前記有効期限通知を通知された前記アプリケーションは、当該アプリケーションに応じた処理を実行することを特徴とする請求項１１又は１２記載の証明書管理プログラム。
【請求項１４】
前記プラットフォームには、所定のアプリケーションが前記有効期限通知の通知先として登録されており、
前記通知手順は、前記電子証明書について有効期限切れ又は有効期限が所定の期間内であることが検出された前記アプリケーションとは異なる前記所定のアプリケーションに前記有効期限通知を通知することを特徴とする請求項１１又は１２記載の証明書管理プログラム。
【請求項１５】
前記所定のアプリケーションは、前記有効期限通知に係る前記アプリケーションの動作を制御することを特徴とする請求項１４記載の証明書管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、証明書管理方法、及び証明書管理プログラムに関し、特にアプリケーションの正当性を証明する証明書を管理する情報処理装置、証明書管理方法、及び証明書管理プログラムに関する。
【背景技術】
【０００２】
近年では、アプリケーションの身分を証明するために電子的な証明書（電子証明書）が利用されるようになっている。例えば、アプリケーションに添付された証明書に基づいて当該アプリケーションの正当性を検査し、正当性が認められた場合に当該アプリケーションの起動を許可するプラットフォームが存在する。
【０００３】
証明書は、予めその正当性が認められたアプリケーションに対してのみ発行される。したがって、以上のような仕組みによれば、不正なアプリケーションの起動を防止することができ、当該アプリケーションの動作環境（プラットフォーム）を安全な状態に維持することができる。
【０００４】
ところで、一般的に、証明書には有効期限がある。従来、証明書の有効期限が切れたアプリケーションの取り扱いについては、例えば、当該アプリケーションを強制的に終了させる等、プラットフォームにおいて画一的に定義されていた。
【特許文献１】特開２００６−５９１４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、斯かる画一的な取り扱いは、柔軟性に欠け、時としてユーザに不便を感じさせる場合がある。すなわち、プラットフォーム上で動作するアプリケーションには様々なものがあり、証明書に関する取り扱いについても、アプリケーションに応じて柔軟に定義可能であることが望ましい。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、証明書の有効期限が切れたアプリケーションの取り扱いについて柔軟性を持たせることのできる情報処理装置、証明書管理方法、及び証明書管理プログラムの提供を目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、本発明は、アプリケーションの動作環境を提供するプラットフォームを有する情報処理装置であって、前記プラットフォームは、記憶装置に記録された前記アプリケーションの電子証明書を管理する証明書管理手段と、前記電子証明書に基づいてアプリケーションの起動の許否を判定し、起動が許可される場合に前記アプリケーションを起動させるアプリ起動制御手段と、定期的に前記電子証明書の有効期限を検査し、前記電子証明書について有効期限切れ又は有効期限が所定の期間内であることが検出された場合に、その旨を示す有効期限通知を予め通知先として登録されている前記アプリケーションに通知する通知手段とを有することを特徴とする。
【０００８】
このような情報処理装置では、証明書の有効期限が切れたアプリケーションの取り扱いについて柔軟性を持たせることができる。
【発明の効果】
【０００９】
本発明によれば、証明書の有効期限が切れたアプリケーションの取り扱いについて柔軟性を持たせることのできる情報処理装置、証明書管理方法、及び証明書管理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における機器管理システムの構成例を示す図である。図１において、機器管理システム１は、機器管理サーバ１０と、管理者ＰＣ（Personal Computer）２０と、機器３０ａ及び機器３０ｂ等（以下、総称する場合「機器３０」という。）と、証明書ダウンロードサーバ４０と等より構成されている。
【００１１】
機器管理サーバ１０、管理者ＰＣ２０、及び機器３０は、例えば、オフィス等におけるＬＡＮ（Local Area Network）等のネットワーク５０（有線又は無線の別は問わない。）を介して接続されている。証明書ダウンロードサーバ４０は、インターネット６０及びファイアーウォール７０等を介してＬＡＮ５０に接続されている。
【００１２】
機器管理サーバ１０は、機器３０を遠隔操作（動作指示や機器情報の取得等）するためのソフトウェアが実装されているコンピュータである。管理者ＰＣ２０は、機器３０の管理者が利用するＰＣ（Personal Computer）等のコンピュータである。管理者ＰＣ２０は、管理者によって入力される指示に応じ、機器管理サーバ１０に対して機器３０の遠隔操作に関する要求を行い、その遠隔操作の結果（例えば、機器情報）を表示させる。
【００１３】
機器３０は、プリンタ、複写機、又は複合機等の画像形成装置である。機器３０は、少なくとも機器管理サーバ１０による遠隔操作を可能とするための通信インタフェースを有している。
【００１４】
証明書ダウンロードサーバ４０は、証明書のダウンロードサービスを提供するコンピュータである。本実施の形態において「証明書」とは、機器管理サーバ１０において動作するアプリケーションの身分（正当性）を証明するためのデータ（例えば、公開鍵証明書等の電子証明書）をいう。特に、本実施の形態では、アプリケーションの起動（動作）の許否を判定するための認証に用いられる証明書を例とする。すなわち、機器管理サーバ１０では、正当な証明書が添付されたアプリケーションのみが起動を許可される。
【００１５】
なお、本実施の形態においては、機器管理サーバ１０における証明書の管理形態について注目する。
【００１６】
図２は、本発明の実施の形態における機器管理サーバのハードウェア構成例を示す図である。図２の機器管理サーバ１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、ＣＰＵ１０４と、インタフェース装置１０５とを有するように構成される。
【００１７】
機器管理サーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１８】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って機器管理サーバ１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１９】
なお、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。
【００２０】
図３は、機器管理サーバのソフトウェア構成例を示す図である。図３において、機器管理サーバ１０は、プラットフォーム１１、アプリＡ１２ａ、アプリケーション管理アプリ１２ｂ、及びタイマー１３等を有する。図３に示される各ソフトウェアは、ＣＰＵ１０４によってプログラムが処理されることにより機能する。
【００２１】
プラットフォーム１１は、アプリケーションの動作環境を提供する、いわゆるソフトウェアプラットフォームである。プラットフォーム１１は、アプリケーションに機器３０を遠隔操作させるための非図示の各種のライブラリ（クラスライブラリ等）を備える。但し、プラットフォーム１１上で動作するアプリケーションは、必ずしも機器３０を遠隔操作するためのものでなくてもよい。プラットフォーム１１は、一般的な業務アプリケーションを動作させるための機能も備える。なお、本実施の形態において「アプリケーション」は、プラットフォーム１１上で動作するアプリケーションのことをいう。
【００２２】
アプリＡ１２ａは、プラットフォーム１１上において動作するアプリケーションの一つである。
【００２３】
アプリケーション管理アプリ１２ｂは、それ自体プラットフォーム上において動作するアプリケーションであり、他のアプリケーションを管理するアプリケーションである。例えば、アプリケーション管理アプリ１２ｂは、アプリＡ１２ａ等の各種アプリケーションのインストール、アンインストール、更新（バージョンアップ）に関する機能を担う。
【００２４】
タイマー１３は、定期的に証明書管理サービス１１１に対して証明書の有効期限の検査（チェック）のタイミングを通知する。すなわち、本実施の形態において証明書は有効期限を有する。
【００２５】
本実施の形態では、機器管理サーバ１０における証明書の管理形態に注目している。したがって、図中においては、プラットフォーム１１又はアプリケーション１２の構成要素のうち、証明書の管理に関する機能のみが示されている。なお、証明書は、図３において証明書２００として示されている。証明書２００は、アプリケーションの正当性が審査された後、当該アプリケーションを審査した団体より発行される。
【００２６】
プラットフォーム１１は、証明書管理サービス１１１及びシステム管理サービス１１２を有する。証明書管理サービス１１１は、証明書２００の管理機能を提供するソフトウェアであり、証明書管理インタフェース１１１１、証明書管理コントロール１１１２、及び証明書リポジトリ１１１３等より構成される。証明書管理インタフェース１１１１は、証明書管理サービス１１１に対する要求をアプリケーションより受け付けるためのインタフェースである。証明書管理コントロール１１１２は、証明書管理インタフェース１１１１を介して受け付けられた要求に応じた処理を制御する。例えば、証明書管理コントロール１１１２は、証明書リポジトリ１１１３に対する証明書２００の登録、更新、削除等に関する処理を制御したり、証明書の２００有効期限に関する通知をアプリケーションに対して行ったりする。証明書２００の有効期限に関する通知とは、有効期限が切れたことの通知（期限切れ通知）、又は有効期限切れが間近であることの通知（期限切れ事前通知）等をいい、以下「有効期限通知」によって総称する。なお、図中において、証明書管理サービス１１１のブロック中にリスナー３００が示されている。リスナー３００は、アプリケーションが、有効期限通知を受けるために証明書管理サービス１１１に対して予め登録しておく情報であり、有効期限通知の対象とする証明書と、アプリケーションが有効期限通知を受けるための受け口を識別可能な情報とより構成される。
【００２７】
証明書リポジトリ１１１３は、証明書２００の管理を行うデータベースである。
【００２８】
システム管理サービス１１２は、証明書に基づいてアプリケーションの起動制御及び動作制御等を行うソフトウェアであり、システム管理インタフェース１１２１及びシステム管理コントロール１１２２等より構成される。
【００２９】
システム管理インタフェース１１２１は、システム管理サービス１１２に対する要求をアプリケーションより受け付けるためのインタフェースである。システム管理コントロール１１２２は、システム管理インタフェース１１２１を介して受け付けられた要求に応じた処理を制御する。
【００３０】
アプリＡ１２ａ及びアプリケーション管理アプリ１２ｂは、期限切れ通知リスナー１２１ａ又は期限切れ通知リスナー１２１ｂ（以下、総称する場合「期限切れリスナー１２１」という。）を含む。期限切れ通知リスナー１２１は、システム管理サービス１１２より有効期限通知を受けるための受け口となるインタフェース（例えば、予め定めされたインタフェースによるオブジェクト）である。すなわち、リスナー３００には、アプリケーションが有効期限通知を受けるための受け口として期限切れ通知リスナー１２１のインスタンス又は当該インスタンスの参照情報が登録される。
【００３１】
図４は、機器管理サーバのソフトウェアに関するデータモデルの例を示す図である。図４において、アプリケーション１２（アプリＡ１２ａやアプリケーション管理アプリ１２ｂを含む）とプラットフォーム１１１との多重度は、多対１である。これは、プラットフォーム１１１上では、０個以上（複数）のアプリケーション１２が動作可能であることを示す。
【００３２】
また、アプリケーション１２と証明書２００との多重度は多対多である。これは、一つのアプリケーション１２は、用途の異なる複数の証明書２００を利用しうることを示し、また、一つの証明書２００は、複数のアプリケーション１２によって利用されうることを示す。
【００３３】
また、プロットフォーム１１１と証明書リポジトリ１１１３との多重度は１対１である。これは、プラットフォーム１１１には、一つのみ証明書リポジトリ１１１３が存在することを示す。すなわち、プラットフォーム１１１上で動作する各アプリケーション１２は、一つの証明書リポジトリ１１１３によって提供されるサービス（証明書２００の管理機能）を共有する（換言すれば、証明書リポジトリ１１１３は、複数のアプリケーションによって登録が要求されたそれぞれの証明書２００を一元管理する）ことになる。これにより、アプリケーション１２の開発生産性及び品質の向上や、異なるアプリケーション１２を跨った証明書の管理等が可能となる。
【００３４】
また、プラットフォーム１１１とシステム管理サービス１１２との多重度は１対１である。これは、プラットフォーム１１１上には、一つのシステム管理サービス１１２が存在することを示す。
【００３５】
また、システム管理サービス１１２とアプリケーション１２との多重度は１対多である。これは、一つのシステム管理サービス１１２によって、複数のアプリケーション１２の動作制御等が行われることを示す。
【００３６】
以下、機器管理サーバ１０における処理手順について説明する。まず、証明書の有効期限が切れた場合（所定の期間内に有効期限が切れる場合も含む）のアプリケーション１２の取り扱いを当該アプリケーションの任意とする例について説明する。
【００３７】
図５は、機器管理サーバにおける第一の処理手順を説明するためのシーケンス図である。図５において、ステップＳ１０１〜Ｓ１１０は、アプリケーション１２の起動時の処理に関する。なお、図５では、アプリＡ１２ａをアプリケーション１２の一例として説明する。
【００３８】
例えば、プラットフォーム１１の起動時や、管理者ＰＣ２０からの要求の受信に応じてアプリケーション１２の起動がシステム管理インタフェース１１２１に要求されると（Ｓ１０１）、システム管理インタフェース１１２１は、アプリケーション１２の起動処理をシステム管理コントロール１１２２に要求（委譲）する（Ｓ１０２）。
【００３９】
続いて、システム管理コントロール１１２２は、アプリＡ１２ａの起動処理を開始する（Ｓ１０３）。起動処理においては、実際の起動に先立ち、アプリＡ１２ａの認証（起動の許否判定）が行われる。すなわち、システム管理コントロール１１２２は、アプリＡ１２ａに添付されている（関連付けられている）アプリＡ１２ａの電子署名と電子証明書とに基づいて、アプリＡ１２ａが改竄されていないことを確認（検証）する（Ｓ１０４）。
【００４０】
ここで、アプリＡ１２ａの電子署名とは、アプリＡ１２ａのメッセージダイジェスト（ハッシュ値）を暗号化したものである。また、アプリＡ１２ａの電子証明書にはアプリＡ１２ａの暗号鍵が添付されている。したがって、ステップＳ１０４において、システム管理コントロール１１２２は、電子証明書に添付されている暗号鍵を用いて、アプリＡ１２ａの電子署名を復号する。続いて、システム管理コントロール１１２２は、アプリＡ１２ａのメッセージダイジェストを算出し、当該メッセージダイジェストと電子署名を復号することによりえられた値とを比較する。両者が相違する場合、システム管理コントロール１１２２は、アプリＡ１２ａは、改竄されたと判定し、アプリＡ１２ａの起動処理を中止する。両者が一致する場合、システム管理コントロール１１２２は、アプリＡ１２ａは改竄されていないと判定する。
【００４１】
アプリＡ１２ａが改竄されていないことが検証された場合、システム管理コントロール１１２２は、アプリＡ１２ａに添付されている電子証明書の信頼性を検証する（Ｓ１０５）。当該検証は、アプリＡ１２ａに添付されている電子証明書と、証明書リポジトリ１１１３に予め登録されているアプリＡ１２ａの証明書２００とを照合すること（例えば、完全に一致するか否か等を比較すること）により行われる。当該照合により、アプリＡ１２ａに添付されている電子証明書が信頼できないもの（不正なもの）であると判定された場合、システム管理コントロール１１２２は、アプリＡ１２ａの起動処理を中止する。
【００４２】
アプリＡ１２ａに添付されている電子証明書の信頼性が検証された場合、アプリＡ１２ａは認証されたものとして、システム管理コントロール１１２２は、アプリＡ１２ａを起動させる（Ｓ１０６、Ｓ１０７）。
【００４３】
アプリＡ１２ａは、起動されると、自らに対応する証明書２００の有効期限通知を受けるための期限切れ通知リスナー１２１ａのインスタンスを生成する（Ｓ１０８）。続いて、アプリＡ１２ａは、当該証明書２００と期限切れ通知リスナー１２１ａとの登録を証明書管理インタフェース１１１１に要求する（Ｓ１０９）。証明書管理インタフェース１１１１は、当該登録要求に応じた処理を証明書管理コントロール１１１２に要求（委譲）する（Ｓ１１０）。証明書管理コントロール１１１２は、当該証明書２００と期限切れ通知リスナー１２１ａとを関連付けて、リスナー３００として補助記憶装置１０２に保存する。
【００４４】
ステップＳ１１１以降は、有効期限通知に関する。
【００４５】
タイマー１３は、時間の経過をトリガーとして定期的に（繰り返し）証明書管理インタフェース１１１１に対して証明書の有効期限のチェックを要求する（Ｓ１１１）。証明書管理インタフェース１１１１は、有効期限のチェック要求に応じた処理を証明書管理コントロール１１１２に委譲する（Ｓ１１２）。証明書管理コントロール１１１２は、証明書リポジトリ１１１３に登録されている証明書２００の有効期限のチェックを要求する（Ｓ１１３）。
【００４６】
証明書リポジトリ１１１３は、登録されている全ての証明書について有効期限通知の対象でないかをチェック（検査）する（Ｓ１１４）。すなわち、有効期限が切れていないか、又は有効期限が所定の期間内（例えば、１週間）でないか等がチェックされる。有効期限については、証明書２００の内部に格納されていてもよいし、証明書２００の属性情報として証明書の外部に登録されていてもよい。後者の場合、証明書２００の登録の際に有効期限の指定も必要となる。また、後者の場合、証明書リポジトリ１１１３は、証明書２００のデータ形式を知らなくても有効期限を識別できる。したがって、証明書２００についてより汎用的な管理が可能となる。
【００４７】
有効期限通知の対象となる証明書２００を検出した場合、証明書リポジトリ１１１３は、当該証明書２００をステップＳ１１３に対する応答として証明書管理コントロール１１１２に通知する。なお、ここでは、複数の証明書２００が有効期限通知の対象となりうる。また、証明書２００ごとにイベントの種別（期限切れであるか又は期限切れ事前通知であるかの別を示す情報）も証明書管理コントロール１１１２に通知される。
【００４８】
証明書管理インタフェース１１１１は、当該証明書２００と、ステップＳ１０９において登録されたリスナー３００とに基づいて、有効期限通知の出力先を判定する（Ｓ１１５）。すなわち、有効期限通知の対象とされた証明書２００のうち、リスナー３００に登録されている証明書２００について、リスナー３００において当該証明書２００に関連付けられている期限切れ通知リスナー１２１ａが有効期限通知の出力先として取り出される。
【００４９】
続いて、証明書管理コントロール１１１２は、取り出された期限切れ通知リスナー１２１ａに対して当該証明書２００の有効期限通知を行う（Ｓ１１６）。この際、有効期限通知の対象となった証明書２００を識別可能な情報及びイベント種別も共に通知される。
【００５０】
期限切れ通知リスナー１２１ａは、証明書管理コントロール１１１２からの有効期限通知によって、証明書２００の有効期限切れ又は有効期限が間近であることを認識することができる。そこで、期限切れ通知リスナー１２１ａは、アプリＡ１２ａに対して証明書の有効期限通知を出力する（Ｓ１１７）。アプリＡ１２ａは、有効期限通知に応じた処理を実行する（Ｓ１１８）。
【００５１】
なお、期限切れ通知リスナー１２１ａが、有効期限通知を受けた後の処理は、アプリケーション１２に応じて任意である。すなわち、図中のステップＳ１１７及びＳ１１８は、あくまでも一例であり、プラットフォーム１１では、この場合のアプリケーション１２の動作について画一的に規定しない。したがって、アプリケーション１２では、期限切れ通知リスナー１２１ａにおける処理定義や、又は、期限切れ通知リスナー１２１ａからアプリケーション１２に有効期限通知が通知された際の処理定義に応じて、例えば、新たな証明書２００を取得したり、管理者ＰＣ２０に対して有効期限切れ等を通知したりといったように、様々な処理が実行されうる。言い換えれば、プラットフォーム１１上で動作させるアプリケーション１２の開発者は、証明書２００の有効期限が切れた際のアプリケーション１２の動作を自由に定義することができる。
【００５２】
次に、証明書２００の有効期限が切れたアプリケーション１２の取り扱いをアプリケーション管理アプリ１２ｂによって統合的に管理する例、すなわち、証明書２００の有効期限が切れたアプリケーション１２の動作を他の（異なる）アプリケーション１２に制御させる例について説明する。
【００５３】
図６は、機器管理サーバにおける第二の処理手順を説明するためのシーケンス図である。
【００５４】
図６のＳ２０１〜Ｓ２０５までは、アプリケーション管理アプリ１２ｂの起動時の処理に関する。当該処理は、アプリケーション管理アプリ１２ｂが起動対象とされている点を除き、図５のＳ１０１〜Ｓ１１０において説明した処理とほぼ同様である。したがって、ステップＳ２０１〜Ｓ２０５の処理によって、アプリケーション管理アプリ１２ｂが起動され、アプリケーション管理アプリ１２ｂの期限切れ通知リスナー１２１ｂがリスナー３００として登録される。
【００５５】
但し、期限切れ通知リスナー１２１ｂの対象となる証明書２００には、アプリＡ１２ａの証明書２００の証明書も含まれる。したがって、期限切れ通知リスナー１２１ｂにはアプリＡ１２ａの証明書２００も関連付けられてリスナー３００として登録される。なお、アプリケーション管理アプリ１２ｂは、証明書管理サービス１１１に対して要求することにより、証明書リポジトリ１１１３に登録されているアプリＡ１２ａの証明書２００を取得することができる。
【００５６】
すなわち、図６では、各アプリケーション１２の証明書２００の有効期限通知の通知先は、アプリケーション管理アプリ１２ｂの期限切れ通知リスナー１２ｂとされる。なお、図６ではアプリケーション管理アプリ１２ｂの認証処理については便宜上省略されている。
【００５７】
続いて、ステップＳ１０６において、システム管理コントロール１１２２は、アプリＡ１２ａを起動させる。但し、当該ステップの前に、図５と同様にアプリＡ１２ａの認証処理が行われるが、図６において当該処理は便宜上省略されている。なお、図６では、アプリＡ１２ａの期限切れ通知リスナー１２ａの登録は行われない。上述したように、各アプリケーション１２の有効期限切れの通知先は、アプリケーション管理アプリ１２ｂの期限切れ通知リスナー１２ｂとされるからである。したがって、図６の例では、アプリケーション１２ごとに期限切れ通知リスナー１２の実装は不要である。
【００５８】
ステップＳ２１１〜Ｓ２１７は、図５のステップＳ１１１〜Ｓ１１７とほぼ同様である。但し、図６では、各アプリケーション１２の証明書２００の有効期限通知の通知先は、期限切れ通知リスナー１２１ｂとしてリスナー３００に登録されている。したがって、例えば、ステップＳ２１４において、アプリＡ１２ａの証明書２００の有効期限切れ等が検出された場合、その有効期限通知は、アプリケーション管理アプリ１２ｂの期限切れ通知リスナー１２１ｂに通知される（Ｓ２１６）。期限切れ通知リスナー１２１ｂは、アプリケーション管理アプリ１２ｂにアプリＡ１２ａの証明書２００の有効期限切れ等を通知する（Ｓ２１７）。
【００５９】
その後、アプリケーション管理アプリ１２ｂは、他のアプリケーション１２の証明２００書の有効期限切れ等が通知された場合の処理として予め定義されている処理を実行する。図６の例では、アプリケーション管理アプリ１２ｂは、アプリＡ１２ａの停止をシステム管理インタフェース１１２１に要求する（Ｓ２１８）。システム管理インタフェース１１２１は、当該要求に応じた処理をシステム管理コントロール１１２２に委譲する（Ｓ２１９）。システム管理コントロール１１２２は、アプリＡ１２ａを終了させる（Ｓ２２０）。
【００６０】
図６の場合、アプリケーション管理アプリ１２ａにおいて、証明書の有効期限が切れた場合のアプリケーション１２の振る舞いが画一的に制御される。但し、アプリケーション管理アプリ１２ａも、アプリケーション１２の一つである。したがって、プラットフォーム１１において証明書の有効期限が切れた場合の振る舞いが定義される場合に比べて、より柔軟性のある構成を実現することができる。
【００６１】
上述したように、本実施の形態における機器管理サーバ１０のプラットフォーム１１では、有効期限通知がアプリケーション１２に通知されるように構成されており、証明書の有効期限が切れた場合の各アプリケーション１２の振る舞い又は取り扱いについては画一的に定義されていない。したがって、証明書の有効期限が切れた場合の振る舞い又は取り扱いをアプリケーション１２に応じて柔軟に定義することができる。
【００６２】
なお、プラットフォーム１１は、機器３０（画像形成装置）に実装されていてもよい。この場合画像形成装置上において動作するアプリケーションについて、機器管理サーバ１０と同様の証明書の管理機能を実現することができる。
【００６３】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施の形態における機器管理システムの構成例を示す図である。
【図２】本発明の実施の形態における機器管理サーバのハードウェア構成例を示す図である。
【図３】機器管理サーバのソフトウェア構成例を示す図である。
【図４】機器管理サーバのソフトウェアに関するデータモデルの例を示す図である。
【図５】機器管理サーバにおける第一の処理手順を説明するためのシーケンス図である。
【図６】機器管理サーバにおける第二の処理手順を説明するためのシーケンス図である。
【符号の説明】
【００６５】
１          機器管理システム
１０        機器管理サーバ
１１        プラットフォーム
１２        アプリケーション
１２ａ        アプリＡ
１２ａ        アプリケーション管理アプリ
２０        管理者ＰＣ
３０、３０ａ、３０ｂ    機器
４０        証明書ダウンロードサーバ
１００      ドライブ装置
１０１      記録媒体
１０２      補助記憶装置
１０３      メモリ装置
１０４      ＣＰＵ
１０５      インタフェース装置
１１１      証明書管理サービス
１１２      システム管理サービス
１２１ａ、１２１ｂ    期限切れ通知リスナー
２００      証明書
３００      リスナー
１１１１    証明書管理インタフェース
１１１２    証明書管理コントロール
１１１３    証明書リポジトリ
１１２１    システム管理インタフェース
１１２２    システム管理コントロール
Ｂ    バス
【図１】
2008262353.tif 000003
【図２】
2008262353.tif 000004
【図３】
2008262353.tif 000005
【図４】
2008262353.tif 000006
【図５】
2008262353.tif 000007
【図６】
2008262353.tif 000008