ここでは、Enterprise Server と Web アプリケーションのセキュリティーおよび証明書に関する既知の問題とその解決方法を示します。
Sun GlassFish Enterprise Server v2.1.1 にバンドルされている CA 証明書の期限が 2010 年 1 月 8 日で切れています。そのため、ドメインの起動中に、一部の SEVERE メッセージが表示される可能性があります。
キーストアから期限の切れた証明書を削除してください。JKS キーストアから証明書を削除するには、次のコマンドを実行します。
keytool delete -alias verisignserverca -keystore domain-dir /config/cacerts.jks
NSS キーストアから証明書を削除するには、次のコマンドを実行します。
certutil -D -n verisignserverca -d domain-dir/config
非常に負荷の高い状況で特定の SSL シナリオを実行すると、JDK6 Sun PKCS11 Provider の JDK バグ (https://jdk6.dev.java.net/issues/show_bug.cgi?id=23 を参照) により、OutOfMemory エラーが発生する場合があります。
この問題が発生した場合は、JRE インストールの java.security ファイルから sun.security.pkcs11.SunPKCS11 プロバイダを削除してください。
AIX プラットフォームで、応答用の暗号化鍵を判別するための動的な暗号化に失敗します。失敗は、サーバー側で証明書の検証中に発生します。
失敗に対して、次のエラーメッセージがサーバーのログファイル server.log に書き込まれます。
Unable to validate certificate |
Error occurred while resolving key information com.sun.xml.wss.impl.WssSoapFaultException: Certificate validation failed |
Enterprise Server 2.1.1 に Metro 1.1 をインストールします。
@RunAs 注釈を使用して定義されている run-as (伝達された) セキュリティー ID を持つエンタープライズ Bean 内のメソッドが、別のエンタープライズ Bean 内のメソッドを呼び出そうとしました。run-as 主体が sun-ejb-jar.xml 配備記述子ファイルで定義されていない場合、呼び出しは javax.ejb.AccessLocalException 例外で失敗します。
javax.ejb.AccessLocalException: Client not authorized for this invocation. |
sun-ejb-jar.xml 配備記述子ファイルの principal-name 要素で、run-as ロールが指定されている主体名を定義します。
SSL 終了が機能しない。ロードバランサ (ハードウェア) を SSL 終了用に設定すると、リダイレクト中に Enterprise Server がプロトコルを https から http に変更する。
ハードウェアロードバランサと Enterprise Server の間にソフトウェアロードバランサを追加します。
JVM バグのため、HTTP リスナで security-enabled を true に設定すると、一部の JDK バージョンでリークの問題が起きます。具体的には、このバグを再現する手順は次のようになります。
HTTP リスナで security-enabled を true に設定します。
<http-listener acceptor-threads="1" address="0.0.0.0" blocking-enabled="false" default-virtual-server="server" enabled="true" family="inet" id=" http-listener-1" port="8080" security-enabled="true" server-name="" xpowered-by="true"> |
クイックルックテストの末尾にあるドメイン停止をコメントにします。
クイックルックテストを実行します。
ソケット使用状況を確認します。
netstat -an | grep 8080 |
使用状況が次のように表示されます。
*.8080 *.* 0 0 49152 0 LISTEN *.8080 *.* 0 0 49152 0 BOUND |
この問題は、GlassFish サイトの https://glassfish.dev.java.net/issues/show_bug.cgi?id=849 で説明されています。
最新の JDK バージョンにアップグレードします。