Crear Oracle Wallet con un certificado p12 en Oracle 19c

Hola a todos. Hoy queríamos contaros nuestra experiencia en crear un Oracle wallet para acceder a la base de datos en versión 19c. Ya publicamos una entrada para hacerlo en 11g y 12c en la siguiente entrada:

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, contáctanos sin compromiso. También podremos asesorarte y valorar tu entorno si lo deseas. Podemos ayudarte si estáis sufriendo problemas de lentitud, bloqueos, actualización de versión del motor de base de datos, migraciones, etc. Pide información sin compromiso y valoraremos tu caso. Somos expertos en Bases de datos como Oracle, SQL Server, MySQL, MongoDB…

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

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

¿Aún no conoces Query Performance? Descubre cómo puede ayudarte en tu entorno Oracle. Más información en su página de LinkedIn.

Sígue a GPS en LinkedIn

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