PRGZ-3630 : Active master key ID not found in TDE wallet for database
Este error que arroja el ZDM, puede ser por dos motivos:
A la hora de activar el TDE en origen se hizo de manera incompleta dejando sin informar la V$ENCRYPTION_KEYS.
Se perdió la wallet que había original y con ello las diferentes claves.
En este caso fue la segunda opción, el TDE se hizo correctamente pero se genero una nueva wallet y con ello se perdieron las claves de origen.
En este caso tuvimos suerte y había copia, con lo que solamente me toco mergear la wallet actual con la antigua y así tenemos una única wallet con todas las claves. Así que vamos al lío.
Lo primero que tenemos que hacer para mergear wallet es lo siguientes pasos:
Definimos una carpeta con el nombre XXXX donde tendremos una copia de la wallet actual.
Eliminamos el archivo ewallet.p12
Mergeamos
Primero vamos a ver que contiene la wallet original y la antigua mediante el comando mkstore, al igual que la v$encryption_keys
SQL> select key_id, keystore_type, origin from v$encryption_keys;
KEY_ID KEYSTORE_TYPE ORIGIN
------------------------------------------------------------------------------ ----------------- -----------------------------------------
ASRecEWh/k8yv8yEjmYY1cwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA SOFTWARE KEYSTORE LOCAL
Información de la wallet original
SQL> ! pwd
/oracle/product/admin/XXXXX/wallet/tde
SQL> ! mkstore -wrl . -list
Oracle PKI Tool Release 19.0.0.0.0 - Production
Version 19.4.0.0.0
Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
Requested Certificates:
Subject: CN=oracle
User Certificates:
Oracle Secret Store entries:
ORACLE.SECURITY.DB.ENCRYPTION.ASRecEWh/k8yv8yEjmYY1cwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY
ORACLE.SECURITY.ID.ENCRYPTION.
ORACLE.SECURITY.KB.ENCRYPTION.
ORACLE.SECURITY.KM.ENCRYPTION.ASRecEWh/k8yv8yEjmYY1cwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Trusted Certificates:
Información de la wallet anterior
SQL> ! mkstore -wrl old/ -list
Oracle Secret Store Tool Release 19.0.0.0.0 - Production
Version 19.4.0.0.0
Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
Enter wallet password:
Oracle Secret Store entries:
ORACLE.SECURITY.DB.ENCRYPTION.AcHeEplCEU/8v0rzp23jgQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.DB.ENCRYPTION.AQp4sqH4T08Ov8O9qS+tMiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.DB.ENCRYPTION.AWLLoFvQq0/Cv5zuPFF5CcMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY
ORACLE.SECURITY.ID.ENCRYPTION.
ORACLE.SECURITY.KB.ENCRYPTION.
ORACLE.SECURITY.KM.ENCRYPTION.AcHeEplCEU/8v0rzp23jgQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.KM.ENCRYPTION.AQp4sqH4T08Ov8O9qS+tMiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.KM.ENCRYPTION.AWLLoFvQq0/Cv5zuPFF5CcMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
La nueva wallet tendrá que tener las claves anteriores. Mergeamos las claves desde sqlplus
SQL> ADMINISTER KEY MANAGEMENT MERGE
KEYSTORE '/oracle/product/admin/XXXXX/wallet/tde/original' IDENTIFIED BY "XXXXXXX" AND
KEYSTORE '/oracle/product/admin/XXXXX/wallet/tde/tde/old' IDENTIFIED BY "XXXXXXX"
INTO NEW KEYSTORE '/oracle/product/admin/XXXXX/wallet/tde' IDENTIFIED BY "XXXXXXX";
Listo, consultamos la nueva wallet para verificar que tiene las claves de ambas wallet
SQL> !mkstore -wrl . -list
Oracle Secret Store Tool Release 19.0.0.0.0 - Production
Version 19.4.0.0.0
Copyright (c) 2004, 2024, Oracle and/or its affiliates. All rights reserved.
Enter wallet password:
Oracle Secret Store entries:
ORACLE.SECURITY.DB.ENCRYPTION.AcHeEplCEU/8v0rzp23jgQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.DB.ENCRYPTION.AQp4sqH4T08Ov8O9qS+tMiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.DB.ENCRYPTION.ASRecEWh/k8yv8yEjmYY1cwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.DB.ENCRYPTION.AWLLoFvQq0/Cv5zuPFF5CcMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.DB.ENCRYPTION.MASTERKEY
ORACLE.SECURITY.ID.ENCRYPTION.
ORACLE.SECURITY.KB.ENCRYPTION.
ORACLE.SECURITY.KM.ENCRYPTION.AcHeEplCEU/8v0rzp23jgQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.KM.ENCRYPTION.AQp4sqH4T08Ov8O9qS+tMiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.KM.ENCRYPTION.ASRecEWh/k8yv8yEjmYY1cwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ORACLE.SECURITY.KM.ENCRYPTION.AWLLoFvQq0/Cv5zuPFF5CcMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Consultamos de nuevo la vista v$encryption_keys
SQL> select key_id, keystore_type, origin from v$encryption_keys;
KEY_ID KEYSTORE_TYPE ORIGIN
------------------------------------------------------------------------------ ----------------- -----------------------------------------
AQp4sqH4T08Ov8O9qS+tMiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA SOFTWARE KEYSTORE LOCAL
AcHeEplCEU/8v0rzp23jgQ4AAAAAAAAAAAAAAAAAAAAAAAAAAAAA SOFTWARE KEYSTORE LOCAL
AWLLoFvQq0/Cv5zuPFF5CcMAAAAAAAAAAAAAAAAAAAAAAAAAAAAA SOFTWARE KEYSTORE LOCAL
ASRecEWh/k8yv8yEjmYY1cwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA SOFTWARE KEYSTORE LOCAL
Listo, ya podemos continuar usando ZDM. ¡Espero que os sirva!
Subscribe to my newsletter
Read articles from David Sanz directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
David Sanz
David Sanz
Soy desarrollador, Analista, DBA Oracle y Arquitecto OCI, certificado en OCI Migration and Integration Certified Professional y Certified Architect Associate con más de 15 años de experiencia en plataformas Oracle además de especialista en temas de rendimiento.