sslfedorakeystoresslcontext

getting an error SSLInitializationException: TLS SSLContext not available running a media server application


I am running subsonic (a media server web service) on fedora 26. I recently had a power failure during the upgrade to F26. I had to fix a ton of things, including selinux contexts, replacing some apps, etc... but was able to get back up and fully running, with the exception of this subsonic media server.

I then redid the upgrade to F26 successfully.

When I start subsonic, I get the following errors in it's logs, the important part being "org.apache.http.ssl.SSLInitializationException: TLS SSLContext not available "

[2018-03-07 09:50:01,178] INFO HsqlDaoHelper - Checking database schema.        
[2018-03-07 09:50:01,468] INFO HsqlDaoHelper - Done checking database schema.   
[2018-03-07 09:50:01,570] INFO SettingsService - Java: 1.8.0_151, OS: Linux     
[2018-03-07 09:50:01,613] INFO VersionService - Resolved local Subsonic version 
to: 6.1.3                                                                       
[2018-03-07 09:50:01,673] WARN SettingsService - Failed to validate license.    
org.apache.http.ssl.SSLInitializationException: TLS SSLContext not available    
        at org.apache.http.ssl.SSLContexts.createDefault(SSLContexts.java:55)   
        at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder
.java:966)                                                                      
        at net.sourceforge.subsonic.util.HttpUtil.client(HttpUtil.java:50)      
        at net.sourceforge.subsonic.util.HttpUtil.httpRequest(HttpUtil.java:37) 
        at net.sourceforge.subsonic.util.HttpUtil.httpGet(HttpUtil.java:25)     
        at net.sourceforge.subsonic.util.HttpUtil.httpGet(HttpUtil.java:20)     
        at net.sourceforge.subsonic.service.SettingsService.validateLicense(Sett
        at net.sourceforge.subsonic.service.SettingsService.validateLicense(Sett
ingsService.java:1408)                                                          
        at net.sourceforge.subsonic.service.SettingsService.access$000(SettingsS
ervice.java:52)                                                                 
        at net.sourceforge.subsonic.service.SettingsService$1.run(SettingsServic
e.java:1431)                                                                    
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:51
1)
  at net.sourceforge.subsonic.service.SettingsService.validateLicense(Sett
ingsService.java:1408)                                                          
        at net.sourceforge.subsonic.service.SettingsService.access$000(SettingsS
ervice.java:52)

        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
access$301(ScheduledThreadPoolExecutor.java:180)                                
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
run(ScheduledThreadPoolExecutor.java:294)                                       
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.
java:1149)                                                                      
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
.java:624)                                                                      
        at java.lang.Thread.run(Thread.java:748)                                
Caused by: java.security.NoSuchAlgorithmException: TLS SSLContext not available 
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)       
        at javax.net.ssl.SSLContext.getInstance(SSLContext.java:156)            
        at org.apache.http.ssl.SSLContexts.createDefault(SSLContexts.java:51)   
        ... 15 more  

I reinstalled the application and went back a few revisions, no luck. Also re-installed openjdk, openssl and a few other packages with no luck.

I then checked the cacerts file, but I could not open it with keytool:

keytool -list -keystore -v /etc/pki/java/cacerts

This gave me an error: " java.security.KeyStoreException: JKS not found" "

I then reinstalled the ca-certificates thinking it might have been corrupted. no luck.

Any suggestions besides completely reinstalling? I have backups of my data, but would rather figure out what's wrong first.


Solution

  • guess the power loss was more catastrophic than expected. I had to reinstall java-1.8.0-openjdk-headless instead of just java-1.8.0-openjdk to correct this issue. I'm not sure exactly what was corrupted. wonder what other surprises i'm in store for!