Set up Client Certificate Authentication
This section describes the steps that are necessary to configure IBM® WebSphere® Portal Express for SSL client certificate
authentication. The supported scenario is a "client certificate only" setup
that switches completely to this authentication method and does not allow
form-based login via username and password. Other configuration scenarios
are possible, but are neither recommended nor supported.
Perform the following steps to configure WebSphere Portal Express for
SSL client certificate authentication:
- Use the following steps to configure IBM WebSphere Application Server for
SSL support with client certificates:
- Perform the following steps to create a new SSL Repertoire:
- Check the Client Authentication checkbox for the
SSL repertoire.
- Choose the IBMJSSE provider and the SSL_TLS protocol.
- Reference the correct key and trust files. It is recommended to create
new key and trust files using the IKEYMAN tool and the PKCS12 format for maximum
browser compatibility. Note: The key file must contain the server certificate.
The trust file must contain either all the client certificates of users that
will be authenticated or a certification authority certificate (CA key) that
can be used to verify the client certificates of users.
- Associate the secure transport chain with the new SSL Repertoire.
- Configure your advanced LDAP security settings. Certificate-based
authentication requires that you configure the authentication mechanism so
that one of the following conditions apply:
- WebSphere
Application Server maps the entire
Distinguished Name (DN) from the subject field of the certificate to a corresponding
Distinguished Name in your LDAP. To use this option, set the mapping technique
in the LDAP configuration panel to exact.
- WebSphere
Application Server maps the entry
in the subject field to a different attribute than the Distinguished Name
in your user registry. To use this option, set up the mapping technique in
the LDAP configuration panel to use the certificate filter option. Using the
certificate filter option allows you more flexibility in using attributes
other than the Distinguished Name to identify the users. For example, the
filter uid=${SubjectCN} maps the SubjectCN field
of the client certificate to the uid attribute in your LDAP.
Note: If you use a custom user registry or an LDAP with realm support,
define the certificateFilter attribute at the wmm
tag in portal_server_root/wmm/wmm.xml,
for example certificateFilter="uid=${SubjectCN}".
- Perform the following steps if you use an external HTTP server:
- Regenerate the plug-in. To do this, click . Select the Web
server and click Generate Plug-in. Update
the HTTP server with the generated plug-in.
- Restart the HTTP server for the changes to take effect.
- Enable client certificate authentication in your Web server.
For IBM HTTP Server (IHS), refer to http://www.redbooks.ibm.com/ and search for security handbook for the latest information
about WebSphere
Application Server.
- Modify the web.xml file of the web application. Then
perform the following steps:
- Edit the web.xml file located in the exported ear directory
under /wps.war/WEB-INF.
- Change the login-config tag to the client certificate authentication
method.
<login-config id="LoginConfig_1">
<auth-method>CLIENT-CERT</auth-method>
<realm-name>WPS</realm-name>
<!--<form-login-config id="FormLoginConfig_1">
<form-login-page>/redirect</form-login-page>
<form-error-page>/error.html</form-error-page>
</form-login-config> -->
</login-config>
- Change the transport guarantee setting in the security constraint
for the protected area to CONFIDENTIAL:
<security-constraint id="SecurityConstraint_1">
<web-resource-collection id="WebResourceCollection_1">
<web-resource-name/>
<url-pattern>/myportal/*</url-pattern>
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
<http-method>HEAD</http-method>
</web-resource-collection>
<auth-constraint id="AuthConstraint_1">
<description/>
<role-name>All Role</role-name>
</auth-constraint>
<user-data-constraint id="UserDataConstraint_4">
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
- Save your changes.
- Use the following steps to update the themes and settings for a
better user experience:
- Modify the URLs for login and logout in the themes that are
used in your scenario. In the default theme, these are located in the banner_toolbar.jspf and mainMenu.jsp files in the %wps_ear_expanded$/wps.war/themes/ directory. Important: If you have a cluster installation, perform this
step on the Network Deployment server:
- Remove the login portlet from all pages where it is placed,
for example the welcome and the login page.
- If you want to completely disable the entry points 'login portlet'
and 'login URL' to WebSphere Portal Express, set
the property command.login in the configuration service
to the value LoginUserBlocked. This ensures that a
login can only be triggered after being authenticated by WebSphere
Application Server,
in this case by the client certificate handshake.
- Repackage and redeploy the wps.ear as outlined in Deploying themes
and skins and then restart your server (or cluster).
- Follow these steps to verify your setup:
- Import one of the client certificates that are accepted by the
server to your browser.
- Launch the home page in this browser through an HTTP URL that
is not secure; for example, http://hostname.example.com:10040/wps/portal,
where hostname.example.com is the fully qualified host
name of the machine where WebSphere Portal is running and 10040 is the default
transport port that is created by WebSphere Application Server..
- Click the login link.
- Verify that the server switches to HTTPS and you are prompted
for the client certificate.
- After selecting and confirming the correct client certificate,
you are redirected to the protected area served with HTTPS.
Parent topic: Configuring SSL
|
|
|