ORABPEL-35012 Unable to Fetch/Generate Encryption Key. JPS-01051: Credential audit events cannot be logged. Reason oracle.security.jps.service.audit.AuditException: JPS-00152: Component not registered, name: JPS

 

El título del post seguramente les es confuso, pero son un par de errores que me salieron en dos diferentes instalaciones durante los últimos días.

El primero:

ORABPEL-35012 Unable to Fetch/Generate Encryption Key, apareció mientras intentaba hacer login al WorklistApp de SOA (/integration/worklistapp). Simplemente el login entraba en un loop y no te presentaba la aplicación, se quedaba el navegador en blanco.

Después de un rato de estar buscando en los logs, me encontré con ese código de error.

Leyendo la documentación y un par de notas en Oracle Support, me di cuenta que el BPM-CRYTP no aparecía en el Enterprise Manager:

image

Para poder revisar esto, basta con que entres al EM, vayas a la carpeta de Dominio, des click sobre él y vayas a Seguridad y Credenciales.

En esta instalación, por alguna razón esta credencial no aparecía, y tenía todo el sentido pues el error me indicaba que no lo podía recuperar.

Lo único que se tuvo que hacer fue crearla a mano, desde el propio EM, desde la pantalla que acabo de mostrarles. Haciendo los siguientes pasos:

  1. Dar click en Create Map e ingresar BPM-CRYPTO
  2. Dar click en Create Key, seleccionar el mapa previamente creado (BPM-CRYPTO) y escoger: Tipo (Password), User name (crypto) y Password

Del punto dos, en realidad puedes colocar con ningún inconveniente los datos, menos por el password. Este debe ser un valor válido para el engine, pero como se generó bien, no tienes forma de sacarlo de la configuración de este dominio.

Aunque aparezca extraño, lo puedes conseguir desde otro dominio al que tengas acceso, copiarlo e ingresarlo en la forma de caputra que hemos mencionado.

Ahora bien, ¿cómo puedes conseguir dicho valor? De la siguiente manera:

  1. Tienes que hacer uso del WLST
  2. El WLST que debes usar es el del ORACLE_HOME, no el de WL_HOME. Por ejemplo: C:\oracle\MWSOA\Oracle_SOA1\common\bin. Si  usas el de WL_HOME no te servirá
  3. Te debes conectar al servidor de donde quieras sacar la credencial, con el comando
  4. connect(‘username’, 'password', 'localhost:portnum')

  5. Una vez conectado, debes usar el comando:
  6. listCred(map="mapName", key="keyName")

Dónde mapName=BPM-CRYPTO y key=BPM-CRYPTO


Una vez que ejecutes el comando, te devolverá un valor similar a este:


JAtTREI6djvgjWTL6TrqMg==


Usa el que te haya regresado la ejecución del comando en tu dominio, no pegues este que puse yo de ejemplo, pues no te servirá.


Posteriormente, simplemente cópialo y pégalo en el Enteprise Manager.


Con esto, sin necesidad de reiniciar nada, podrás entrar al Worklistapp:


image


Ahora bien, el segundo error:


JPS-01051: Credential audit events cannot be logged. Reason oracle.security.jps.service.audit.AuditException: JPS-00152: Component not registered, name: JPS


El error te saldrá cuando levantas tu managed server donde la SOA-INFRA se está ejecutando. Lo verás en las primeras líneas del log con extensión .out.


El servidor de weblogic sí levantará, pero la SOA-INFA no estará activa.


Si entras al Enterprise Manager, tampoco verás el BPM-CRYPTO que revisamos en el error anterior. Lo distinto aquí, es que no puedes crear el mapa ni la llave, pues el JPS no fue inicializado.


Todo indica que la causa del error es porque el archivo audit-store.xml está vacío o está corrupto. Para validar esto, ve a la carpeta:


C:\oracle\MWSOA\user_projects\domains\soa_domain\config\fmwconfig y valida que el archivo mencionado, mida 0 bytes.


¿Ahora bien, cómo restablecemos al archivo?


Simplemente cópialo de otra instalación que hayas realizado, de la misma versión, con el mismo nivel parches y cópialo en la carpeta mencionada.


Con esto, tu SOA-INFRA podrá arrancar, dado que el JPS no tendrá problemas para ejecutarse.