Illegal Character in Scheme Name When Setting Keystore Path

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

When attempting to enable the SSL connector on Tomcat Server.xml file, the following appears in catalina.out during the startup:

SEVERE [main] org.apache.tomcat.util.net.SSLUtilBase.getStore Failed to load keystore type [JKS] with path [?C:\ConfluenceKeystore] due to [Illegal character in scheme name at index 0: ?C:\ConfluenceKeystore]
 java.lang.IllegalArgumentException: Illegal character in scheme name at index 0: ?C:\ConfluenceKeystore

Cause

The Keystore path contains a non-printable unicode character which does not appear when editing the server.xml file. Copying the line and testing for invisible characters returned this result:

On this example, the U+202A unicode character was inserted before the path which caused the issue. The OS interpreted that unicode character and it was invisible when editing the server.xml file. You can use a tool or website to check for invisible unicode characters like https://www.soscisurvey.de/tools/view-chars.php for example.

Resolution

  • Open the server configuration file located here: <CONFLUENCE-INSTALL>/conf/server.xml. Make a backup copy of the file for precaution.
  • Check for any invisible character in the server.xml file and remove it. 

  • Save the server.xml file.

  • Restart Confluence to apply the changes.


Last modified on May 22, 2019

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.