How to handle 'SunCertPathBuilderException: unable to find valid certification path to requested target'
I have set up Atlassian Jira and set e-mail address for it. When I tried to sent test e-mail, I have faced with an error :
To retrieve an SSL certificate from remote server, use
To see the effect on jira, make sure that JAVA_HOME variable of jira is same with the directory you use in this tutorial. Otherwise, jira will not be able to discover the changes.
SunCertPathBuilderException: unable to find valid certification path to requested target
. After some search on Internet, I have found the following solution:To retrieve an SSL certificate from remote server, use
InstallCert.java
. After compiling the file, run the command: java InstallCert mta.xxx.gov.tr:465
. The run will fetch ssl certificate from specified port on the host:
Opening connection to mta.xxx.gov.tr:465...
Starting SSL handshake...
javax.net.ssl.SSLException: java.lang.UnsupportedOperationException
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1884)
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1842)
at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1825)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1346)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323)
at InstallCert.main(InstallCert.java:91)
Caused by: java.lang.UnsupportedOperationException
at InstallCert$SavingTrustManager.getAcceptedIssuers(InstallCert.java:175)
at sun.security.ssl.AbstractTrustManagerWrapper.checkAlgorithmConstraints(SSLContextImpl.java:926)
at sun.security.ssl.AbstractTrustManagerWrapper.checkAdditionalTrust(SSLContextImpl.java:872)
at sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(SSLContextImpl.java:814)
at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1323)
at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:153)
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1016)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
... 2 more
Server sent 3 certificate(s):
Choose one of the certificates to use. Type 1 to choose first. This process ends with this line:
Added certificate to keystore 'jssecacerts' using alias 'mta.xxx.gov.tr-1'
Now, in current directory, jssecacerts
file has been created. The last thing to do is to copy it into $JAVA_HOME/jre/lib/security/ directory. As a result of final action, ssl certificate of the site will be trusted.To see the effect on jira
Comments
Post a Comment