Durante la instalación de Oracle WebLogic 12c o Fusion Middleware 12c, el arranque del Node Manager o de los servidores del dominio puede fallar con un ConfigException que apunta a un keystore que no existe: DemoIdentity.jks. El dominio se creó sin errores, pero el certificado demo que WebLogic usa para SSL nunca llegó a generarse.
El error
ConfigException · DemoIdentity.jks
weblogic.nodemanager.common.ConfigException: Identity key store file not found: /u01/app/oracle/product/Middleware/user_projects/domains/test_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.(SSLConfig.java:115)
at weblogic.nodemanager.server.NMServer.(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)La causa
El archivo DemoIdentity.jks no se genera durante los pasos de configuración del dominio. El origen está en las restricciones de seguridad que introdujeron las versiones más recientes del JDK: la utilidad utils.CertGen de WebLogic no consigue crear el certificado de CA demo cuando el producto se instala sobre JDK 8u161+ o JDK 7u171+.
Oracle tiene el comportamiento registrado y documentado:
- Bug 27117282.
- Note 2355249.1 — «WebLogic 12c Utils.CertGen Fails to Create CACert With Newer JDK8u161+/JDK7u171+ Installed».
La solución
Hay tres caminos posibles, en orden de preferencia:
- Aplicar el último Patch Set Update (PSU) de WebLogic y volver a ejecutar
config.sh/config.cmd. Es la opción recomendada: corrige la causa raíz y deja el dominio con su keystore generado. - No instalar ni configurar el dominio con el JDK más reciente: usar una versión certificada anterior a
8u161/7u171para tu release de WebLogic. - Deshabilitar SSL en el Node Manager, si el entorno no lo requiere.
# Opción 1 · Aplicar el PSU y reconfigurar el dominio
$ORACLE_HOME/OPatch/opatch apply
$ORACLE_HOME/oracle_common/common/bin/config.sh
# Opción 3 · Deshabilitar SSL en el Node Manager
# Archivo: $DOMAIN_HOME/nodemanager/nodemanager.properties
SecureListener=falseLa tercera opción desbloquea el arranque, pero deja la comunicación entre el Administration Server y el Node Manager sin cifrar. Resérvala para entornos de desarrollo o pruebas, nunca para producción.
Resultado
Con el PSU aplicado y el dominio reconfigurado, WebLogic genera DemoIdentity.jks en $DOMAIN_HOME/security y tanto el Node Manager como los servidores arrancan sin el ConfigException. En entornos productivos, el paso siguiente es sustituir los certificados demo por certificados propios emitidos por una CA de confianza: los demo sirven para levantar el dominio, no para operar.
