PRGZ-3630 : Active master key ID not found in TDE wallet for database

PRGZ-3630 : Active master key ID not found in TDE wallet for database

·

2 min read

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!