Sunday 13 January 2019

weblogic.nodemanager.common.ConfigException: Identity key store file not found

========================================================================
Applies To:
Weblogic: 12.2.1.3
Java: jdk-8u161

========================================================================
Problem Summary:
After a fresh install on 12.2.1.3, we are unable to start the nodemanger.

Error:
<Jan 9, 2019 1:20:02 PM IST> <INFO> <Upgrade> <Setting NodeManager properties version to 12.2.1.3.0>
<Jan 9, 2019 1:20:02 PM IST> <INFO> <Upgrade> <Saving upgraded NodeManager properties to '/u01/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/nodemanager/nodemanager.properties'>
<Jan 9, 2019 1:20:02 PM IST> <INFO> <Loading domains file: /u01/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/nodemanager/nodemanager.domains>
<Jan 9, 2019 1:20:02 PM IST> <INFO> <Loading identity key store: FileName=/u01/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/security/DemoIdentity.jks, Type=jks, PassPhraseUsed=true>
<Jan 9, 2019 1:20:02 PM IST> <SEVERE> <Fatal error in NodeManager server>
weblogic.nodemanager.common.ConfigException: Identity key store file not found: /u01/Oracle/Middleware/Oracle_Home/user_projects/domains/base_domain/security/DemoIdentity.jks
        at weblogic.nodemanager.server.SSLConfig.loadKeyStoreConfig(SSLConfig.java:225)
        at weblogic.nodemanager.server.SSLConfig.access$000(SSLConfig.java:33)
        at weblogic.nodemanager.server.SSLConfig$1.run(SSLConfig.java:118)
        at java.security.AccessController.doPrivileged(Native Method)
        at weblogic.nodemanager.server.SSLConfig.<init>(SSLConfig.java:115)
        at weblogic.nodemanager.server.NMServer.<init>(NMServer.java:169)
        at weblogic.nodemanager.server.NMServer.getInstance(NMServer.java:134)
        at weblogic.nodemanager.server.NMServer.main(NMServer.java:589)
        at weblogic.NodeManager.main(NodeManager.java:31)

========================================================================
Root Cause:
DemoIdentity.jks is missing from $DOMAIN_HOME/security directory.

========================================================================
Resolution:
Generate DemoIdentity.jks
1. Open a command prompt and set WLS env variables.
. $WL_HOME/server/bin/setWLSEnv.sh
2. Run below command to generate identities
java utils.CertGen -keyfilepass DemoIdentityPassPhrase -certfile democert -keyfile demokey -strength 1024 -noskid
3. Run below to import generated files to keystore
java utils.ImportPrivateKey -keystore DemoIdentity.jks -storepass DemoIdentityKeyStorePassPhrase -keyfile demokey.pem -keyfilepass DemoIdentityPassPhrase -certfile democert.pem -alias demoidentity
4. Verify keystore using below command
keytool -list -v -keystore DemoIdentity.jks
5. Copy DemoIdentity.jks to $DOMAIN_HOME/security directory if it's generated in some other directory
6. Rerun ./startNodeManager.sh from $DOMAIN_HOME/bin directory.