Scenario 3: Client certificate authentication and RunAs system

Scenario 3: Client certificate authentication and RunAs system

This example portrays a pure Java client, C, accessing a secure enterprise bean on S1. C authenticates to S1 using Secure Sockets Layer (SSL) client certificates. S1 maps the common name of the distinguished name (DN) in the certificate to a user in the local registry. The user in this case is bob. The enterprise bean code on S1 accesses another enterprise bean on S2. Because the RunAs mode is system, the invocation credential is set as server1 for any outbound requests.

Step 1: Configure C

C1 requires transport layer authentication (SSL client certificates). To accomplish this, perform the following steps:

  1. Identify the sas.client.props file to the client by specifying the property com.ibm.CORBA.ConfigURL=file:/QIBM/UserData/WebAS5/product/instance/properties/sas.client.props where product is Base or ND and instance is the name of your instance. All further configuration involves setting properties within this file.

  2. Enable SSL. In this case, SSL is supported but not required:
    com.ibm.CSI.performTransportAssocSSLTLSSupported=true
    com.ibm.CSI.performTransportAssocSSLTLSRequired=false

  3. Disable client authentication at the message layer:
    com.ibm.CSI.performClientAuthenticationRequired=false
    com.ibm.CSI.performClientAuthenticationSupported=false

  4. Enable client authentication at the transport layer. It is supported, but not required:
    com.ibm.CSI.performTLClientAuthenticationRequired=false
    com.ibm.CSI.performTLClientAuthenticationSupported=true

Step 2: Configure S1

In the administrative console, S1 is configured for incoming connections to support SSL with client certificate authentication. The S1 is configured for outgoing requests to support message layer client authentication.

  1. Configure S1 for incoming connections:
    1. Disable identity assertion.
    2. Disable user ID and password authentication.
    3. Enable SSL.
    4. Enable SSL client certificate authentication.

  2. Configure S1 for outgoing connections:
    1. Disable identity assertion.
    2. Disable user ID and password authentication.
    3. Enable SSL.
    4. Enable SSL client certificate authentication.

Step 3: Configure S2

In the administrative console, the S2 is configured for incoming requests to support message layer authentication over SSL. Configuration for outgoing requests is not relevant for this scenario.

  1. Disable identity assertion.
  2. Enable user ID and password authentication.
  3. Enable SSL.
  4. Disable SSL client authentication.