Crear Oracle Wallet con un certificado p12 en Oracle 19c

Buenos días a todos. En la entrada de hoy queremos contaros nuestra experiencia en crear un Oracle wallet para acceder a la base de datos en versión 19c. Ya publicamos anteriormente una entrada para hacerlo en 11g y 12c. La podéis ver en el siguiente enlace:

https://www.gpsos.es/2019/01/crear-wallet-oracle-certificado-p12/

Al realizar la misma operativa en Oracle 19c nos hemos encontrado con un fallo en uno de los pasos, en concreto en el paso:

orapki wallet pkcs12_to_jks -wallet ewallet.p12 -pwd test123 -jksKeyStoreLoc ewallet.jks -jksKeyStorepwd test123

El error que aparece es:

Unable to perform operation :null

Al revisar vemos que no hay información en los logs ni en metalink que nos de una pista de qué puede estar pasando, por lo que vamos a realizarlo de otra forma.

Crear Oracle Wallet con un certificado p12 en Oracle 19c

Crear Oracle Wallet para la versión 19c

Cargamos las variables de versión 19c:

 . oraenv
 ORACLE_SID = [] ? TEST19
 The Oracle base has been changed to /opt/oracle 

Nuestro certificado se llama test1.gpsos.es.cer y la key test1.gpsos.es.key:

cd certificados
openssl pkcs12 -export -in test1.gpsos.es.cer -inkey test1.gpsos.es.key -certfile CA.cer -out ewallet.p12

Metemos nuestra clave para el certificado

  1. El primer paso es convertir de p12 a jks
keytool -v -importkeystore -srckeystore ewallet.p12 -srcstoretype PKCS12 -destkeystore ewallet.jks -deststoretype JKS

Importamos todos los certificados asociados:

keytool -import -alias Root -keystore ewallet.jks -trustcacerts -file CA.cer
keytool -import -alias Intermediate -keystore ewallet.jks -trustcacerts -file CA.cer
keytool -list -keystore ewallet.jks 
  • Creamos un wallet vacío donde importar los certificados nuevos:
mkdir /home/oracle/certificados/wallet
orapki wallet create -wallet /home/oracle/certificados/wallet -pwd test123 -auto_login -pwd test123
  • Convertimos el fichero jks a wallet:
orapki wallet jks_to_pkcs12 -wallet /home/oracle/certificados/wallet -pwd test123 -keystore ./ewallet.jks -jkspwd test123
  • Copiamos el wallet a su ruta definitiva:
cd /home/oracle/certificados/wallet
chown oracle:dba ewallet.p12  cwallet.sso
chmod 640 ewallet.p12  cwallet.sso
mkdir -p /app/oracle/product/19.3.0.0/db_1/owm/wallets/oracle
cp /home/oracle/certificados/wallet/* /app/oracle/product/19.3.0.0/db_1/owm/wallets/oracle 

Una vez terminado podemos llamar a owm y comprobar que el wallet abre correctamente y tenemos nuestros certificados disponibles.

Si tienes dudas sobre cómo crear el Wallet o prefieres que lo hagamos nosotros, puedes contactarnos sin compromiso. También podremos asesorarte y valorar tu entorno si lo necesitas. Si estáis sufriendo problemas de lentitud, bloqueos, actualización de versión del motor de base de datos, migraciones, etc. podemos ayudarte. Solicítanos información y valoramos tu caso, somos expertos en Bases de datos como Oracle, SQL Server, MySQL, MongoDB…

Esperamos que esta entrada os sea de utilidad y os ahorre problemas a la hora de trabajar con esta funcionalidad. Nos vemos en próximas entradas.

Suscríbete a nuestra newsletter para no perderte ninguna de nuestras publicaciones. Con un solo email al mes estarás informado de todas nuestras entradas.

Más información en la documentación oficial: https://docs.oracle.com/middleware/1213/wls/JDBCA/oraclewallet.htm#JDBCA596

Fuente: https://www.gpsos.es/2021/05/crear-oracle-wallet-con-un-certificado-p12-en-oracle-19c/

Scroll al inicio