Sun GlassFish Enterprise Server 2.1 Release Notes

Security

This section describes known issues and associated solutions related to Enterprise Server and web application security and certificates.

OutofMemory Error in SSL Scenarios During Heavy Stress (JDK 6 Issue 23)

Description

A JDK bug (See: https://jdk6.dev.java.net/issues/show_bug.cgi?id=23) in JDK6 Sun PKCS11 Provider could cause an OutOfMemoryError when running certain SSL scenarios under heavy stress.

Solution

If you run into this issue, remove sun.security.pkcs11.SunPKCS11 provider from the java.security file in your JRE installation.

AIX: WSS dynamic encrypt key test failed due to server side certification validation error (6627379)

Description

On the AIX platform, dynamic encryption for the determination of an encryption key for a response is failing. The failure occurs during the validation of the certificate on the server side.

In response to the failure, the following error messages are written to the server's log file server.log:


Unable to validate certificate

Error occurred while resolving key information
com.sun.xml.wss.impl.WssSoapFaultException: Certificate validation failed

Solution

Install Metro 1.1 on Enterprise Server 2.1

AIX: @RunAs at EJB module authorization test failed AccessLocalException: Client not authorized (6627385)

Description

A method in an enterprise bean whose run-as, or propagated, security identity is defined by using the @RunAs annotation attempts to invoke a method in another enterprise bean. If no run-as principal is defined in the sun-ejb-jar.xml deployment descriptor file, the attempt might fail with a javax.ejb.AccessLocalException exception.


javax.ejb.AccessLocalException: Client not authorized for this invocation.

Solution

In the sun-ejb-jar.xml deployment descriptor file, define in the principal-name element the principal name for which the run-as role specified.

SSL termination is not working (6269102)

Description

SSL termination is not working; when Load Balancer (Hardware) is configured for SSL termination, the Enterprise Server changes the protocol from https to http during redirection.

Solution

Add a software load balancer between the hardware load balancer and the Enterprise Server.

Socket connection leak with SSL (6492477)

Description

Because of a JVM bug, there is a leak issue with some JDK versions when security-enabled is set to true on an HTTP listener. Specifically, the steps to reproduce this bug are as follows:

  1. Set security-enabled to true on the HTTP listener:


    <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">
  2. Comment out stopping domain at the end of quicklook tests.

  3. Run quicklook tests.

  4. Check socket usage:


    netstat -an | grep 8080

    The following are shown to be in use:


    *.8080               *.*                0      0 49152      0 LISTEN
    *.8080               *.*                0      0 49152      0 BOUND

This issue is tracked on the GlassFish site at https://glassfish.dev.java.net/issues/show_bug.cgi?id=849.

Solution

Upgrade to the latest JDK version.