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 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
- 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/