<内容/目次>
【要対応】 IBM JCE 1.2.1 証明書期限切れ問題 WASに関するFAQ
1.JCE一般
1-1 JCEとはなんでしょうか?
2-1 対象となるWASのバージョンを教えてください。
3.WASでのFixについて
3-1 Fixを適用することによりアプリケーションに影響がありますか?
3-4 Fixの適用後の確認方法を教えてください。
---
修正履歴
2006/04/26 公開
2006/05/08 WAS 5.0対応策修正
2006/05/13 Expressの対応方法に追記
2006/05/15 WAS Express 5.0.2.17公開に伴い、対象バージョンを追記
2006/05/17 3-3 Fix適用手順書へのLinkを追加
2006/05/18 2-5, 3-1 JCE用iFix PQ85933を、新しいiFix PK23458に修正しました。この修正に伴い、「PQ85933は5.0.2.5以上に含まれます。」という記述を削除しました。
IBM JCE 1.2.1証明書の有効期限切れ問題に関して、よくあるご質問をまとめました。
| 参照 |
- IBM Java実行環境におけるJCEの証明書期限切れの問題 (IBM重要セキュリティ)
- IBM Software製品への影響について (IBMソフトウェア・サポート)
- WebSphere Application Serverへの影響について (IBMソフトウェア・サポート)
- JCE 1.2.1の証明書の期限切れ問題とOS/400について (IBM Systems サポート)
- IBM JCE1.2.1有効期限切れに伴うWAS for z/OSへの影響について (IBMソフトウェア・サポート)
| WebSphere Application Serverに関するFAQ |
1.JCE一般
1-1 JCEとはなんでしょうか?
JCE(Java Cryptography Extension:Java 暗号化拡張機能)とは、Javaで暗号化や署名などを行うためのライブラリです。暗号化、鍵生成と鍵協定、およびメッセージ認証コード (MAC) アルゴリズム用のフレームワークおよび実装を提供します。
JCEは、Java2 SDK Standard Edtion(J2SE) 1.2/1.3ではオプションパッケージとして提供されていましたが、J2SE 1.4以降は標準APIとして統合されています。
JCEのフレームワークは、さまざまなベンダーから提供されるセキュリティ実装を選択して使用できるようになっています。初期のJCE仕様では、この実装を提供するJARファイルには有効な署名がされていることが必須であり、JCEライブラリは使用されるたびに署名の検証を行わなければならないとされていました。しかし署名には通常有効期限があるため、(この仕様を厳密に実装した場合)有効期限切れ後にはJCEのライブラリを使用した処理がすべて失敗してしまうこととなります。
これがJCE署名の有効期限切れの問題です。この当時のJCE仕様に従った実装は、署名の有効期限が切れた後は使用できなくなります。
Sun Microsystemsから提供されているJCE 1.2.1実装では、2005年7月28日6時43分(日本標準時)に証明書の有効期限が切れます。また、IBMから提供されている同レベルのJCE実装は2006年5月19日6時59分(日本標準時) に証明書の有効期限が切れます。
その後改定されたJCE仕様では、JARファイルに対する署名は、有効期限が切れていも(他の検証に成功すれば)かまわないというように変更になっています。
- IBM JCE を使用している
- JDK 1.2 または 1.3を使用している
- IBM JCEに含まれるibmjcefw.jarのビルド日が040219よりも古いものである (040219は問題ありません)
以下の全ての条件を満たした場合に発生します。
- ibmjcefw.jarのビルド日の確認方法はこちらをご参照ください。
2-1 対象となるWASのバージョンを教えてください。
- WebSphere Application Server 4.0
- 全てのバージョン
- WebSphere Application Server 5.0 Base / Network Deployment
- Version 5.0
- Version 5.0.1
- Version 5.0.2~5.0.2.4
- WebSphere Application Server 5.0 Express
- 5.0.xの全てのバージョン
以下のバージョンが対象となります。(注1)
IBM JCEはJ2SE 1.2以降でしか使用できないので、JDK 1.1を使用しているWAS 2.0/3.0では発生しません。
WAS 3.5では、標準ではJCE実装は製品に添付されておりません。ただし、別途JCE実装を入手の上、WAS 3.5に組み込んで使用することは可能です。そのような構成をとっている場合には、対処が必要になるケースがあります。
WAS 5.1/6.0は、J2SE 1.4を使用しています。J2SE 1.4に組み込まれているJCE実装は、JARファイルの署名の検証を行うときに、日付の有効期限をチェックしない仕様になっているため、この問題は発生しません。
(注1)
iSeries上のWASをお使いのお客様は、こちらの文書をご参照ください。
JCE 1.2.1の証明書の期限切れ問題とOS/400について (IBM Systems サポート)
z/OS上のWASをお使いのお客様は、こちらの文書をご参照ください。
IBM JCE1.2.1有効期限切れに伴うWAS for z/OSへの影響について (IBMソフトウェア・サポート)
WAS 4.0 をお使いのお客様は全バージョンで該当します。
WAS 5.0 Express をお使いのお客様は全バージョンで該当します。
WAS 5.0 Base / Network Deployment をお使いのお客様は、<WAS_ROOT>/bin/versionInfo.sh(またはversionInfo.bat)コマンドでFixPackのレベルを確認することができます。
- インストール済み製品
---------------------------
名前 IBM WebSphere Application Server
バージョン 5.0.2.4
ID BASE
ビルド・レベル cf40408.03
ビルド日 02/27/2004
※最後の0は表示されない場合があります。「5.0.2」のように表示された場合は「5.0.2.0」になります。
JCEのライブラリを使用した機能の全てでエラーが発生します。
具体的には、「java.lang.ExceptionInInitializerError」や「java.lang.SecurityException: Cannot set up certs for trusted CAs」のような文字列を含んだエラーが発生し、WASが起動しなくなります。また、稼動中のWASについても、同様のエラーメッセージを出力して停止する場合があります。
- WASでグローバルセキュリティを有効にしている場合
- WASのHTTPトランスポートでSSLの使用を有効にしている場合
- WASにデータベースなどのリソースアクセスのためのパスワードを管理している場合
- アプリケーションで暗号化ライブラリ(javax.crypto.*やjavax.security.*以下のクラス)を使用している場合
JCEのライブラリが使用された場合です。
WASでJCEライブラリが使用される例としては、以下のようなものがありますが、これに限定されません。これ以外にもJCEの機能を使用している機能は多数あります。
- WAS 4.0
WAS_Security_JCE_cummulativeFix PQ91005を適用します。 - WAS 5.0.0 / 5.0.1 Express, Base, Network Deployment
方法1. 5.0.2.5以上を適用します。最新のFix Listはこちらをご参照ください。(注4)
方法2. JDK Interim Fix PK23895を適用します。(PQ85933を適用済みの場合は、一旦削除してからPK23895を適用してください。 )
方法3. PK23458を適用します。 (注4) (注5)
- WAS 5.0.2.0 - 5.0.2.4 Base, Network Deployment
方法1. 5.0.2.5以上を適用します。最新のFix Listはこちらをご参照ください。
方法2. WAS用JDK131SR8、またはSR9以降を適用します。(注2,3) 最新のWAS用JDK累積修正はこちらをご参照ください。
方法3. PK23458を適用します。(注5)
- WAS 5.0.2.0 - 5.0.2.17 Express
方法1. WAS用JDK131SR8、またはSR9以降を適用します。(注2,3) 最新のWAS用JDK累積修正はこちらをご参照ください。
方法2. PK23458を適用します。(注4) (注5)
(注2)
WAS用JDK131SR8とは以下のレベルです。- IBM JDK1.3.1 SR8 (AIX/Linux/Win)
- Sun JDK1.3.1-12
- HP-UX JDK1.3.1-13
- IBM JDK1.3.1 SR9 (AIX/Linux/Win)
- Sun JDK1.3.1-16
- HP-UX JDK1.3.1-17
Sun Alert ID 102171対応の以下のJDK更新パッケージにはIBM JCEの更新が含まれていませんのでご注意ください。- IBM JDK1.3.1 SR9-1 (PK19792) (AIX/Linux/Win)
- Sun JDK1.3.1-17 (PK20739)
Expressでは、前提となるprereq.jce.componentファイルがないために、iFix PK23458を適用できません。そのため、5.0.0-5.0.2.16の全てのレベルで対応が必要となります。
ExpressへのPK23458適用方法についてはこちらをご参照ください。
(注5)
PK23458は、PQ85933に代わる新しいFixで、PQ85933と同じくJCE用の単体のFixとなります。PQ85933を既に適用済みのお客様は、新たにこのFixを適用する必要はございません。
こちらを参照に、該当のFixを適用してください。
http://www.ibm.com/jp/software/support/techflash/4925704300058D7C.html
環境によってはJCEのライブラリが使用されておらず、実際に日付をずらしてテストをしてみると正常に動くケースもあります。しかしこのような場合でも、何らかの構成変更を行ったとたんに今まで使われなかった機能が使われるようになり、JCEの問題が発生するようになるというリスクがあります。
そのため、該当するバージョンのWASを使用している場合には、Fixの適用をお願いします。
3.WASでのFixについて
3-1 Fixを適用することによりアプリケーションに影響がありますか?
アプリケーションへの影響は特にありません。WAS 4.0用の『WAS_Security_JCE_cummulativeFix』や、WAS 5.0用のPK23458は、JCE問題を解決するための最小限のFixとなります。
WAS 4.0/5.0では、提供されている全ての言語環境で共通の実行ファイル・ライブラリ等が導入されています。製品自体にOSの言語環境による違いはありません。そのため、Fixは全ての言語環境で適用することができます。
- こちらの手順書をご参照ください。
また、各Fix掲載サイトのInstallation InstructionsにあるReadmeもご参照ください。
3-4 Fixの適用後の確認方法を教えてください。
Fixが正しく適用されていることを確認してください。必要に応じてアプリケーションのテストを実施ください。
また、Fix適用の結果、ibmjcefw.jarのビルド日は040219以降になります。
Fixの適用では、JCE証明書の有効期限をチェックしないようにロジックが変更になります。よって、有効期限が切れた証明書でも問題なく使用できることになり、期限切れの問題は発生しなくなります。
---
修正履歴
2006/04/26 公開
2006/05/08 WAS 5.0対応策修正
2006/05/13 Expressの対応方法に追記
2006/05/15 WAS Express 5.0.2.17公開に伴い、対象バージョンを追記
2006/05/17 3-3 Fix適用手順書へのLinkを追加
2006/05/18 2-5, 3-1 JCE用iFix PQ85933を、新しいiFix PK23458に修正しました。この修正に伴い、「PQ85933は5.0.2.5以上に含まれます。」という記述を削除しました。
<添付資料>
<文書情報>
製品/カテゴリー名
WebSphere Application Server
有効期限
2010年04月26日
発表日
資料番号
