Confluence KeyStore on Windows Server
Asked by CenturyX476:

Hello,

So I have the configuration pretty much complete.

I am using the program "KeyStore Explorer to import my letsencrypt pfx12 file and saving the keystore to another location.

What does the below error mean ?

OS: Windows Server 2019

My Connector Info:

\<Connector port="443" maxHttpHeaderSize="8192"  
maxThreads="150" minSpareThreads="25"  
protocol="org.apache.coyote.http11.Http11NioProtocol"  
enableLookups="false" disableUploadTimeout="true"  
acceptCount="100" scheme="https" secure="true"  
clientAuth="false" sslProtocols="TLSv1,TLSv1.1,TLSv1.2"  
sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" SSLEnabled="true"  
URIEncoding="UTF-8" keystorePass="secretpassword"  
KeystoreFile="C:\\Users\\SNoorizadeh\\Desktop\\Temp\\Confluence.keystore"/\>

I also added the http redirect in the correct web.xml File

\<security-constraint\>  
\<web-resource-collection\>  
\<web-resource-name\>Restricted URLs\</web-resource-name\>  
\<url-pattern\>/\</url-pattern\>  
\</web-resource-collection\>  
\<user-data-constraint\>  
\<transport-guarantee\>CONFIDENTIAL\</transport-guarantee\>  
\</user-data-constraint\>  
\</security-constraint\>

I've checked the logs and this is what I am seeing.

Caused by: java.io.IOException: Cannot obtain URL for the relative path \[C:\\Users\\SNoorizadeh\\Desktop\\Temp\\Confluence.keystore\]. Check that catalina.base is set.  
at org.apache.catalina.startup.CatalinaBaseConfigurationSource.getResource(CatalinaBaseConfigurationSource.java:110)  
at org.apache.tomcat.util.net.SSLUtilBase.getStore(SSLUtilBase.java:198)  
at org.apache.tomcat.util.net.SSLHostConfigCertificate.getCertificateKeystore(SSLHostConfigCertificate.java:206)  
at org.apache.tomcat.util.net.SSLUtilBase.getKeyManagers(SSLUtilBase.java:283)  
at org.apache.tomcat.util.net.SSLUtilBase.createSSLContext(SSLUtilBase.java:247)  
at org.apache.tomcat.util.net.AbstractJsseEndpoint.createSSLContext(AbstractJsseEndpoint.java:97)  
... 20 more  
Caused by: java.lang.IllegalArgumentException: Illegal character in opaque part at index 2: C:\\Users\\SNoorizadeh\\Desktop\\Temp\\Confluence.keystore  
at java.base/java.net.URI.create(Unknown Source)  
at java.base/java.net.URI.resolve(Unknown Source)  
at org.apache.catalina.startup.CatalinaBaseConfigurationSource.getURI(CatalinaBaseConfigurationSource.java:147)  
at org.apache.catalina.startup.CatalinaBaseConfigurationSource.getResource(CatalinaBaseConfigurationSource.java:108)  
... 25 more  
Caused by: java.net.URISyntaxException: Illegal character in opaque part at index 2: C:\\Users\\SNoorizadeh\\Desktop\\Temp\\Confluence.keystore  
at java.base/java.net.URI$Parser.fail(Unknown Source)  
at java.base/java.net.URI$Parser.checkChars(Unknown Source)  
at java.base/java.net.URI$Parser.parse(Unknown Source)  
at java.base/java.net.URI.\<init\>(Unknown Source)  
... 29 more


Answers:
author: repi
body: You changed the standard connector port from 8443 to 443!  
You also have to change the redirector port from 8443 to 443?  
If your key file is in PKCS12 format, the following entry must be made in the https section:  
keystoreType = "PKCS12"

<https://confluence.atlassian.com/doc/running-confluence-over-ssl-or-https-161203.html>


Tags: java

keystore