During installation, if you choose the HTTPS protocol, the Agent for Apache HTTP Server is automatically configured and ready to communicate over Secure Sockets Layer (SSL). Before proceeding with the tasks in this section, ensure that the Apache HTTP Server instance is configured for SSL.
You should have a solid understanding of SSL concepts and the security certificates required to enable communication over the HTTPS protocol. See the documentation for Apache HTTP Server.
This section only applies when Access Manager itself is running SSL. By default, the web agent installed on a remote Apache HTTP Server instance trusts any server certificate presented over SSL by the Access Manager host. The web agent does not check the root Certificate Authority (CA) certificate. If the Access Manager host is SSL-enabled and you want the web agent to perform certificate checking, adhere to the guidelines as described in the following subsections:
The following property in the web agent AMAgent.properties configuration file controls the agent’s trust behavior, and by default it is set to true:
com.sun.am.trust_server_certs
With this property set to true, the web agent does not perform certificate checking. On Solaris systems, setting this property to false is one of the steps involved in enabling the web agent to perform certificate checking as illustrated in the following task.
Set the following property in the web agent AMAgent.properties configuration file to false as follows:
com.sun.am.trust_server_certs = false
Set the directory Cert DB in the web agent AMAgent.properties configuration file as shown in the following example:
com.sun.am.sslcert.dir = Apache-base/conf/cert |
where Apache-base represents the directory where Apache HTTP Server was installed.
(Conditional) Set the Cert DB Prefix.
In cases where the specified Cert DB directory has multiple certificate databases, the following property must be set to the prefix of the certificate database to be used:
com.sun.am.certdb.prefix
Set the property in the following manner:
com.sun.am.certdb.prefix = https-host.domain.com.host- |
The root CA certificate that you install on the remote instance of Apache HTTP Server must be the same one that is installed on the Access Manager host.
You can use the certutil program to install the root CA certificate on Apache HTTP Server.
Change directories to the location of the Apache HTTP Server configuration file.
The following example is applicable for changing directories using the C shell when the Apache HTTP Server configuration file is in the default location of /etc/apache/:
# /etc/apache/ |
Change to the cert directory.
Set the proper environment by issuing the following command:
# setenv LD_LIBRARY_PATH PolicyAgent-base/SUNWam/agents/apache/lib:PolicyAgent-base/SUNWam/ agents/lib:/usr/lib/mps |
(Conditional) If you have not already created the necessary certificate database, create that database now by issuing the following command:
# PolicyAgent-base/SUNWam/agents/apache/cert/certutil -N -d . |
Install root CA certificate by issuing the following command:
# PolicyAgent-base/SUNWam/agents/apache/cert/certutil -A -n cert-name -t "C,C,C" -d cert-dir -i cert-file |
The name for this root CA certificate
The directory where the certificate and key stores are located
The base-64 encoded root CA certificate file.
For more information on the cetrutil utility enter cetrutil -H for Help.
To verify that the certificate is properly installed, in the command line, issue the following command:
# PolicyAgent-base/SUNWam/agents/apache/cert/certutil -L -d .
The root CA certificate is then listed in the output of the certutil -L command as illustrated in the following code example:
Certificate Name Trust Attrubutes cert-name C,C,C p Valid peer P Trusted peer (implies c) c Valid CA T Trusted CA to issue client certs (implies c) C Trusted CA to certs(only server certs for ssl) (implies c) u User cert w Send warning |
Restart Apache HTTP Server.