(57)【要約】【課題】  情報処理装置は、電子証明書の失効情報の次の更新タイミングまで待機するか、電子証明書の失効情報の取得要求を認証局に送信するための指示を入力しない限り、情報処理装置が保持する電子証明書が失効している事を認識することができない。【解決手段】  情報処理装置は、認証局によって発行された電子証明書の失効情報を認証局から取得するための要求を、情報処理装置に保持された電子証明書を用いた外部装置との通信を行うにあたってエラーが発生したことに従って、認証局に送信する。【選択図】  図３
2017098914.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信可能な情報処理装置であって、
認証局によって発行された電子証明書を保持する保持手段と、
前記保持手段に保持された電子証明書を用いて前記外部装置と通信を行う通信手段と、
前記認証局によって発行された電子証明書の失効情報を前記認証局から取得するための要求を、前記通信手段による通信を行うにあたってエラーが発生したことに従って、前記認証局に送信する送信手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記送信手段によって前記要求が前記認証局に送信されたことに基づいて、前記認証局によって発行された電子証明書の失効情報を前記認証局から受信する受信手段と、
前記通信手段による通信を行うにあたって用いられた電子証明書が失効しているか否かを判断する第１の設定、及び、前記保持手段に保持された複数の電子証明書のそれぞれが失効しているか否かを判断する第２の設定のいずれか一方をユーザから受け付ける受付手段と、
前記受付手段によって前記第１の設定を受け付けた場合、前記通信手段による通信を行うにあたって用いられた電子証明書が失効しているか否かを、前記受信手段によって受信された前記失効情報に基づいて判断し、前記受付手段によって前記第２の設定を受け付けた場合、前記保持手段に保持された複数の電子証明書のそれぞれが失効しているか否かを、前記受信手段によって受信された前記失効情報に基づいて判断する判断手段と、
を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記送信手段によって前記要求が前記認証局に送信されたことに基づいて、前記認証局によって発行された電子証明書の失効情報を前記認証局から受信する受信手段と、
前記通信手段による通信を行うにあたって用いられた電子証明書が失効しているか否かを、前記受信手段によって受信された前記失効情報に基づいて判断する判断手段と、
を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記送信手段によって前記要求が前記認証局に送信されたことに基づいて、前記認証局によって発行された電子証明書の失効情報を前記認証局から受信する受信手段と、
前記保持手段に保持された複数の電子証明書のそれぞれが失効しているか否かを、前記受信手段によって受信された前記失効情報に基づいて判断する判断手段と、
を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記保持手段に保持された電子証明書が失効していると前記判断手段によって判断されたことに基づいて、前記認証局によって発行された新たな電子証明書を取得する取得手段を更に有し、
前記保持手段は、前記取得手段によって取得された前記新たな電子証明書を保持する
ことを特徴とする請求項２乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記保持手段に保持された電子証明書が失効していると前記判断手段によって判断されたことに基づいて、前記保持手段に保持された電子証明書が失効していることを通知する通知手段
を更に有することを特徴とする請求項２乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記保持手段に保持された電子証明書の情報を表示する表示手段を更に有し、
前記通知手段は、前記表示手段に表示された電子証明書の情報に対応づけて、前記保持手段に保持された電子証明書が失効していることを通知する
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
外部装置と通信可能な情報処理装置の制御方法であって、
認証局によって発行された電子証明書を保持手段に保持する保持工程と、
前記保持手段に保持された電子証明書を用いて前記外部装置と通信を行う通信工程と、
前記認証局によって発行された電子証明書の失効情報を前記認証局から取得するための要求を、前記通信工程による通信を行うにあたってエラーが発生したことに従って、前記認証局に送信する送信工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項９】
請求項８に記載の情報処理装置の制御方法を、コンピュータに実行させるためのプログラム。
【請求項１０】
請求項９に記載のプログラムを格納した、コンピュータで読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
情報処理装置は、認証局によって署名され、認証局によって発行された電子証明書を、保持手段に保持する。そして、情報処理装置は、保持手段に保持された電子証明書を、セキュアな通信を行うために外部装置に送信する。続いて、外部装置は、情報処理装置によって送信された電子証明書を認証局に問い合わせて、この情報処理装置が通信相手として正当かどうかを判断する。そして、外部装置は、この情報処理装置が通信相手として正当であると判断した場合、情報処理装置との間でセキュアな通信を行う。
【０００３】
認証局の管理者は、認証局によって発行された電子証明書を、有効期限が切れていなくても失効させることがある。例えば、認証局によって発行された公開鍵証明書に含まれる公開鍵の鍵ペアである秘密鍵が情報処理装置の外部に漏洩した場合、認証局の管理者は、秘密鍵が情報処理装置の外部に漏洩したことを知ると、この公開鍵証明書を失効させる。
【０００４】
特許文献１に記載の検証サーバは、公開鍵証明書の失効情報の更新タイミング（例えば、１日）を認証局ごとに設定する。そして、この検証サーバは、予め設定された更新タイミングになったときに、公開鍵証明書の失効情報の取得要求を認証局に送信する（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１４３７６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
認証局の管理者は、情報処理装置が保持している電子証明書を失効させたことを、メールや電話や口頭で、失効した電子証明書の所有者（即ち、情報処理装置の管理者）に連絡する。そして、情報処理装置が保持している電子証明書が失効したことを知った情報処理装置の管理者は、情報処理装置の操作部を操作して、情報処理装置が保持している失効中の電子証明書を有効な電子証明書に入れ替える作業を行う。失効中の電子証明書を有効な電子証明書に入れ替える作業が情報処理装置の管理者によって行われない限り、情報処理装置は、失効中の電子証明書をそのまま用いて外部装置とセキュアな通信を試みてしまう。一方、外部装置は、情報処理装置によって送信された電子証明書を認証局に問い合わせて、この情報処理装置が通信相手として正当かどうかを判断する。そして、外部装置は、情報処理装置によって送信された電子証明書が既に失効しているために、この情報処理装置が通信相手として正当でないと判断する。このとき、情報処理装置には、通信拒否のエラーが外部装置から返される。しかしながら、情報処理装置には、通信拒否のエラーが発生した原因までは外部装置から通知されない。
【０００７】
通信拒否のエラーが発生する要因には、電子証明書が失効していることの他に、例えば、暗号通信で用いる暗号アルゴリズムや暗号強度が外部装置に設定された条件を満たしていないことが挙げられる。また、通信拒否のエラーが発生する要因には、情報処理装置と外部装置との間のネットワーク環境の異常が起きていることや、外部装置のハードウェアの異常等が起きていること等が挙げられる。その一方で、情報処理装置は、電子証明書の失効情報の次の更新タイミングまで待機するか、電子証明書の失効情報の取得要求を認証局に送信するための指示を入力しない限り、情報処理装置が保持する電子証明書が失効している事を認識することができない。
【０００８】
本発明は、上記の課題に鑑みてなされたものである。本発明の目的は、情報処理装置が保持している電子証明書を用いた外部装置との通信を行うにあたってエラーが発生した原因が、情報処理装置が保持している電子証明書の失効であることを確認できる装置や方法等を提供することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、外部装置と通信可能な情報処理装置であって、認証局によって発行された電子証明書を保持する保持手段と、前記保持手段に保持された電子証明書を用いて前記外部装置と通信を行う通信手段と、前記認証局によって発行された電子証明書の失効情報を前記認証局から取得するための要求を、前記通信手段による通信を行うにあたってエラーが発生したことに従って、前記認証局に送信する送信手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、情報処理装置が保持している電子証明書を用いた外部装置との通信を行うにあたってエラーが発生した原因が、情報処理装置が保持している電子証明書の失効であることを確認することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係るネットワークシステムの構成を示すブロック図である。
【図２】本実施形態に係るＭＦＰのハードウェアの構成を示すブロック図である。
【図３】第１の実施形態に係る制御例を説明するためのフローチャートである。
【図４】第１の実施形態に係る制御例を説明するためのフローチャートである。
【図５】第１の実施形態に係る画面の構成を説明するための図である。
【図６】第１の実施形態に係るテーブルを説明するための模式図である。
【図７】第１の実施形態に係る画面の構成を説明するための図である。
【図８】第１の実施形態に係る制御例を説明するためのフローチャートである。
【図９】第１の実施形態に係る制御例を説明するためのフローチャートである。
【図１０】第１の実施形態に係る画面の構成を説明するための図である。
【図１１】第１の実施形態に係る画面の構成を説明するための図である。
【図１２】第１の実施形態に係る制御例を説明するためのフローチャートである。
【図１３】第２の実施形態に係る画面の構成を説明するための図である。
【図１４】第２の実施形態に係る制御例を説明するためのフローチャートである。
【図１５】第２の実施形態に係る制御例を説明するためのフローチャートである。
【図１６】第３の実施形態に係る画面の構成を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について添付図面を参照して詳しく説明する。尚、以下の実施
形態は特許請求の範囲に係る本発明を限定するものではなく、また本実施形態で説明され
ている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
［第１の実施形態］
第１の実施形態では、認証局によって発行された電子証明書の失効情報を認証局から取得するための要求を、情報処理装置に保持された電子証明書を用いた外部装置との通信を行うにあたってエラーが発生したことに従って、認証局に送信する。
【００１４】
以下に、詳細を説明する。
【００１５】
本発明の第１の実施形態に係るネットワークシステムの全体の構成について、図１のブロック図を用いて説明する。ネットワークシステムは、情報処理装置の一例であるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００と、認証局（ＣＡ：Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ）１１０と、外部装置の一例であるサーバ装置１２０とを備える。
【００１６】
ＭＦＰ１００と、認証局１１０と、サーバ装置１２０とは、ネットワーク１３０を介して接続されている。このため、ＭＦＰ１００と、認証局１１０と、サーバ装置１２０とは、互いに通信可能であり、データを送受信することができる。ネットワーク１３０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であってもよく、インターネット等のＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であってもよい。尚、ネットワーク１３０を介して１台のサーバ装置１２０がＭＦＰ１００に接続される構成を図１に例示したが、本発明はこれに限られない。ネットワーク１３０を介して複数台のサーバ装置１２０がＭＦＰ１００に接続される構成であってもよい。
【００１７】
ＭＦＰ１００は、画像入力デバイスであるスキャナ部、及び、画像出力デバイスであるプリンタ部を備えている。スキャナ部は、原稿トレイに積載された原稿を搬送するための自動原稿給送部、及びＣＣＤセンサ等の光学センサを用いて原稿の画像を読み取るための画像読取部を有する。この画像読取部は、原稿の画像を読み取って生成された画像データを、ＭＦＰ１００のコントローラ部に転送する。コントローラ部は、ネットワーク１３０を介してサーバ装置１２０と接続され、サーバ装置１２０からジョブの受信等の処理を行う。プリンタ部は、スキャナ部やサーバ装置１２０から入力された画像データに基づいて、シートに画像を印刷する。尚、プリンタ部による印刷は、カラーであっても、モノクロであってもよい。
【００１８】
また、ＭＦＰ１００は、原稿を読み取って画像データを生成し、生成した画像データに基づいてシートに画像を印刷するコピー機能を備えている。更に、ＭＦＰ１００は、ＰＣから印刷ジョブを受信し、印刷指示を受け付けたデータに基づいて、シートに文字や画像を印刷するＰＣプリント機能を備えている。
【００１９】
また、ＭＦＰ１００は、認証や暗号化や電子署名等に用いるための公開鍵暗号化手段で秘密鍵と公開鍵を生成し、生成した秘密鍵と公開鍵を保持する機能を備えている。更に、ＭＦＰ１００は、電子証明書を発行する認証機関である認証局１１０に対して、ネットワーク１３０上でＭＦＰ１００を識別するためのホスト識別情報と公開鍵を含む電子証明書（以降、公開鍵証明書と呼ぶ。）の発行要求を生成する機能を備えている。尚、ネットワーク１３０上でＭＦＰ１００を識別するためのホスト識別情報とは、例えば、ＩＰアドレスやＦＱＤＮ（Ｆｕｌｌｙ  Ｑｕａｌｉｆｉｅｄ  Ｄｏｍａｉｎ  Ｎａｍｅ）名やＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）名等である。更に、ＭＦＰ１００は、電子証明書の発行要求を無効化させるための通知や、発行済みの電子証明書を失効させるための通知を、認証局１１０に対して送信する機能を備えている。
【００２０】
ＭＦＰ１００は、サーバ装置１２０と通信する際に、ＭＦＰ１００が保持しているクライアント証明書をサーバ装置１２０に送信する。そして、サーバ装置１２０は、ＭＦＰ１００からクライアント証明書を取得する。そして、サーバ装置１２０は、ＭＦＰ１００から取得したクライアント証明書を認証局１１０に問い合わせて、ＭＦＰ１００が通信相手として正当であるかどうかを判断する。そして、ＭＦＰ１００が通信相手として正当であると判断された場合に、サーバ装置１２０とＭＦＰ１００との間でセキュアな通信が行われる。
【００２１】
第１の実施形態では、ＭＦＰ１００がクライアントとなり、且つ、サーバ装置１２０がサーバとなる場合について説明する。ＭＦＰ１００は、認証局１１０によって署名され、認証局１１０によって発行された公開鍵証明書（クライアント証明書）を保持している。また、サーバ装置１２０は、認証局１１０によって署名され、認証局１１０によって発行された公開鍵証明書（サーバ証明書）を保持している。サーバ装置１２０は、ＭＦＰ１００と通信する際に、サーバ装置１２０が保持しているサーバ証明書をＭＦＰ１００に送信する。そして、ＭＦＰ１００は、サーバ装置１２０からサーバ証明書を取得する。そして、ＭＦＰ１００は、サーバ装置１２０から取得したサーバ証明書を認証局１１０に問い合わせて、サーバ装置１２０が通信相手として正当かどうかを判断する。そして、サーバ装置１２０が通信相手として正当であると判断された場合に、ＭＦＰ１００とサーバ装置１２０との間でセキュアな通信が行われる。
【００２２】
続いて、第１の実施形態に係るＭＦＰ１００のハードウェア構成について、図２のブロック図を用いて説明する。
【００２３】
コントローラ部２００は、ＣＰＵ２０５、ＲＡＭ２０６、操作部Ｉ／Ｆ２０９、ネットワークＩ／Ｆ２１１、ＭＯＤＥＭ２１２、ＳＲＡＭ２１３、ＲＯＭ２０７、ＨＤＤ２０８、ＩｍａｇｅＢｕｓＩ／Ｆ２１６、ＲＴＣ２１４と、を備える。これらの各モジュールは、それぞれ、システムバス２１５、又はハブを介して互いに接続されており、互いにデータを送受信することができる。
【００２４】
また、コントローラ部２００は、ＲＩＰ部２１８、デバイスＩ／Ｆ２１９、スキャナ画像処理部２２０、プリンタ画像処理部２２１、暗号処理部２２２、復号化処理部２２３と、を備える。これらの各モジュールは、それぞれ、画像バス２１７、又はハブを介して互いに接続されており、互いにデータを送受信することができる。
【００２５】
また、コントローラ部２００は、デバイスＩ／Ｆ２１９を介して、画像入力デバイスであるスキャナ部２０１や、画像出力デバイスであるプリンタ部２０２と接続される。また、コントローラ部２００は、ネットワークＩ／Ｆ２１１を介して、ネットワーク１３０と接続され、画像情報やデバイス情報の入出力を行う。また、コントローラ部２００は、ＭＯＤＥＭ２１２を介して公衆回線２０４と接続され、画像情報やデバイス情報の入出力を行う。また、コントローラ部２００は、操作部Ｉ／Ｆ２０９を介して、操作部２１０と接続され、操作部２１０でユーザからの入力の受付や画面の表示を行う。
【００２６】
ＣＰＵ２０５は、ＲＯＭ２０７やＨＤＤ２０８に記憶された制御プログラム等に基づいて、ＭＦＰ１００を統括的に制御する。ＣＰＵ２０５は、ＲＯＭ２０７やＨＤＤ２０８に記憶された制御プログラムを読み出して、ＲＡＭ２０６に展開し、各種の制御処理を実行する。例えば、ＣＰＵ２０５は、スキャナ部２０１による読み取りの制御や、プリンタ部２０２による印刷の制御や、ファームウェアのアップデートの制御等の各種の制御処理を実行する。
【００２７】
ＨＤＤ２０８は、主に、コンピュータを起動・動作させるために必要な情報（システムソフトウェア）や画像データを記憶する。また、ＨＤＤ２０８は、ＣＰＵ２０５により実行される、図３、図４、図８、図９、図１２、図１４、図１５で後述するフローチャートの各種処理等を実行するために必要な各種の制御プログラムを記憶する。また、ＨＤＤ２０８は、操作部２１０の表示パネルに各種の画面を表示させるための表示制御プログラムや、ラスタライズを実行するプログラム等を記憶する。ＣＰＵ２０５が、ＨＤＤ２０８に記憶されているプログラムを読み出して、ＲＡＭ２０６に当該プログラムを展開することにより、本実施形態に係る各種動作を実行する。
【００２８】
ＨＤＤ２０８には、認証局１１０によって署名され、認証局１１０によって発行された公開鍵証明書が格納されている。また、ＨＤＤ２０８は、図６で後述する公開鍵証明書の管理テーブルを記憶する。この管理テーブルには、認証局１１０によって発行された公開鍵証明書の各種の情報（例えば、名前、用途、失効フラグ、発行者、有効期限、シリアル番号等）が記憶されている。尚、用途とは、認証局１１０によって発行された公開鍵証明書を使用してサーバ装置１２０と通信するために、どの通信プロトコルが使用されるかを示す。通信処理を実行する際の一般的な通信プロトコルとして、例えば、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）やＩＥＥＥ８０２．１ｘ通信がある。
【００２９】
ＲＡＭ２０６は、読み出し及び書き込み可能なメモリである。また、ＲＡＭ２０６は、ＣＰＵ２０５が動作するためのシステムワークメモリでもある。更に、ＲＡＭ２０６は、スキャナ部２０１やサーバ装置１２０等から入力された画像データの一時記憶領域として用いられる。
【００３０】
ＲＯＭ２０７は、読み出し専用のメモリである。ＲＯＭ２０７には、ブートＲＯＭである。ＲＯＭ２０７には、システムのブートプログラムが予め記憶されている。また、ＲＯＭ２０７には、ＭＦＰ１００に固有の管理用データが予め記憶されている。尚、ＣＰＵ２０５により実行される、図３、図４、図８、図９、図１２、図１４、図１５で後述するフローチャートの各種処理等を実行するために必要な各種の制御プログラムは、ＨＤＤ２０８ではなくＲＯＭ２０７に記憶されていてもよい。また、操作部２１０の表示パネルに各種の画面を表示させるための表示制御プログラムや、ラスタライズを実行するプログラム等は、ＨＤＤ２０８ではなくＲＯＭ２０７に記憶されていてもよい。この場合、ＣＰＵ２０５が、ＲＯＭ２０７に記憶されているプログラムを読み出して、ＲＡＭ２０６に当該プログラムを展開することにより、本実施形態に係る各種動作を実行する。
【００３１】
操作部２１０は、タッチパネル機能を有する表示パネル（タッチパネル）と、ハードウェアキーと、を備える。この表示パネルには、ＣＰＵ２０５によって作成されたＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）画面がＲＡＭ２０６から読み出されることで、当該ＵＩ画面が表示される。ユーザは、タッチパネルやハードウェアキー等を用いて、各種の設定や入力を行う。そして、ＣＰＵ２０５は、タッチパネルやハードウェアキー等を介して、ユーザから受け付けた各種の設定や入力を受け付ける。このタッチパネルは、タッチされた座標情報をＣＰＵ２０５に通知する。
【００３２】
操作部Ｉ／Ｆ２０９は、操作部２１０とコントローラ部２００を接続するインタフェースである。操作部Ｉ／Ｆ２０９は、表示パネルに表示するための画像データを操作部２１０に出力する。また、操作部Ｉ／Ｆ２０９は、操作部２１０を介してユーザによって入力された情報をＣＰＵ２０５に伝達する。
【００３３】
ネットワークＩ／Ｆ２１１は、ネットワーク１３０に接続し、情報の入出力を行う。ＭＯＤＥＭ２１２は、公衆回線２０４に接続し、情報の入出力を行う。ＳＲＡＭ２１３は、高速で動作可能な不揮発性の記録媒体である。ＲＴＣ２１４は、リアルタイムクロックであり、コントローラ部２００に電源が入っていない状態でも現在の時刻をカウントし続ける処理を行う。ＩｍａｇｅＢｕｓＩ／Ｆ２１６は、システムバス２１５と、画像データを高速で転送する画像バス２１７とを接続し、データ構造を変換するバスブリッジである。画像バス２１７は、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。ＲＩＰ部２１８は、ネットワーク１３０を経由して送られてきたＰＤＬデータを、ラスタライズすることにより、ビットマップデータ（イメージファイル）を生成する。
【００３４】
デバイスＩ／Ｆ２１９は、スキャナ部２０１やプリンタ部２０２と、コントローラ部２００とを接続し、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部２２０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部２２１は、ＲＩＰ部２１８によって生成されたイメージファイルに対して、プリンタ部２０２のプリンタエンジンに適した解像度変換処理や補正処理を行う。尚、ビットマップ画像や印刷処理コマンド等のデータは、デバイスＩ／Ｆ２１９とプリンタエンジンとの間で送受信が行われる。そして、プリンタエンジンは、送られたデータに基づく印刷処理を実行する。暗号処理部２２２は、画像データを含む入力データの暗号化処理を行う。復号化処理部２２３は、暗号化データの復号化処理を行う。
【００３５】
第１の実施形態では、認証局によって発行された電子証明書の失効情報を認証局から取得するための要求を、情報処理装置に保持された電子証明書を用いた外部装置との通信を行うにあたってエラーが発生したことに従って、認証局に送信する。例えば、ＭＦＰ１００は、ＨＤＤ２０８に格納された公開鍵証明書を用いてサーバ装置１２０とセキュアな通信を行おうとし、サーバ装置１２０から通信拒否のエラーを受信する。そして、ＭＦＰ１００は、サーバ装置１２０から通信拒否のエラーを受信したことに従って、認証局１１０によって発行された公開鍵証明書の失効情報を取得するための要求を認証局１１０に送信する。
【００３６】
これにより、情報処理装置は、電子証明書の失効情報の次の更新タイミングまで待機したり、電子証明書の失効情報の取得要求を認証局に送信するための指示を入力したりしなくても、情報処理装置が保持する電子証明書が失効している事を認識することができる。また、情報処理装置の管理者は、情報処理装置が保持している電子証明書を用いた外部装置との通信を行うにあたってエラーが発生した原因が、情報処理装置が保持している電子証明書の失効であることを確認できるようになる。
【００３７】
第１の実施形態に係るＭＦＰ１００において、ＭＦＰ１００が保持している公開鍵証明書が、通信拒否のエラーが発生したことに従って自動で更新されるまでの一連の処理を、図３に係るフローチャートを用いて説明する。この処理は、ＣＰＵ２０５が、ＲＯＭ２０７又はＨＤＤ２０８から読み出してＲＡＭ２０６に展開された制御プログラムを実行することで行われる。
【００３８】
まず、ＣＰＵ２０５は、ＭＦＰ１００が保持している公開鍵証明書を使用して、通信処理を実行する（Ｓ３０１）。このとき、ＭＦＰ１００がクライアントとして、サーバ装置１２０がサーバとして通信処理が実行される。通信処理を実行する際の一般的な通信プロトコルとして、例えば、ＳＳＬやＩＥＥＥ８０２．１ｘ通信がある。第１の実施形態では、通信プトロコルとして、ＩＥＥＥ８０２．１ｘ通信を例として説明するが、他の通信プロトコルであってもよい。
【００３９】
ＣＰＵ２０５は、通信拒否のエラーが発生したか否かを判定する（Ｓ３０２）。ＣＰＵ２０５は、通信拒否のエラーが発生していないと判定した場合（Ｓ３０２：ＮＯ）、正常に通信処理が終了し、図３に係る一連の処理を終了する。一方、ＣＰＵ２０５は、通信拒否のエラーが発生したと判定した場合（Ｓ３０２：ＹＥＳ）、Ｓ４００に処理を進める。
【００４０】
通信プロトコルが、例えば、ＩＥＥＥ  ８０２．１Ｘである場合、認証が失敗した時に、ＥＡＰｐａｃｋｅｔのｔｙｐｅの値＝ｆａｉｌｕｒｅで、ｐａｃｋｅｔが、サーバ（サーバ装置１２０）からクライアント（ＭＦＰ１００）に送信される。尚、ＥＡＰとは、Ｅｘｔｅｎｓｉｂｌｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌのことである。
【００４１】
これにより、ＣＰＵ２０５は、認証に失敗したことを判断する。このＥＡＰｐａｃｋｅｔのｔｙｐｅの値＝ｆａｉｌｕｒｅからは、認証に失敗した原因が明確でない。その原因として、秘密鍵がＭＦＰ１００の外部に漏洩したことに基づくクライアントの公開鍵証明書の失効以外に、公開鍵証明書の有効期限切れに基づくクライアントの公開鍵証明書の失効においても、ＥＡＰｐａｃｋｅｔのｔｙｐｅの値＝ｆａｉｌｕｒｅとなる。また、クライアントの公開鍵証明書のタイプが非サポートのタイプである場合においても、ＥＡＰｐａｃｋｅｔのｔｙｐｅの値＝ｆａｉｌｕｒｅとなる。即ち、ＣＰＵ２０５は、認証に失敗した原因が、クライアント（ＭＦＰ１００）の公開鍵証明書が失効していることであるかどうかを特定することができない。
【００４２】
そこで、ＣＰＵ２０５は、ネットワーク１３０を使用して、ＳＣＥＰ（Ｓｉｍｐｌｅ  Ｃｅｒｔｉｆｉｃａｔｅ  Ｅｎｒｏｌｌｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）で認証局１１０から公開鍵証明書の失効情報を取得する。ＳＣＥＰは、インターネットドラフトで定義されたプロトコルである。ＳＣＥＰの主な機能としては、認証局証明書の取得と、公開鍵証明書の失効情報の取得と、公開鍵証明書の自動更新である。尚、ＳＣＥＰ以外にも同様な機能を実現するプロトコルが多く存在する。第１の実施形態では、プロトコルとして、ＳＣＥＰを使用する例について説明するが、ＳＣＥＰ以外の同様な機能を実現するプロトコルを使用してもよい。尚、第２の実施形態では、プロトコルとして、ＯＣＳＰ（Ｏｎｌｉｎｅ  Ｃｅｒｔｉｆｉｃａｔｅ  Ｓｔａｔｕｓ  Ｐｒｏｔｏｃｏｌ）を使用する例について後述する。
【００４３】
Ｓ４００で、ＣＰＵ２０５は、ＳＣＥＰを用いた、公開鍵証明書の失効確認処理を実行する。尚、Ｓ４００の処理の詳細は、図４で後述する。そして、Ｓ４００の処理の後、Ｓ３０３に処理を進める。
【００４４】
Ｓ３０３で、ＣＰＵ２０５は、公開鍵証明書が失効しているか否かを判定する（Ｓ３０３）。Ｓ３０３で、ＣＰＵ２０５がＮＯと判定するケースとしては、以下の場合がある。例えば、ＭＦＰ１００とサーバ装置１２０との間の暗号通信で用いる暗号アルゴリズムや暗号強度が、サーバ装置１２０に設定された条件を満たしていないときである。また、例えば、ＭＦＰ１００とサーバ装置１２０との間でネットワーク環境の異常が起きているときである。また、例えば、サーバ装置１２０のハードウェアの異常が起きているときである。また、例えば、サーバ装置１２０の負荷が高まり、レスポンスができないときである。
【００４５】
ＣＰＵ２０５は、公開鍵証明書が失効していないと判定した場合（Ｓ３０３：ＮＯ）、Ｓ３０５に処理を進める。Ｓ３０５で、ＣＰＵ２０５は、公開鍵証明書の失効以外の原因で通信拒否のエラーが発生した旨をユーザに通知するためのエラー画面を操作部２１０の表示パネルに表示する。このとき、公開鍵証明書は失効していないため、通信拒否のエラーとなった原因（公開鍵証明書の失効以外の原因）が解消されることで、ＭＦＰ１００は、この公開鍵証明書を用いてサーバ装置１２０とセキュアな通信を行うことが可能となる。Ｓ３０５の処理の後、図３に係る一連の処理を終了する。
【００４６】
一方、ＣＰＵ２０５は、公開鍵証明書が失効していると判定した場合（Ｓ３０３：ＹＥＳ）、Ｓ８００に処理を進める。尚、ＣＰＵ２０５は、サーバ装置１２０との通信を行うにあたって用いられた公開鍵証明書が失効している旨をユーザに通知するための警告画面を、公開鍵証明書が失効している（ＹＥＳ）と判定したことに従って操作部２１０の表示パネルに表示してもよい。そして、ＣＰＵ２０５は、この警告画面を操作部２１０の表示パネルに表示した後に、Ｓ８００に処理を進めてもよい。これにより、ユーザは、ＭＦＰ１００が保持している公開鍵証明書を用いたサーバ装置１２０との通信を行うにあたってエラーが発生した原因が、公開鍵証明書の失効であることを知ることができる。
【００４７】
Ｓ８００で、ＣＰＵ２０５は、公開鍵証明書の取得処理を実行する。尚、Ｓ８００の処理の詳細は、図８で後述する。そして、Ｓ８００の処理の後、Ｓ３０４に処理を進める。
【００４８】
Ｓ３０４で、ＣＰＵ２０５は、公開鍵証明書の取得に成功したか否かを判定する。ＣＰＵ２０５は、公開鍵証明書の取得に成功したと判定した場合（Ｓ３０４：ＹＥＳ）、Ｓ９００に処理を進める。Ｓ９００で、ＣＰＵ２０５は、ＭＦＰ１００が保持している公開鍵証明書を置き換える処理を実行する。尚、Ｓ９００の処理の詳細は、図９で後述する。そして、Ｓ９００の処理の後、図３に係る一連の処理を終了する。一方、ＣＰＵ２０５は、公開鍵証明書の取得に失敗したと判定した場合（Ｓ３０４：ＮＯ）、図３に係る一連の処理を終了する。
【００４９】
続いて、ＳＣＥＰを用いて公開鍵証明書の失効確認が行われるまでの一連の処理を、図４に示すフローチャートを用いて説明する。この処理は、ＣＰＵ２０５が、ＲＯＭ２０７又はＨＤＤ２０８から読み出してＲＡＭ２０６に展開された制御プログラムを実行することで行われる。
【００５０】
まず、ＣＰＵ２０５は、認証局１１０から公開鍵証明書の失効情報を取得する必要がある。そこで、ＭＦＰ１００の管理者は、認証局１１０のＩＰアドレスを設定するために、操作部２１０を介して、図５に示す設定画面５００を呼び出す。
【００５１】
ＭＦＰ１００の管理者は、操作部２１０の表示パネルに表示された設定画面５００を介して、認証局１１０のＩＰアドレスまたはＵＲＬを入力フィールド５０２に入力する。そして、ＭＦＰ１００の管理者は、入力フィールド５０２に認証局１１０のＩＰアドレスまたはＵＲＬを入力した後、設定ボタン５０１をタッチする。これにより、認証局１１０のアドレスの設定が完了し、ここで設定された認証局１１０のアドレスの設定値がＨＤＤ２０８に格納される。
【００５２】
続いて、ＭＦＰ１００が保持している公開鍵証明書の情報を管理するための管理テーブル６００について、図６の模式図を用いて説明する。図６の例では、ＭＦＰ１００が、公開鍵証明書６０１、公開鍵証明書６０２、公開鍵証明書６０３、及び、公開鍵証明書６０４を保持していることを示している。管理テーブル６００は、ＭＦＰ１００が保持しているそれぞれの公開鍵証明書に対応づけて、公開鍵証明書の情報（名前６０５、用途６０６、失効フラグ６０７、発行者６０８、有効期限６０９、シリアル番号６１０）を管理している。失効フラグ６０７の初期値は「ＦＡＬＳＥ」であり、ＣＰＵ２０５によって公開鍵証明書の失効が確認されたことに従って、当該公開鍵証明書の失効フラグの値は「ＦＡＬＳＥ」から「ＴＲＵＥ」に変更される。管理テーブル６００で管理されている公開鍵証明書のこれらの情報は、ＨＤＤ２０８に格納される。
【００５３】
Ｓ４００の処理の詳細について説明する。ＣＰＵ２０５は、公開鍵証明書の失効情報を認証局１１０から取得するためのリクエスト（以降、「失効情報リクエスト」と呼ぶ。）を生成する（Ｓ４０１）。尚、Ｓ４０１で生成される失効情報リクエストは、認証局１１０によって署名され、認証局によって発行された公開鍵証明書のうち、失効している公開鍵証明書のシリアル番号のリストを問い合わせるためのリクエストである。
【００５４】
ＣＰＵ２０５は、Ｓ４０１で生成された失効情報リクエストを、ネットワーク１３０を介して認証局１１０に送信する（Ｓ４０２）。
【００５５】
ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信したか否かを判定する（Ｓ４０３）。ここで、所定の時間とは、公開鍵証明書の失効情報を取得するために消費可能な時間の最大値（ＭＦＰ１００のデバイス設定の仕様により決定される時間）である。ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信しなかったと判定した場合（Ｓ４０３：ＮＯ）、所定の時間内にレスポンスを受信しなかった原因をログとして記録する（Ｓ４１７）。尚、このログは、ＨＤＤ２０８又はＲＡＭ２０６に格納される。そして、Ｓ４１７の処理の後、図４に係る一連の処理を終了し、図３のＳ３０３に処理を進める。一方、ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信したと判定した場合（Ｓ４０３：ＹＥＳ）、Ｓ４０４に処理を進める。
【００５６】
Ｓ４０４で、ＣＰＵ２０５は、公開鍵証明書の失効情報の取得に成功したか否かを判定する（Ｓ４０４）。ＣＰＵ２０５は、公開鍵証明書の失効情報の取得に失敗したと判定した場合（Ｓ４０４：ＮＯ）、公開鍵証明書の失効情報の取得に失敗した原因をログとして記録する（Ｓ４１８）。尚、このログは、ＨＤＤ２０８又はＲＡＭ２０６に格納される。そして、Ｓ４１８の処理の後、図４に係る一連の処理を終了し、図３のＳ３０３に処理を進める。
【００５７】
一方、ＣＰＵ２０５は、公開鍵証明書の失効情報の取得に成功したと判定した場合（Ｓ４０４：ＹＥＳ）、失効確認の対象とする公開鍵証明書の設定値をＨＤＤ２０８から取得する（Ｓ４０５）。ここで、失効確認の対象とする公開鍵証明書の設定値について、図７に示す設定画面７００を用いて説明する。尚、設定画面７００は、操作部２１０を介して呼び出され、操作部２１０の表示パネルに表示される。ＭＦＰ１００の管理者は、失効確認の対象とする公開鍵証明書の設定として、「ＭＦＰ１００が保持するすべての公開鍵証明書」とするか、「通信時に使用する公開鍵証明書」とするかのいずれか一方を、設定画面７００を介して選択する。そして、設定画面７００を介して設定された、失効確認の対象とする公開鍵証明書の設定値は、ＨＤＤ２０８に格納される。
ＭＦＰ１００が保持している公開鍵証明書の鍵ペアである秘密鍵がＭＦＰ１００の外部に漏洩した場合、ＭＦＰ１００が保持している他の秘密鍵も同様に漏洩している可能性がある。そこで、通信時に使用する公開鍵証明書だけでなく、ＭＦＰ１００が保持しているすべての公開鍵証明書が、認証局１１０によって失効されている可能性がある。そこで、失効確認の対象とする公開鍵証明書の設定として、「ＭＦＰ１００が保持するすべての公開鍵証明書」を設定した場合は、ＭＦＰ１００が保持する複数の公開鍵証明書のそれぞれを失効確認の対象とするものである。
【００５８】
続いて、Ｓ４０６で、ＣＰＵ２０５は、失効確認の対象が「通信時に使用する公開鍵証明書」であるか否かを判定する。ＣＰＵ２０５は、失効確認の対象が「通信時に使用する公開鍵証明書」であると判定した場合（Ｓ４０６：ＹＥＳ）、Ｓ４０７に処理を進める。
【００５９】
Ｓ４０７で、ＣＰＵ２０５は、Ｓ４０４で取得された公開鍵証明書の失効情報に基づいて、通信拒否のエラーが発生した時に使用した公開鍵証明書の失効確認を行う。尚、公開鍵証明書の失効情報には、認証局１１０によって発行された公開鍵証明書のうち失効した公開鍵証明書のシリアル番号６１０が含まれる。Ｓ４０７で、ＣＰＵ２０５は、通信拒否のエラーが発生した時に使用した公開鍵証明書のシリアル番号６１０と、Ｓ４０４で取得された公開鍵証明書の失効情報に含まれるシリアル番号６１０とのマッチングによって、公開鍵証明書の失効確認を行う。
【００６０】
続いて、ＣＰＵ２０５は、通信拒否のエラーが発生した時に使用した公開鍵証明書が失効しているか否かを判定する（Ｓ４０８）。即ち、ＣＰＵ２０５は、通信拒否のエラーが発生した時に使用した公開鍵証明書のシリアル番号６１０と、Ｓ４０４で取得されたシリアル番号６１０とが一致する場合に、通信拒否のエラーが発生した時に使用した公開鍵証明書が失効していると判定する。ＣＰＵ２０５は、通信拒否のエラーが発生した時に使用した公開鍵証明書が失効していると判定した場合（Ｓ４０８：ＹＥＳ）、管理テーブル６００で、エラー時に使用した公開鍵証明書に対応する失効フラグ６０７の値を「ＴＲＵＥ」に設定する（Ｓ４０９）。
【００６１】
そして、Ｓ４０９の処理の後、図４に係る一連の処理を終了し、図３のＳ３０３に処理を進める。一方、ＣＰＵ２０５は、通信拒否のエラー発生時に使用した公開鍵証明書が失効していないと判定した場合（Ｓ４０８：ＮＯ）、管理テーブル６００で、エラー時に使用した公開鍵証明書に対応する失効フラグ６０７の値を「ＦＡＬＳＥ」に設定する（Ｓ４１０）。そして、Ｓ４１０の処理の後、図４に係る一連の処理を終了し、図３のＳ３０３に処理を進める。
【００６２】
一方、Ｓ４０６で、ＣＰＵ２０５は、失効確認の対象が「ＭＦＰ１００が保持するすべての公開鍵証明書」である場合に、ＮＯと判定し、Ｓ４１１に処理を進める。  Ｓ４１１で、ＣＰＵ２０５は、ＭＦＰ１００が保持しているすべての公開鍵証明書のうち、失効確認を行っていない公開鍵証明書を一つ選択する（Ｓ４１１）。そして、ＣＰＵ２０５は、Ｓ４０４で取得された公開鍵証明書の失効情報に基づいて、Ｓ４１１で選択された公開鍵証明書の失効確認を行う（Ｓ４１２）。Ｓ４１２で、ＣＰＵ２０５は、Ｓ４１１で選択された公開鍵証明書のシリアル番号６１０と、Ｓ４０４で取得された公開鍵証明書の失効情報に含まれるシリアル番号６１０とのマッチングによって、公開鍵証明書の失効確認を行う。
【００６３】
続いて、ＣＰＵ２０５は、Ｓ４１１で選択された公開鍵証明書が失効しているか否かを判定する（Ｓ４１３）。即ち、ＣＰＵ２０５は、Ｓ４１１で選択された公開鍵証明書のシリアル番号６１０と、Ｓ４０４で取得されたシリアル番号６１０とが一致する場合に、通信拒否のエラーが発生した時に使用した公開鍵証明書が失効していると判定する。ＣＰＵ２０５は、Ｓ４１１で選択された公開鍵証明書が失効していると判定した場合（Ｓ４１３：ＹＥＳ）、管理テーブル６００において、Ｓ４１１で選択された公開鍵証明書に対応する失効フラグ６０７の値を「ＴＲＵＥ」に設定する（Ｓ４１４）。そして、Ｓ４１４の処理の後、Ｓ４１６に処理を進める。一方、ＣＰＵ２０５は、Ｓ４１１で選択された公開鍵証明書が失効していないと判定した場合（Ｓ４１３：ＮＯ）、管理テーブル６００において、Ｓ４１１で選択された公開鍵証明書に対応する失効フラグ６０７の値を「ＦＡＬＳＥ」に設定する（Ｓ４１５）。そして、Ｓ４１５の処理の後、Ｓ４１６に処理を進める。
【００６４】
Ｓ４１６で、ＣＰＵ２０５は、ＭＦＰ１００が保持しているすべての公開鍵証明書のうち、失効確認をまだ行っていない公開鍵証明書が有るか否かを判定する（Ｓ４１６）。ＣＰＵ２０５は、失効確認をまだ行っていない公開鍵証明書が有ると判定した場合（Ｓ４１６：ＹＥＳ）、Ｓ４１１に処理を戻す。一方、ＭＦＰ１００が保持しているすべての公開鍵証明書の失効確認を行った場合、Ｓ４１６で、ＣＰＵ２０５はＮＯと判定し、図４に係る一連の処理を終了し、図３のＳ３０３に処理を進める。
【００６５】
続いて、第１の実施形態に係るＭＦＰ１００において、公開鍵証明書の取得処理が行われるまでの一連の処理を、図８に示すフローチャートを用いて説明する。この処理は、ＣＰＵ２０５が、ＲＯＭ２０７又はＨＤＤ２０８から読み出してＲＡＭ２０６に展開された制御プログラムを実行することで行われる。
【００６６】
ＣＰＵ２０５は、ＭＦＰ１００が保持している失効状態の公開鍵証明書（即ち、失効フラグ６０７の値が「ＴＲＵＥ」である公開鍵証明書）のうち、公開鍵証明書を取得するための処理がまだ行われていない公開鍵証明書を一つ選択する（Ｓ８０１）。
【００６７】
ＣＰＵ２０５は、Ｓ８０１で選択された公開鍵証明書のための新しい鍵ペア（秘密鍵と公開鍵）を生成する（Ｓ８０２）。尚、Ｓ８０２で生成された鍵ペアは、ＨＤＤ２０８に格納される。
【００６８】
続いて、ＣＰＵ２０５は、Ｓ８０２で生成された鍵ペアの公開鍵証明書に基づいて、公開鍵証明書の署名要求を生成する（Ｓ８０３）。尚、Ｓ８０３で生成された公開鍵証明書の署名要求は、ＨＤＤ２０８に格納される。
【００６９】
続いて、ＣＰＵ２０５は、Ｓ８０３で生成された公開鍵証明書の署名要求を、ネットワーク１３０を介して、認証局１１０に送信する（Ｓ８０４）。
【００７０】
続いて、ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信したか否かを判定する（Ｓ８０５）。ここで、所定の時間とは、新たな公開鍵証明書を取得するために消費可能な時間の最大値（ＭＦＰ１００のデバイス設定の仕様により決定される時間）である。ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信したと判定した場合（Ｓ８０５：ＹＥＳ）、Ｓ８０６に処理を進める。一方、ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信していないと判定した場合（Ｓ８０５：ＮＯ）、Ｓ８１０に処理を進める。
【００７１】
Ｓ８０６で、ＣＰＵ２０５は、公開鍵証明書の取得に成功したか否かを判定する。一方、ＣＰＵ２０５は、公開鍵証明書の取得に失敗したと判定した場合（Ｓ８０６：ＮＯ）、Ｓ８０９に処理を進める。一方、ＣＰＵ２０５は、公開鍵証明書の取得に成功したと判定した場合（Ｓ８０６：ＹＥＳ）、Ｓ８０７に処理を進める。
【００７２】
Ｓ８０７で、ＣＰＵ２０５は、Ｓ８０６で取得に成功した公開鍵証明書をＭＦＰ１００に登録する。このとき、Ｓ８０６で取得に成功した公開鍵証明書は、Ｓ８０２で生成された鍵ペアにペアリングされて、Ｓ８０２で生成された鍵ペアと共にＨＤＤ２０８に格納される。続いて、Ｓ８０８で、ＣＰＵ２０５は、ＭＦＰ１００が保持している失効状態の公開鍵証明書（即ち、失効フラグ６０７の値が「ＴＲＵＥ」）のうち、公開鍵証明書を取得するための処理がまだ行われていない公開鍵証明書が有るか否かを判定する（Ｓ８０８）。
【００７３】
ＣＰＵ２０５は、ＭＦＰ１００が保持している失効状態の公開鍵証明書のうち、公開鍵証明書を取得するための処理がまだ行われていない公開鍵証明書が有ると判定した場合（Ｓ８０８：ＹＥＳ）、Ｓ８０１に処理を戻す。一方、ＣＰＵ２０５は、ＭＦＰ１００が保持している失効状態の公開鍵証明書のすべてで公開鍵証明書を取得するための処理が行われた場合、Ｓ８０８で、ＣＰＵ２０５はＮＯと判定する。そして、図８に係る一連の処理を終了し、図３のＳ３０４に処理を進める。
【００７４】
Ｓ８０９で、ＣＰＵ２０５は、公開鍵証明書の取得に失敗した理由を判定する（Ｓ８０９）。ＣＰＵ２０５は、公開鍵証明書の取得に失敗した理由が「ＰＥＮＤＩＮＧ」であると判定した場合、Ｓ８１０に処理を進める。一方、ＣＰＵ２０５は、公開鍵証明書の取得に失敗した理由が「ＦＡＩＬＵＲＥ」であると判定した場合、Ｓ８１１に処理を進める。
【００７５】
Ｓ８１０で、ＣＰＵ２０５は、公開鍵証明書を取得するためにリトライした回数が最大回数に達したか否かを判定する。尚、この最大回数は、ＭＦＰ１００の設計仕様としてデフォルトで決まっていてもよく、ＭＦＰ１００の管理者によって任意に設定できてもよい。
【００７６】
ＣＰＵ２０５は、公開鍵証明書を取得するためにリトライした回数が最大回数に達したと判定した場合（Ｓ８１０：ＹＥＳ）、公開鍵証明書の取得に失敗した原因をログとして記録する（Ｓ８１１）。尚、このログは、ＨＤＤ２０８又はＲＡＭ２０６に格納される。そして、Ｓ８１１の処理の後、図８に係る一連の処理を終了し、図３のＳ３０４に処理を進める。一方、ＣＰＵ２０５は、公開鍵証明書を取得するためにリトライした回数が最大回数に達していないと判定した場合（Ｓ８１０：ＮＯ）、一定時間が経過するまで待機する（Ｓ８１２）。この一定時間は、ＭＦＰ１００の設計仕様としてデフォルトで決まっていてもよく、ＭＦＰ１００の管理者によって任意に設定できてもよい。ＣＰＵ２０５は、一定時間が経過したと判定した場合（Ｓ８１２：ＹＥＳ）、Ｓ８０４に処理を戻す。一方、ＣＰＵ２０５は、一定時間が経過するまでＳ８１２の処理を繰り返す。
【００７７】
続いて、第１の実施形態に係るＭＦＰ１００において、ＭＦＰ１００が保持している公開鍵証明書が置き換えられるまでの一連の処理を、図９に示すフローチャートを用いて説明する。この処理は、ＣＰＵ２０５が、ＲＯＭ２０７又はＨＤＤ２０８から読み出してＲＡＭ２０６に展開された制御プログラムを実行することで行われる。
【００７８】
まず、ＣＰＵ２０５は、公開鍵証明書の置き換えに関する設定値をＨＤＤ２０８から取得する（Ｓ９０１）。ＭＦＰ１００の管理者は、公開鍵証明書の置き換えに関する設定値を設定するために、操作部２１０を介して、図１０に示す設定画面１０００を呼び出す。そして、ＭＦＰ１００の管理者は、操作部２１０の表示パネルに表示された設定画面１０００を介して、公開鍵証明書を「置き換えない」又は「置き換える」のいずれかを選択する。ここで設定された公開鍵証明書の書き換えに関する設定値（公開鍵証明書を「置き換えない」又は「置き換える」の設定）は、ＨＤＤ２０８に格納される。
【００７９】
尚、公開鍵証明書を「置き換える」とは、失効状態の公開鍵証明書を削除した上で、失効状態の公開鍵証明書に設定された用途を、Ｓ８０７で登録された公開鍵証明書（即ち、認証局１１０によって新たに発行された公開鍵証明書）の用途に設定することである。一方、公開鍵証明書を「置き換えない」とは、失効状態の公開鍵証明書を削除せずに、失効状態の公開鍵証明書に設定された用途を、Ｓ８０７で登録された公開鍵証明書（即ち、認証局１１０によって新たに発行された公開鍵証明書）の用途に設定することである。
【００８０】
公開鍵証明書を「置き換える」設定がされた場合は、失効状態の公開鍵証明書がＨＤＤ２０８から削除される。このとき、図１１（Ａ）で後述するように、ＭＦＰ１００に登録した公開鍵証明書の一覧画面１１００には、失効状態の公開鍵証明書が表示されない。このため、ＭＦＰ１００の管理者は、操作部２１０の表示パネルに表示された一覧画面１１００を見て、有効状態の公開鍵証明書のみを確認することができる。
【００８１】
一方、公開鍵証明書を「置き換えない」設定がされた場合は、失効状態の公開鍵証明書がＨＤＤ２０８から削除されない。このとき、図１１（Ｂ）で後述するように、ＭＦＰ１００に登録した公開鍵証明書の一覧画面１１００には、失効状態の公開鍵証明書が表示される。このため、ＭＦＰ１００の管理者は、操作部２１０の表示パネルに表示された一覧画面１１００を見て、失効状態の公開鍵証明書が存在することを確認することができる。
【００８２】
ＣＰＵ２０５は、公開鍵証明書の置き換えに関する設定値が「置き換える」であると判定した場合（Ｓ９０２：ＹＥＳ）、Ｓ９０３に処理を進める。
【００８３】
Ｓ９０３で、ＣＰＵ２０５は、失効した公開鍵証明書（即ち、失効フラグ６０７の値が「ＴＲＵＥ」である公開鍵証明書）のうち、公開鍵証明書を一つ選択する。そして、ＣＰＵ２０５は、Ｓ９０３で選択された公開鍵証明書を、図８のＳ８０７でＭＦＰ１００に新たに登録された公開鍵証明書に置き換える（Ｓ９０４）。このとき、失効した公開鍵証明書と、当該公開鍵証明書にペアリングする鍵ペアとが置き換えられる。
【００８４】
続いて、ＣＰＵ２０５は、失効した公開鍵証明書（即ち、失効フラグ６０７の値が「ＴＲＵＥ」である公開鍵証明書）のうち、公開鍵証明書の置き換えが行われていない公開鍵証明書が有るか否かを判定する（Ｓ９０５）。
【００８５】
ＣＰＵ２０５は、公開鍵証明書の置き換えが行われていない公開鍵証明書が有ると判定した場合（Ｓ９０５：ＹＥＳ）、Ｓ９０３に処理を戻す。一方、ＣＰＵ２０５は、公開鍵証明書の置き換えが行われていない公開鍵証明書が無いと判定した場合（Ｓ９０５：ＮＯ）、図９に係る一連の処理を終了し、更に、図３に係る一連の処理を終了する。
【００８６】
一方、Ｓ９０２で、ＣＰＵ２０５は、公開鍵証明書の置き換えに関する設定値が「置き換えない」であると判定した場合（Ｓ９０２：ＮＯ）、Ｓ９０６に処理を進める。
【００８７】
Ｓ９０６で、ＣＰＵ２０５は、失効した公開鍵証明書（即ち、失効フラグ６０７の値が「ＴＲＵＥ」である公開鍵証明書）の用途を、図８のＳ８０７でＭＦＰ１００に新たに登録された公開鍵証明書の用途に設定する（Ｓ９０６）。Ｓ９０６の処理の後、図９に係る一連の処理を終了し、更に、図３に係る一連の処理を終了する。
【００８８】
公開鍵証明書を置き換える処理の例について、図６に示す模式図を用いて説明する。図６（Ａ）に示すように、ＣＰＵ２０５は、公開鍵証明書６０１の失効を確認した場合、公開鍵証明書６０１の失効フラグ６０７の値を「ＴＲＵＥ」に設定する。そして、ＣＰＵ２０５は、失効した公開鍵証明書６０１を、図８のＳ８０７でＭＦＰ１００に新たに登録された公開鍵証明書６０４に置き換えるとする。この場合、図６（Ｂ）に示すように、ＣＰＵ２０５は、公開鍵証明書６０１と、公開鍵証明書６０１にペアリングする鍵ペアとを削除する。そして、ＣＰＵ２０５は、管理テーブル６００の番号（１番）に、公開鍵証明書６０４と、公開鍵証明書６０４にペアリングする鍵ペアを連結する。
【００８９】
一方、ＣＰＵ２０５は、失効した公開鍵証明書６０１を、図８のＳ８０７でＭＦＰ１００に登録された公開鍵証明書６０４に置き換えない場合、図６（Ｃ）に示すように、公開鍵証明書６０１を削除しない。その代わりに、管理テーブル６００の番号（４番）に、公開鍵証明書６０４を連結する。そして、ＣＰＵ２０５は、公開鍵証明書６０１の用途６０６を、公開鍵証明書６０４の用途６０６に設定する。図６（Ｃ）の例では、公開鍵証明書６０４の用途６０６として「ＳＳＬ」が設定される。
【００９０】
続いて、ＭＦＰ１００に登録された公開鍵証明書の一覧を操作部２１０の表示パネルに表示する処理について、図１１及び図１２を用いて説明する。
【００９１】
まず、図１１を用いて、ＭＦＰ１００に登録されている公開鍵証明書の一覧画面１１００について説明する。操作部２１０の表示パネルに一覧画面１１００を表示させるためのプログラムは、ＨＤＤ２０８に格納されている。ＭＦＰ１００の管理者は、ＭＦＰ１００に登録された公開鍵証明書の一覧を確認するために、操作部２１０を介して、一覧画面１１００を呼び出す。図１１（Ａ）は、ＭＦＰ１００に登録されている公開鍵証明書のリスト１１１０の例である。リスト１１１０に表示される公開鍵証明書の情報には、名前１１０１、用途１１０２、発行者１１０３、有効期限１１０４、状態１１０５を含む。
【００９２】
続いて、第１の実施形態に係るＭＦＰ１００において、ＭＦＰ１００に登録されている公開鍵証明書の情報が操作部２１０の表示パネルに表示されるまでの一連の処理を、図１２に示すフローチャートを用いて説明する。この処理は、ＣＰＵ２０５が、ＲＯＭ２０７又はＨＤＤ２０８から読み出してＲＡＭ２０６に展開された制御プログラムを実行することで行われる。尚、図１２に係る一連の処理は、ＭＦＰ１００に登録されている公開鍵証明書の情報を操作部２１０の表示パネルに表示させるための指示をユーザから受け付けたことに従って開始される。もしくは、ＣＰＵ２０５が、図３で前述したＳ３０３で公開鍵証明書が失効している（即ち、ＹＥＳ）と判定したことに従って、図１２に係る一連の処理が開始される変形例であってもよい。
【００９３】
まず、ＣＰＵ２０５は、ＨＤＤ２０８に格納された管理テーブル６００から公開鍵証明書を一つ選択する（Ｓ１２０１）。
【００９４】
続いて、ＣＰＵ２０５は、Ｓ１２０１で選択された公開鍵証明書の情報を、ＨＤＤ２０８から取得する（Ｓ１２０２）。
【００９５】
続いて、ＣＰＵ２０５は、Ｓ１２０２で取得された公開鍵証明書の情報のうち、「状態１１０５」以外の情報（即ち、名前１１０１、用途１１０２、発行者１１０３、有効期限１１０４等）をリスト１１１０に表示する（Ｓ１２０３）。
【００９６】
続いて、ＣＰＵ２０５は、Ｓ１２０１で選択された公開鍵証明書の失効フラグ６０７の値が「ＴＲＵＥ」であるか「ＦＡＬＳＥ」であるかを判定する（Ｓ１２０４）。ＣＰＵ２０５は、選択された公開鍵証明書の失効フラグ６０７の値が「ＴＲＵＥ」であると判定した場合（Ｓ１２０４：ＹＥＳ）、「状態１１０５」の情報として「失効」をリスト１１１０に表示する（Ｓ１２０５）。一方、ＣＰＵ２０５は、Ｓ１２０１で選択された公開鍵証明書の失効フラグ６０７の値が「ＦＡＬＳＥ」であると判定した場合（Ｓ１２０４：ＮＯ）、「状態１１０５」の情報として「有効」をリスト１１１０に表示する（Ｓ１２０６）。
【００９７】
続いて、ＣＰＵ２０５は、ＭＦＰ１００に登録されたすべての公開鍵証明書のうち、リスト１１１０に表示されてない公開鍵証明書が有るか否かを判定する（Ｓ１２０７）。ＣＰＵ２０５は、リスト１１１０に表示されてない公開鍵証明書が有ると判定した場合（Ｓ１２０７：ＹＥＳ）、Ｓ１２０１に処理を進める。一方、ＣＰＵ２０５は、リスト１１１０に表示されてない公開鍵証明書が無いと判定した場合（Ｓ１２０７：ＮＯ）、図１２に係る一連の処理を終了する。
【００９８】
以上説明したように第１の実施形態では、認証局によって発行された電子証明書の失効情報を認証局から取得するための要求を、情報処理装置に保持された電子証明書を用いた外部装置との通信を行うにあたってエラーが発生したことに従って、認証局に送信した。例えば、ＭＦＰ１００は、ＨＤＤ２０８に格納された公開鍵証明書を用いてサーバ装置１２０とセキュアな通信を行おうとし、サーバ装置１２０から通信拒否のエラーを受信した。そして、ＭＦＰ１００は、サーバ装置１２０から通信拒否のエラーを受信したことに従って、認証局１１０によって発行された公開鍵証明書の失効情報を取得するための要求を認証局１１０に送信した。
【００９９】
これにより、情報処理装置は、電子証明書の失効情報の次の更新タイミングまで待機したり、電子証明書の失効情報の取得要求を認証局に送信するための指示を入力したりしなくても、情報処理装置が保持する電子証明書が失効している事を認識することができる。また、情報処理装置の管理者は、情報処理装置が保持している電子証明書を用いた外部装置との通信を行うにあたってエラーが発生した原因が、情報処理装置が保持している電子証明書の失効であることを確認できるようになる。
【０１００】
また、本発明を適用した第１の実施形態では、失効確認の対象とする公開鍵証明書の設定として、「ＭＦＰ１００が保持するすべての公開鍵証明書」、及び「通信時に使用する公開鍵証明書」のいずれか一方を、設定画面７００を介して選択できるようにした。即ち、失効確認の対象とする公開鍵証明書の設定として、「ＭＦＰ１００が保持するすべての公開鍵証明書」を設定した場合には、ＭＦＰ１００が保持する複数の公開鍵証明書のそれぞれを失効確認の対象とした。前述したように、ＭＦＰ１００が保持している公開鍵証明書の鍵ペアである秘密鍵がＭＦＰ１００の外部に漏洩した場合、ＭＦＰ１００が保持している他の秘密鍵も同様に漏洩している可能性がある。「ＭＦＰ１００が保持するすべての公開鍵証明書」を失効確認の対象とすることで、通信時に使用する公開鍵証明書だけでなく、ＭＦＰ１００が保持しているすべての公開鍵証明書が、認証局１１０によって失効されている可能性に対処することができる。
【０１０１】
また、本発明を適用した第１の実施形態では、ＭＦＰ１００は、ＨＤＤ２０８に格納された公開鍵証明書が失効していると判定した場合に、新たな公開鍵証明書の発行を認証局１１０に要求した。これにより、ＭＦＰ１００は、認証局１１０から発行された新たな公開鍵証明書をＨＤＤ２０８に格納することができる。このとき、ＭＦＰ１００は、失効している公開鍵証明書を削除して、認証局１１０から発行された新たな公開鍵証明書に置き換えてもよい。もしくは、ＭＦＰ１００は、失効している公開鍵証明書を削除せずに、失効している公開鍵証明書の用途を、認証局１１０から発行された新たな公開鍵証明書の用途に置き換えてもよい。これにより、ＭＦＰ１００が、認証局１１０から発行された新たな公開鍵証明書を使って、サーバ装置１２０とセキュアな通信を行うことができるようになる。
【０１０２】
［第２の実施形態］
前述した第１の実施形態では、ＳＣＥＰを使って公開鍵証明書の失効情報を取得し、公開鍵証明書の失効確認処理を実行する例について説明した（図３のＳ４００）。
【０１０３】
公開鍵証明書の失効情報を確認するためのプロトコルはＳＣＥＰ以外に、ＯＣＳＰ（Ｏｎｌｉｎｅ  Ｃｅｒｔｉｆｉｃａｔｅ  Ｓｔａｔｕｓ  Ｐｒｏｔｏｃｏｌ）などもある。ＯＣＳＰは、Ｘ．５０９公開鍵証明書の失効状態を取得するための通信プロトコルである。
【０１０４】
ここで、ＯＣＳＰの機能について説明する。尚、第２の実施形態では、認証局１１０がＯＣＳＰサーバの役割を兼ねるとして以降説明を進める。クライアント（ＭＦＰ１００）が保持する公開鍵証明書の失効状態を確認したい場合、クライアントがＯＣＳＰサーバに公開鍵証明書の状態を確認するためのリクエストを送信する。続いて、ＯＣＳＰサーバは、クライアントからリクエストを受け付けたことに従って、ＯＣＳＰサーバが保持する失効情報を参照し、公開鍵証明書の失効状態を判断する。そして、ＯＣＳＰサーバは、公開鍵証明書の失効状態に関するレスポンスをクライアントに送信する。
【０１０５】
ＳＣＥＰで取得した公開鍵証明書の失効リストは、定期的に、認証局１１０により発行されるものである。一方、ＯＣＳＰを使用することで、ＭＦＰ１００は、公開鍵証明書の最新の実行情報を認証局１１０から取得することができる。このとき、ＯＣＳＰは、認証局１１０から必要な失効情報だけを取得するため、ＯＣＳＰはＳＣＥＰと比べて効率的に公開鍵証明書の失効確認を行うことができる。
【０１０６】
第２の実施形態では、公開鍵証明書の失効情報を取得するためのプロトコルの指定をユーザから受け付けるための画面（図１３に示す設定画面１３００）をＭＦＰ１００が備えるところが、第１の実施形態とは異なる。
【０１０７】
ＭＦＰ１００の管理者は、ＭＦＰ１００の運用状況を考慮して、公開鍵証明書の失効情報を取得するためのプロトコルとしてＯＣＳＰかＳＣＥＰのいずれかを選択するために、操作部２１０を介して、設定画面１３００を呼び出す。そして、ＭＦＰ１００の管理者は、操作部２１０の表示パネルに表示された設定画面１３００を介して、ＯＣＳＰかＳＣＥＰのいずれかのプロトコルを選択する。このとき、選択されたプロトコルの設定値は、ＨＤＤ２０８に格納される。尚、図１３では、公開鍵証明書の失効情報を取得するためのプロトコルとして、設定画面１３００を介して、ＯＣＳＰかＳＣＥＰのいずれかを選択可能とする例について説明したが、これに限られない。設定画面１３００を介して、ＯＣＳＰやＳＣＥＰ以外のプロトコルを選択可能とする変形例であってもよい。
【０１０８】
第２の実施形態に係るＭＦＰ１００では、ＭＦＰ１００が保持している公開鍵証明書が自動で更新されるまでの一連の処理の一部が、第１の実施形態（図３で前述した制御例）とは異なる。そこで、第１の実施形態とは異なる処理を中心に図１４で説明する。なお、第１の実施形態とは共通となる処理は同一のステップ番号を付して、詳細の説明は省略する。
【０１０９】
図３のＳ３０２で、ＣＰＵ２０５は、通信拒否のエラーが発生したと判定した場合（Ｓ３０２：ＹＥＳ）、図１４のＳ１４０１に処理を進める。
【０１１０】
Ｓ１４０１で、ＣＰＵ２０５は、公開鍵証明書の失効情報を取得するためのプロトコルの設定値をＨＤＤ２０８から取得する（Ｓ１４０１）。
【０１１１】
続いて、ＣＰＵ２０５は、公開鍵証明書の失効情報を取得するためのプロトコルの設定値が「ＳＣＥＰ」であるか「ＯＣＳＰ」であるかを判定する（Ｓ１４０２）。ＣＰＵ２０５は、公開鍵証明書の失効情報を取得するためのプロトコルの設定値が「ＳＣＥＰ」であると判定した場合、Ｓ４００に処理を進める。Ｓ４００で、ＣＰＵ２０５は、ＳＣＥＰを用いた、公開鍵証明書の失効確認処理を実行する。尚、Ｓ４００の処理の詳細は、図４で前述したとおりである。一方、ＣＰＵ２０５は、公開鍵証明書の失効情報を取得するためのプロトコルの設定値が「ＯＣＳＰ」であると判定した場合、Ｓ１５００に処理を進める。Ｓ１５００で、ＣＰＵ２０５は、ＯＣＳＰを用いた、公開鍵証明書の失効確認処理を実行する。尚、Ｓ１５００の処理の詳細は、図１５で後述する。
【０１１２】
第２の実施形態に係るＭＦＰ１００において、ＯＣＳＰを用いて公開鍵証明書の失効情報が行われるまでの一連の処理を、図１５に示すフローチャートを用いて説明する。この処理は、ＣＰＵ２０５が、ＲＯＭ２０７又はＨＤＤ２０８から読み出してＲＡＭ２０６に展開された制御プログラムを実行することで行われる。
【０１１３】
ＣＰＵ２０５は、失効確認の対象とする公開鍵証明書の設定値をＨＤＤ２０８から取得する（Ｓ１５０１）。ここで、失効確認の対象とする公開鍵証明書の設定値は、図７で前述したように、「ＭＦＰ１００が保持するすべての公開鍵証明書」か、「通信時に使用する公開鍵証明書」かのいずれかである。
【０１１４】
続いて、Ｓ１５０２で、ＣＰＵ２０５は、失効確認の対象が「通信時に使用する公開鍵証明書」であるか否かを判定する（Ｓ１５０２）。ＣＰＵ２０５は、失効確認の対象が「通信時に使用する公開鍵証明書」であると判定した場合（Ｓ１５０２：ＹＥＳ）、Ｓ１５０３に処理を進める。
【０１１５】
ＣＰＵ２０５は、通信拒否のエラーが発生した時に使用した公開鍵証明書の情報に基づいて、公開鍵証明書の失効情報を認証局１１０から取得するためのリクエスト（失効情報リクエスト）を生成する（Ｓ１５０３）。Ｓ１５０３で生成される失効情報リクエストは、通信拒否のエラーが発生した時に使用した公開鍵証明書が失効しているかどうかを、ＯＣＳＰサーバにダイレクトに問い合わせるため点が、第１の実施形態のＳ４０１で生成される失効情報リクエストとは異なる。図４で説明したように、第１の実施形態のＳ４０１で生成される失効情報リクエストは、認証局１１０によって署名され、認証局によって発行された公開鍵証明書のうち、失効している公開鍵証明書のシリアル番号のリストを問い合わせるためのリクエストである。
【０１１６】
尚、Ｓ１５０３で、ＣＰＵ２０５は、失効情報リクエストを生成するため、ＨＤＤ２０８に格納された公開鍵証明書のシリアル番号６１０を使用する。そして、ＣＰＵ２０５は、生成された失効情報リクエストをＨＤＤ２０８に格納する。
【０１１７】
続いて、Ｓ１５０４で、ＣＰＵ２０５は、Ｓ１５０３で生成された失効情報リクエストを、ネットワーク１３０を介して認証局１１０に送信する（Ｓ１５０４）。
【０１１８】
ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信したか否かを判定する（Ｓ１５０５）。前述したように第２の実施形態では、ＣＰＵ２０５は、通信拒否のエラーが発生した時に使用した公開鍵証明書が失効しているかどうかを、ＯＣＳＰサーバにダイレクトに問い合わせる。これにより、ＣＰＵ２０５は、通信拒否のエラーが発生した時に使用した公開鍵証明書が失効しているか否かのレスポンスをＯＣＳＰサーバから受信する。
【０１１９】
ここで、所定の時間とは、公開鍵証明書の失効情報を取得するために消費可能な時間の最大値（ＭＦＰ１００のデバイス設定の仕様により決定される時間）である。ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信しなかったと判定した場合（Ｓ１５０５：ＮＯ）、所定の時間内にレスポンスを受信しなかった原因をログとして記録する（Ｓ１５０９）。尚、このログは、ＨＤＤ２０８又はＲＡＭ２０６に格納される。そして、Ｓ１５０９の処理の後、図１５に係る一連の処理を終了し、図１４（図３）のＳ３０３に処理を進める。一方、ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信したと判定した場合（Ｓ１５０５：ＹＥＳ）、Ｓ１５０６に処理を進める。Ｓ１５０６で、ＣＰＵ２０５は、通信拒否のエラーが発生した時に使用した公開鍵証明書が失効しているか否かを判定する。
【０１２０】
ＣＰＵ２０５は、通信拒否のエラーの発生時に使用した公開鍵証明書が失効していると判定した場合（Ｓ１５０６：ＹＥＳ）、管理テーブル６００で、エラー時に使用した公開鍵証明書に対応する失効フラグ６０７の値を「ＴＲＵＥ」に設定する（Ｓ１５０７）。そして、Ｓ１５０７の処理の後、図１５に係る一連の処理を終了し、図１４（図３）のＳ３０３に処理を進める。
【０１２１】
ＣＰＵ２０５は、通信拒否のエラー発生時に使用した公開鍵証明書が失効していないと判定した場合（Ｓ１５０６：ＮＯ）、管理テーブル６００で、エラー時に使用した公開鍵証明書に対応する失効フラグ６０７の値を「ＦＡＬＳＥ」に設定する（Ｓ１５０８）。そして、Ｓ１５０８の処理の後、図１５に係る一連の処理を終了し、図１４（図３）のＳ３０３に処理を進める。
【０１２２】
一方、Ｓ１５０２で、ＣＰＵ２０５は、失効確認の対象とする公開鍵証明書の設定値が「通信時」に使用する公開鍵証明書でないと判定した場合（Ｓ１５０２：ＮＯ）、Ｓ１５１０に処理を進める。
【０１２３】
Ｓ１５１０で、ＣＰＵ２０５は、ＭＦＰ１００が保持しているすべての公開鍵証明書のうち、失効確認をまだ行っていない公開鍵証明書を一つ選択する（Ｓ１５１０）。続いて、ＣＰＵ２０５は、Ｓ１５０９で選択された公開鍵証明書の情報に基づいて、公開鍵証明書の失効情報を認証局１１０から取得するためのリクエスト（失効情報リクエスト）を生成する（Ｓ１５１１）。Ｓ１５１１で生成される失効情報リクエストは、Ｓ１５０９で選択された公開鍵証明書が失効しているかどうかを、ＯＣＳＰサーバにダイレクトに問い合わせるためのリクエストである点が、第１の実施形態のＳ４０１で生成される失効情報リクエストとは異なる。図４で説明したように、第１の実施形態のＳ４０１で生成される失効情報リクエストは、認証局１１０によって署名され、認証局によって発行された公開鍵証明書のうち、失効している公開鍵証明書のシリアル番号を問い合わせるためのリクエストである。
【０１２４】
続いて、ＣＰＵ２０５は、Ｓ１５１１で生成された失効情報リクエストを、ネットワーク１３０を介して認証局１１０に送信する（Ｓ１５１２）。
【０１２５】
続いて、ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信したか否かを判定する（Ｓ１５１３）。前述したように第２の実施形態では、ＣＰＵ２０５は、Ｓ１５１０で選択された公開鍵証明書が失効しているかどうかを、ＯＣＳＰサーバにダイレクトに問い合わせる。これにより、ＣＰＵ２０５は、Ｓ１５１０で選択された公開鍵証明書が失効しているか否かのレスポンスをＯＣＳＰサーバから受信する。
【０１２６】
ここで、所定の時間とは、公開鍵証明書の失効情報を取得するために消費可能な時間の最大値（ＭＦＰ１００のデバイス設定の仕様により決定される時間）である。ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信しなかったと判定した場合（Ｓ１５１３：ＮＯ）、所定の時間内にレスポンスを受信しなかった原因をログとして記録する（Ｓ１５１７）。尚、このログは、ＨＤＤ２０８又はＲＡＭ２０６に格納される。そして、Ｓ１５１７の処理の後、図１５に係る一連の処理を終了し、図１４（図３）のＳ３０３に処理を進める。一方、ＣＰＵ２０５は、所定の時間内に認証局１１０からレスポンスを受信したと判定した場合（Ｓ１５１３：ＹＥＳ）、Ｓ１５１４に処理を進める。
【０１２７】
Ｓ１５１４で、ＣＰＵ２０５は、通信拒否のエラーが発生した時に使用した公開鍵証明書が失効しているか否かを判定する。ＣＰＵ２０５は、通信エラー時に使用した公開鍵証明書が失効していると判定した場合（Ｓ１５１４：ＹＥＳ）、管理テーブル６００で、Ｓ１５１０で選択された公開鍵証明書に対応する失効フラグ６０７の値を「ＴＲＵＥ」に設定する（Ｓ１５１５）。そして、Ｓ１５１５の処理の後、Ｓ１５１８に処理を進める。一方、ＣＰＵ２０５は、通信エラー時に使用した公開鍵証明書が失効していないと判定した場合（Ｓ１５１４：ＮＯ）、管理テーブル６００で、Ｓ１５１０で選択された公開鍵証明書に対応する失効フラグ６０７の値を「ＦＡＬＳＥ」に設定する（Ｓ１５１６）。そして、Ｓ１５１６の処理の後、Ｓ１５１８に処理を進める。Ｓ１５１８で、ＣＰＵ２０５は、ＭＦＰ１００が保持しているすべての公開鍵証明書のうち、失効確認をまだ行っていない公開鍵証明書が有るか否かを判定する。ＣＰＵ２０５は、失効確認をまだ行っていない公開鍵証明書が有ると判定した場合（Ｓ１５１８：ＹＥＳ）、Ｓ１５１０に処理を戻す。一方、ＭＦＰ１００が保持しているすべての公開鍵証明書の失効確認を行った場合、Ｓ１５１８で、ＣＰＵ２０５はＮＯと判定し、図１５に係る一連の処理を終了し、図１４（図３）のＳ３０３に処理を進める。
【０１２８】
以上が、第２の実施形態に係るＭＦＰ１００において、ＯＣＳＰを用いて公開鍵証明書の失効情報が行われるまでの一連の処理の詳細である。
【０１２９】
尚、前述した図１５の制御例では、ＣＰＵ２０５が、失効確認を行うべき公開鍵証明書がなくなるまで公開鍵証明書の情報を一つずつ取得し、当該公開鍵証明書の失効情報リクエストを生成して、失効確認処理を行う例について説明したが、これに限られない。失効確認を行うべき複数の公開鍵証明書の情報を一つの公開鍵証明書の失効情報リクエストに含んでいてもよい。この場合、ＣＰＵ２０５は、一回の失効確認処理を介して、複数の公開鍵証明書の失効確認を行う変形例であってもよい。
【０１３０】
以上説明したように、第２の実施形態では、公開鍵証明書の失効情報を取得するためのプロトコルとして、ＯＣＳＰが指定された場合には、ＯＣＳＰを使って公開鍵証明書の失効確認処理を行うことができる。一方、公開鍵証明書の失効情報を取得するためのプロトコルとして、ＳＣＥＰが指定された場合には、ＳＣＥＰを使って公開鍵証明書の失効確認処理を行うことができる。このように、ＭＦＰ１００の管理者は、公開鍵証明書の失効情報を取得するためのプロトコルとしてＯＣＳＰかＳＣＥＰのいずれかを、ＭＦＰ１００の運用状況を考慮して、設定画面１３００で予め指定することができる。
【０１３１】
［第３の実施形態］
前述した第１の実施形態、及び、前述した第２の実施形態では、公開鍵証明書の失効確認処理が行われるタイミングは、ＭＦＰ１００がサーバ装置１２０と通信する際に、通信拒否のエラーが発生したタイミングであった。一方、ＭＦＰ１００を運用する上で、公開鍵証明書の失効情報を認証局１１０から取得するタイミングとして、通信拒否のエラーが発生した時以外に、ＭＦＰ１００の起動後や、サーバ装置１２０と通信する前や、公開鍵証明書の用途を設定する時であってもよい。
【０１３２】
例えば、ＭＦＰ１００の運用する上で、公開鍵証明書を使用してサーバ装置１２０と通信するケースが少ない場合には、公開鍵証明書の失効確認をサーバ装置１２０と通信する前に行うことが望ましい。また、例えば、ＭＦＰ１００がスリープ状態になり、ＭＦＰ１００の管理者が１カ月に１回の割合でＭＦＰ１００を再起動する場合には、公開鍵証明書の失効確認をＭＦＰ１００の起動後に行うことが望ましい。また、例えば、ＭＦＰ１００の管理者が、ＭＦＰ１００に登録した公開鍵証明書の用途を設定する時に、公開鍵証明書の失効確認を併せて行うことが望ましい。尚、ＭＦＰ１００に登録した公開鍵証明書の用途を設定することとは、認証局１１０によって発行された公開鍵証明書を使用してサーバ装置１２０と通信するための通信プロトコルを指定することに該当する。
【０１３３】
そこで、第３の実施形態では、公開鍵証明書の失効情報を認証局１１０から取得するタイミングとして、通信拒否のエラーが発生した時以外のタイミングで公開鍵証明書の失効情報を取得する変形例について以降説明する。
【０１３４】
第３の実施形態では、公開鍵証明書の失効情報の取得タイミングとして、例えば、「ＭＦＰ１００の起動後」、「通信前」、「通信拒否のエラー発生時」、「公開鍵証明書の用途設定時」の中から複数のタイミングをユーザが任意に選択する。
【０１３５】
ＭＦＰ１００の管理者は、公開鍵証明書の失効情報を取得するタイミングを設定するために、図１６に示す設定画面１６００を操作部２１０の表示パネルに表示させる。そして、ＭＦＰ１００の管理者は、設定画面１６００を介して、公開鍵証明書の失効情報を取得するタイミングを設定する。ここで設定された、公開鍵証明書の失効情報を取得するタイミングの設定値は、ＨＤＤ２０８に格納される。
【０１３６】
設定画面１６００を介して、公開鍵証明書の失効情報の取得タイミングとして「通信拒否のエラー発生時」が選択された場合についての制御例は、図３で前述したとおりである。
【０１３７】
一方、設定画面１６００を介して、公開鍵証明書の失効情報の取得タイミングとして「ＭＦＰ１００の起動後」が選択された場合は、以下のような変形例となる。ＣＰＵ２０５は、ＭＦＰ１００が起動したことに従って、ＳＣＥＰを用いた公開鍵証明書の失効確認処理（図４で前述したＳ４００の処理）を実行すればよい。即ち、図３のＳ３０１、及びＳ３０２の処理の実行に代えて、ＣＰＵ２０５は、ＭＦＰ１００が起動したか否かを判定する。そして、ＣＰＵ２０５は、ＭＦＰ１００が起動したと判定した場合に、ＳＣＥＰを用いた公開鍵証明書の失効確認処理（Ｓ４００）を実行すればよい。
【０１３８】
一方、設定画面１６００を介して、公開鍵証明書の失効情報の取得タイミングとして「通信前」が選択された場合は、以下のような変形例となる。ＣＰＵ２０５は、ＭＦＰ１００とサーバ装置１２０との通信を行うための指示をＭＦＰ１００の管理者から受け付けたことに従って、ＳＣＥＰを用いた公開鍵証明書の失効確認処理（図４で前述したＳ４００の処理）を実行すればよい。即ち、図３のＳ３０２の処理の実行に代えて、ＣＰＵ２０５は、ＭＦＰ１００とサーバ装置１２０との通信を行うための指示をＭＦＰ１００から受け付けたか否かを判定する。そして、ＣＰＵ２０５は、ＭＦＰ１００とサーバ装置１２０との通信を行うための指示をＭＦＰ１００から受け付けたと判定した場合に、ＳＣＥＰを用いた公開鍵証明書の失効確認処理（Ｓ４００）を実行すればよい。
【０１３９】
一方、設定画面１６００を介して、公開鍵証明書の失効情報の取得タイミングとして「用途設定時」が選択された場合は、以下のような変形例となる。ＣＰＵ２０５は、ＭＦＰ１００とサーバ装置１２０との通信を行うための指示をＭＦＰ１００の管理者から受け付けたことに従って、ＳＣＥＰを用いた公開鍵証明書の失効確認処理（図４で前述したＳ４００の処理）を実行すればよい。即ち、図３のＳ３０２の処理の実行に代えて、ＣＰＵ２０５は、公開鍵証明書の用途設定を受け付けるための指示をＭＦＰ１００の管理者から受け付けたか否かを判定する。そして、ＣＰＵ２０５は、ＭＦＰ１００とサーバ装置１２０との通信を行うための指示をＭＦＰ１００から受け付けたと判定した場合、ＳＣＥＰを用いた公開鍵証明書の失効確認処理（Ｓ４００）を実行すればよい。
【０１４０】
尚、失効情報の取得タイミングのいずれであっても、ＳＣＥＰを用いた公開鍵証明書の失効確認処理（Ｓ４００）の代わりに、ＯＣＳＰを用いた公開鍵証明書の失効確認処理（図１５で前述したＳ１５００の処理）を進める変形例であってもよい。Ｓ４００に処理を進めるか、それとも、Ｓ１５００に処理を進めるかは、図１３の設定画面１３００を介してユーザによって設定できる。
【０１４１】
以上説明したように、第３の実施形態では、ＭＦＰ１００が保持している公開鍵証明書を、ＭＦＰ１００が起動したことに従って自動で更新することができる。また、ＭＦＰ１００が保持している公開鍵証明書を、サーバ装置１２０との通信が開始される前に自動で更新することができる。また、ＭＦＰ１００が保持している公開鍵証明書を、通信拒否のエラーが発生したことに従って自動で更新することができる。また、ＭＦＰ１００が保持している公開鍵証明書を、サーバ装置１２０との通信前に自動で更新することができる。
【０１４２】
このように、ＭＦＰ１００の管理者は、公開鍵証明書の失効情報の取得タイミングとして、ＭＦＰ１００の起動後や、通信前や、通信エラー時や、公開鍵証明書の用途の設定時等を、ＭＦＰ１００の運用を考慮して設定画面１６００で予め指定することができる。
【０１４３】
（その他の実施形態）
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。
【０１４４】
例えば、本実施形態では、ＭＦＰ１００のコントローラ部２００のＣＰＵ２０５が上記各種制御の主体となっていたが、本発明はこれに限らない。ＭＦＰ１００と別筐体の外付けコントローラ等の印刷制御装置によって、上記各種制御の一部又は全部を実行可能に構成しても良い。
【０１４５】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１４６】
１００  ＭＦＰ
１１０  認証局
１２０  サーバ装置
１３０  ネットワーク
２００  コントローラ部
２０５  ＣＰＵ
２０８  ＨＤＤ
２１１  ネットワークＩ／Ｆ
【図１】
2017098914.tif 000003
【図２】
2017098914.tif 000004
【図３】
2017098914.tif 000005
【図４】
2017098914.tif 000006
【図５】
2017098914.tif 000007
【図６】
2017098914.tif 000008
【図７】
2017098914.tif 000009
【図８】
2017098914.tif 000010
【図９】
2017098914.tif 000011
【図１０】
2017098914.tif 000012
【図１１】
2017098914.tif 000013
【図１２】
2017098914.tif 000014
【図１３】
2017098914.tif 000015
【図１４】
2017098914.tif 000016
【図１５】
2017098914.tif 000017
【図１６】
2017098914.tif 000018