Cisco ASDM and UCS Manager Java Errors

Hopefully this simple, but undocumented fix helps save you some time if you run across a similar Java error when trying to run your Cisco ASDM or Cisco UCS Manager console.

I spent hours last night, and a few more this morning trying to figure out why I could no longer launch my Cisco UCS Manager console. It was working fine yesterday…

Have you tried turning it off and on again?

Even after a reboot, no luck… On top of that, my ASDM console was now broken as well. Time to put on the troubleshooting cap!

com.sun.deploy.net.FailedDownloadException: Unable to load resource: https://x.x.x.x/ucsm/unpacked/ccore.jar

Looking into the Java console for more detail showed a bit more detail:

com.sun.deploy.net.FailedDownloadException: Unable to load resource: https://x.x.x.x/ucsm/unpacked/ccore.jar
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Java couldn’t trust Server
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.fatal(Unknown Source)
at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
at sun.security.ssl.Handshaker.fatalSE(Unknown Source)
at sun.security.ssl.ClientHandshaker.serverCertificate(Unknown Source)
at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source)
at sun.security.ssl.Handshaker.processLoop(Unknown Source)
at sun.security.ssl.Handshaker.process_record(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doRequest(Unknown Source)
at com.sun.deploy.net.BasicHttpRequest.doGetRequest(Unknown Source)
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.downloadResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.deploy.cache.ResourceProviderImpl.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.cert.CertificateException: Java couldn’t trust Server
at com.sun.deploy.security.X509Extended7DeployTrustManager.checkServerTrusted(Unknown Source)
… 24 mo

In the interest of your time, I’ll post the solution to the issue first and then go through the troubleshooting steps I used. You can stop reading if the fix works for you, or read on if you’ve got too much free time.

Solution for Windows 7/8 OS users:

Delete the following three folders:

  1. C:\Users\username\AppData\Local\Sun
  2. C:\Users\username\AppData\LocalLow\Sun
  3. C:\Users\username\AppData\Roaming\Oracle

That’s it! Once I deleted those three folders, I was able to launch both the Cisco UCS Manager and the ASDM consoles without any issues. Where was this info before I spent hours uninstalling and re-installing other versions of Java? If you’re ready for some ZZZZZs, here are the rest of the troubleshooting steps I took based on various KB articles and forum posts I found while searching for an answer:

  • Installed Java 6 Update 45 alongside my running instance of Java 7 update 25… fail!
  • Uninstalled Java 6u45 and Java 7u25 completely and performed a clean install of Java 6u45… fail!
  • Uninstalled Java 6u45 and performed a clean install of Java 7u21… fail!
  • Uninstalled Java 7u21 and performed a clean install of Java 7u25 32-bit and 64-bit… fail!
  • From the Java Control Panel, I emptied any Temporary Internet Files and deleted any cached security certificates… fail!
  • Created a new Java keypass file… fail!
  • Attempted to install Java in a directory with no spaces (c:\jre7) and launch the jnlp file from there… fail!
  • Ran JavaRA, a commonly used Java cleanup utility to try to remove all traces of Java… fail!
  • Searched the registry, but didn’t find any traces of Java left, so I looked to the file system. The three folders I mentioned above remained after every full uninstall I performed… hmmmm!

I had read a few forum posts from users who were only able to fix their problem by re-imaging their computers, or deleting and re-creating their Windows profile. This led me to search for the remaining orphaned files and find the root cause of the issue. I would have thought that these files would have been deleted by the Java uninstaller or even the JavaRA removal tool. In any case, I hope this post helps save some time in the future if you come across a similar situation.