Sun Java System Application Server 9.1 Update 1-9.1 Update 2 Release Notes

Security

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

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 Application Server 9.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 Application Server changes the protocol from https to http during redirection.

Solution

Add a software load balancer between the hardware load balancer and the Application 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.