Wednesday, June 20, 2012

EM12c: How to recover EM(OMS) to its original wallet and cert after messing up with 3rd party wallet and certificate?


Problem: I was trying to secure OMS using 3rd party wallet. Created a certificate request. Secured OMS and console using this wallet and certificate successfully. But then while trying to start oms, it did not come up and always showing javax.net.ssl.SSLHandshakeException in emctl.log:
ERROR oms.StatusOMSCmd processStatusOMS.309 - Received fatal alert: handshake_failure
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
        at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
        at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1720)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:954)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1138)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:632)
        at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
        at java.io.ByteArrayOutputStream.writeTo(ByteArrayOutputStream.java:109)
        at HTTPClient.HTTPConnection.sendRequest(HTTPConnection.java:3366)
        at HTTPClient.HTTPConnection.handleRequest(HTTPConnection.java:3281)
        at HTTPClient.HTTPConnection$9.run(HTTPConnection.java:3032)
        at HTTPClient.HTTPConnection$9.run(HTTPConnection.java:3023)
        at HTTPClient.HttpClientConfiguration.doAction(HttpClientConfiguration.java:666)
        at HTTPClient.HTTPConnection.doAction(HTTPConnection.java:5401)
        at HTTPClient.HTTPConnection.setupRequest(HTTPConnection.java:3023)
        at HTTPClient.HTTPConnection.Get(HTTPConnection.java:878)
        at oracle.sysman.emctl.oms.StatusOMSCmd.pingOMSCheck(StatusOMSCmd.java:343)
        at oracle.sysman.emctl.oms.StatusOMSCmd.processStatusOMS(StatusOMSCmd.java:237)
        at oracle.sysman.emctl.wls.OMSController.statusOMS(OMSController.java:1222)
        at oracle.sysman.emctl.wls.OMSController.startOMS(OMSController.java:943)
        at oracle.sysman.emctl.wls.OMSController.main(OMSController.java:329)
2012-06-06 13:20:28,196 [main] INFO  wls.OMSController statusOMS.1354 - statusOMS finished with result: 9

I did figure out that there is a potential issue with certificate/wallet that I generated. It’s not valid. So I wanted to bring oms back to its original configuration with its wallet and certificate.

Solution: Using following commands, I was able to bring up the OMS without any issues.

%emctl stop oms
%emctl secure oms
%emctl secure console -self_signed
%emctl stop oms -all
%emctl start oms