本文へジャンプ

JCE 1.2.1の証明書の期限切れ問題とOS/400について (iSeries-05-014)

作成日: 2005年7月22日
更新日: 2006年5月15日

概要

2005年7月8日、JPCERTにJCE 1.2.1 の証明書期限切れに関する注意喚起が掲載されました。


内容/目次


2006年5月10日現在の情報です。
updateがありましたら随時更新致します。

概要: 
7月8日、JPCERTにJCE 1.2.1 の証明書期限切れに関する注意喚起が掲載されました。
http://www.ipa.go.jp/security/vuln/20050708_jce.html

サン・マイクロシステムズ社の提供しているJCE 1.2.1についてJarファイルの署名に使われる証明書が2005年7月28日に有効期限切れになります。
IBMでは、IBM製品に付属するJava実行環境にサン・マイクロシステムズ社のJCE 1.2.1 を組み込んでいないため、2005年7月28日に問題が発生することはありません。
しかし、IBMの実装であるIBMJCE 1.2.1 では証明書の有効期限が2006年5月19日6時59分 (日本標準時) に設定されているため有効期限切れの問題が発生します。

現在,下記のことが分かっています.

    1) JDK/JRE 1.4では,この問題は起こらない.
    2) IBMはSUNのJCEを提供していないので,ユーザーが独自にSUNのJCEを組み込んでいない限り,2005年7月28日に問題が起こることは無い.
    3) IBM JDK/JRE 1.3までで,JCEを使っている場合,未修正のJCEを使っていると,2006年5月19日6時59分に問題が起こる可能性がある.
    4) OS/400では,APAR SE20381で修正されている.(SE20381に対するPTFはCDオーダーのみになるので注意)
      V5R4: SI18706      <-累積 5326540に含まれますのでGA版には適用済みであるが、念のため確認ください
      V5R3: SI18345
      V5R2: SI18338 SI18337
      V5R1: SI18335 SI18336
    5)HODに関しては,V8.V9が,Pcommに関してはV5.7,V5.8がJRE 1.4で稼動します.JRE 1.4では問題は起こりません.

    6) IBM Director MultiplatformをOS/400上で稼動させ,暗号化機能を使う場合,JDK 1.3上でJCEを呼び出す.暗号化機能を使う場合,事前に上記のPTFを適用すべきである.デフォルトでは暗号化機能はオフである.

    7)Pcomm V5.7、5.8はJRE1.4.1を使用していますので影響はありません.IBMの開発部門のテストでは、PCOMMV5.6においても問題は発生しないことが分かっていますが、2005/09/30にプログラムサービスが終了するため、2006/05/19を待たずに新しいリリースに移行されることをお勧めします.

    8)HODについては,問題は確認されていない.
    HODクライアントではJCEを利用していない.クライアント側ではHODに関して対応は不要.
    HODサーバーでは,Windows, AIX Linux上で稼動させて,リダイレクターでSSLを構成した場合のみ,GSKit経由でJCEを呼び出している.
    HODサーバーV8/V9は基本的にJRE 1.4で稼動するため,問題は発生しない.
    OS/400上のHODサーバーは,V8/V9でもJDK 1.3で稼動するケースがあるが,リダイレクターでSSLを構成することができないため問題は発生しない.
    IBMのHOD開発門のテストでも,JCEの認証切れがHODに与える影響は,見つかっていない.
    ただし,HOD 7は2005/09/30にプログラムサービスが終了するので,2006/05/19を待たずに,新しいリリースに移行をお勧めする.

    9)HATSに関しては,V4,V5,V6ともに、この問題に関する影響はない、とISEが開発元より回答を得ている.
    10)Access for Windowsに関しては,問題の発生する形でIBMJCEは提供されてない.
    R510やR520は,IBMJCEは提供されていない.
    R530には,SSL用のツールにIBMJCEが提供されるが,JRE 1.4で稼動する.
    ※JCEとは,暗号化や電子署名の機能を提供するライブラリ・モジュールで、JDK 1.4以降ではJ2SEの標準パッケージに含まれますが、それ以前はオプション・ライブラリとして提供されていました。今回警告されたのは,オプションとして提供されていたJCE 1.2.1です。JDK 1.4以降に含まれるJCEは影響を受けません。

    確認手順及び対処方法については以下のようになります。
    i5/OS向けJCEは独自にビルドをしていますので,判断基準になるJCEビルドレベル情報が公開されていません。そのためJCEパッケージのJarに含まれるマニュフェストレベルのJCEビルドレベルでなく、JDK1.3およびそれ以前のものがシステム上にあるかどうか確認することになり、それに応じたPTFを適用していただくことになります。
5722-JV1ではJCEに関連するjarファイルは /QIBM/UserData/Java400/ext/ と /QIBM/ProdData/OS400/Java400/ext/ に導入されます.
ユーザーがパス設定をしていない通常の設定では,/QIBM/UserData/Java400/ext/ のjarが利用されますが,PTFで更新されるのは/QIBM/ProdData/OS400/Java400/ext/のjarのみです.
JCEの期限切れ対策のためには,R510,R520,R530では,ガイドされている PTF を適用後,3つのファイルを /QIBM/ProdData/OS400/Java400/ext/ から /QIBM/UserData/Java400/ext/ にコピーする必要が
  あります.
なおR540の場合は,どちらのJCE用jarファイルも同じビルドなのでコピーの必要はありません.


   【確認手順詳細】
   ?システムが修正を必要とするか確認する
   導入されているJDKレベルを確認方法は以下の通りです。

   QSECOFRでサインオン後コマンド行に
   1.GO LICPGM 実行キー
   2.10(導入済みライセンス・プログラムの表示) 実行キー
   3.導入済みライセンス・プログラムにJDK1.3までが導入されているか確認
   JDK 1.3およびそれ以前のものが導入されている場合、対象となります。
   ===========================================
   導入済みライセンス・プログラムの表示

   ライセンス・ 導入
   プログラム リリース 記述
   57xxJV1 VnRnMn JAVA DEVELOPER KIT 1.2 (===> JDK 1.2が導入されている)
   57xxJV1 VnRnMn JAVA DEVELOPER KIT 1.1.8 (===> JDK 1.1.8が導入されている)
   57xxJV1 VnRnMn JAVA DEVELOPER KIT 1.3 (===> JDK 1.3が導入されている)
   57xxJV1 VnRnMn JAVA DEVELOPER KIT 1.4
   ===========================================
   の様に表示されます。(xx,nはそれぞれの導入されているVRMにより変わります。)

  ?システムが対象であればPTFが適用済みか確認する
   QSECOFRでサインオン後コマンド行に
   1.DSPPTF LICPGM(5722SS1) 実行キー
   2.PTFが適用済みかどうか判断
      V5R4: SI18706 (出荷前の社内用累積 5326540に含まれますので出荷されているi5/OS V5R4には適用済みです.)
      V5R3: SI18345
      V5R2: SI18338 (以前はSI18337 もガイドされていましたが,このPTFは5722JV1 OPT-6 Java 1.4用です.JDK 1.2/1.3のJCE期限切れとは直接関係がありません.)
      V5R1: SI18335 (以前はSI18336 もガイドされていましたが,このPTFは5722JV1 OPT-6 Java 1.4用です.JDK 1.2/1.3のJCE期限切れとは直接関係がありません.)

  ?PTFが未適用であればPTFを注文する
  ?PTFが未適用であればPTFを適用する
  ?/QIBM/ProdData/OS400/Java400/ext/ から /QIBM/UserData/Java400/ext/にコピー
   コピーすべきファイル
     ibmjcefw.jar
     ibmjceprovider.jar
     ibmpkcs.jar
 
   コピーの具体的な方法としては,例えば,QSHELLから下記のように実行します.
    −−−−−−−−−−−−−−−−−−−−−
    コピーする前に念のためバックアップを取得ください。SAVコマンドでバックアップされても構いません。
    mkdir /backup
    mv /qibm/UserData/Java400/ext/ibmjce*.jar /backup
    mv /qibm/UserData/Java400/ext/ibmpkcs.jar /backup
    対象となる.3つのJCE関連ファイルをコピーします
    cp /qibm/ProdData/OS400/Java400/ext/ibmjcefw.jar /qibm/UserData/Java400/ext/
    cp /qibm/ProdData/OS400/Java400/ext/ibmjceprovider.jar /qibm/UserData/Java400/ext/
    cp /qibm/ProdData/OS400/Java400/ext/ibmpkcs.jar /qibm/UserData/Java400/ext/
    −−−−−−−−−−−−−−−−−−−−−
  

    WebSphere Application Server V4.0 for iSeries は、2005年4月30日にサービスが終了していますが、JCE期限切れの為のFIX PACKが提供されました。

    IBM Java Cryptography Extension (JCE) Expires on 18 May 2006
    対象のリリースは以下の通りです:
    ・WebSphere Application Server V4 Advanced Edition
    ・WebSphere Application Server V4 Advanced Single Server Edition
    ・WebSphere Application Server-Express V5.0, fix pack V5.0.2.4 またV5.0.2.4より以前のバージョン
    ・WebSphere Application Server V5.0, fix pack V5.0.2.4 またV5.0.2.4より以前のバージョン
    ・WebSphere Application Server Network Deployment V5.0, fix pack V5.0.2.4 またV5.0.2.4より以前のバージョン

    【インストール手順】
    1.ダウンロードした WAS4OS400_ExpiringJceCertificateFix.jar ファイルを iSeries サーバー上の任意のディレクトリに格納します。
    2.5250 エミュレーターにて、*ALLOBJ 権限を持つユーザーでログインします。
    3.以下のコマンドを実行します。
    STRQSH
    4.WebSphere Application Server 製品がインストールされているディレクトリに移動します。
    例)WebSphere Application Server Advanced Edition 4.0 がインストールされている場合、以下のコマンドを実行します。
    cd /QIBM/ProdData/WebASAdv4
    5.1.で iSeries サーバー上に格納した WAS4OS400_ExpiringJceCertificateFix.jar ファイルを以下のコマンドより、実行します。
    例)ファイル格納先ディレクトリを「/WASFixes」とした場合
    jar -xf /WASFixes/WAS4OS400_ExpiringJceCertificateFix.jar
    6.5.の処理終了後、サーバーを再起動します。
    以上

    文書情報
    有効期限: 2010年7月22日
    資料番号: iSeries-05-014
    本コーナーは、お客様の問題解決のためのヒントとしてご利用ください。 本コーナーの記載内容は、お客様固有の問題に対し、適切であるかどうか、また、正確であるかどうかは十分検証されていません。 結果について、いかなる保証も責任も負いかねますので、あらかじめご了承ください。