This page last changed on Feb 24, 2011 by smaddox.

This page describes how to get Confluence connecting to external servers over SSL, via the various SSL-wrapped protocols.

Here are some examples of when you may need to connect to an external server over SSL/HTTPS:

If you want to run Confluence itself over SSL, see Running Confluence Over SSL or HTTPS.

Importing SSL Certificates

The following commands apply to JDK 1.5. For commands/syntax relevant to JDK 1.6, please refer to this document from Oracle.

  1. Add the root certificate to your default Java keystore with the following command. This is the certificate that was used to authorise the LDAP server's certificate. It will be either the one that was used for signing it, or will come from further up in the trust chain, possibly the root certificate. This is often a self-signed certificate, when both ends of the SSL connection are within the same network. Again, the exact alias is not important.
    keytool -import -alias serverCert -file RootCert.crt -keystore %JAVA_HOME%/jre/lib/security/cacerts (Windows)
    keytool -import -alias serverCert -file RootCert.crt -keystore $JAVA_HOME/jre/lib/security/cacerts (Linux/Unix/Mac)
    
  2. Import your LDAP or JIRA server's public certificate into the JVM Keystore. This is the certificate that the LDAP server will use to set up the SSL encryption. You can use any alias of your choosing in place of "JIRAorLDAPServer.crt".
    keytool -import -alias ldapCert -file JIRAorLDAPServer.crt -keystore %JAVA_HOME%/jre/lib/security/cacerts (Windows)
    keytool -import -alias ldapCert -file JIRAorLDAPServer.crt -keystore $JAVA_HOME/jre/lib/security/cacerts (Linux/Unix/Mac)
    
  3. Edit the file in your Confluence installation directory, {confluence-installation}\confluence\WEB-INF\classes\atlassian-user.xml. Change the value of securityProtocol from "plain" to "ssl":
    <securityProtocol>ssl</securityProtocol>
    

    Switch the LDAP connection to the SSL port, if it is different from the default LDAP port. If you are using the most common LDAPS port, set:

    <port>636</port>
    

    The keytool will ask you for a password. The default password is 'changeit' without the quotes.

  4. Verify that the certificate has been added successfully by entering the following command:
    keytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts (Windows)
    keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts (Unix/Linux)
    keytool -list -keystore /Library/Java/Home/lib/security/cacerts (Mac)
    
  5. Ensure that you have updated JAVA_OPTS to specify the path to the keystore, as specified in Connecting to SSL services, before restarting Tomcat/Confluence.
    There is no need to specify an alias for Confluence to use. On connecting to the LDAP server, it will search through the keystore to find a certificate to match the key being presented by the server.

Troubleshooting

Check the following knowledge base articles:

RELATED TOPICS

Configuring an SSL Connection to Active Directory
Configure Web Proxy Support for Confluence
Running Confluence Over SSL or HTTPS


SSLPoke.class (text/plain)
SSLPoke.java (text/plain)
Document generated by Confluence on Mar 16, 2011 18:30