Migración de datos cifrados
Al migrar IBM Websphere Commerce Version 8 a HCL Commerce Version 9.1 debe migrar los datos cifrados. Las versiones anteriores de WebSphere Commerce permiten que el sitio utilice el cifrado 3DES (merchantKey de 16 bits) o AES (merchantKey de 32 bits). En HCL Commerce Version 9.1, solo se utiliza el cifrado AES.
Antes de empezar
-
- Inicie sesión en el entorno que aloja Utility server Docker container.
Si Utility server Docker container no se ha implementado, consulte Preparar un servidor de host de Docker para iniciar Utility server Docker container.
- Introduzca el Utility server Docker container.Por ejemplo,
docker exec -it utility_container_name bash
Ahora está dentro de Utility server Docker container. Los pasos siguientes deben realizarse en este entorno.
- Inicie sesión en el entorno que aloja Utility server Docker container.
Procedimiento
-
Cree los archivos necesarios para migrar los datos cifrados.
-
Configure la migración del cifrado de datos.
Cree CustomKeys.xml. Este archivo se utiliza para proporcionar a la utilidad MigrateEncryptedInfo las instrucciones sobre de y a dónde migrar datos.
Coloque este archivo en la ubicación siguiente: /opt/WebSphere/AppServer/profiles/default/installedApps/localhost/ts.ear/xml/config/CustomKeys.xml.
Los archivos de configuración de ejemplo son de la manera siguiente:<?xml version="1.0" encoding="UTF-8"?> <keys xmlns="http://www.ibm.com/xmlns/prod/WebSphereCommerce" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/WebSphereCommerce xsd/WCKeys.xsd"> <key name="MerchantKey" providerName="WC" status="current" className="com.ibm.commerce.security.keys.WCExternalFileMerchantKeyImpl" algorithm="3DES"> <config name="keyFile" value="oldMerchantKey.xml"/> </key> <key name="MerchantKey" providerName="WC" status="new" className="com.ibm.commerce.security.keys.WCExternalFileMerchantKeyImpl" algorithm="AES"> <config name="keyFile" value="merchantKey.xml"/> <config name="keyEncryptionKeyFile" value="KeyEncryptionKey.xml"/> <config name="newKeyFile1" value="newMerchantKey1.xml"/> <config name="newKeyFile2" value="newMerchantKey2.xml"/> </key> <key name="SessionKey" providerName="WC" status="current" className="com.ibm.commerce.security.keys.WCSessionKeyImpl"> </key> </keys>
En el customKeys.xml hay tres elementos<key>
:- La primera clave designa la MerchantKey con la que los datos están cifrados actualmente. Esta es su clave actual y se especifica en este archivo de configuración con el valor de estado de current.
Esto lo utiliza la utilidad para determinar cómo están cifrados actualmente los datos y qué utilizar para descifrar los datos para la transición a una nueva clave y/o algoritmo de cifrado.
Esta clave quedará obsoleta una vez que la utilidad se ejecute satisfactoriamente y se pueda suprimir.
- La segunda clave designa la MerchantKey que desea utilizar con el sitio en el futuro. Esto se conoce como la nueva clave y se indica en este archivo de configuración con el valor new de estado.
Esta es la clave que está pasando a utilizar. La utiliza la utilidad para volver a cifrar los datos descifrados por la clave original (actualmente current).
Una vez que se ejecuta la utilidad, esta clave es ahora la clave actual. Ocupará el lugar de la clave actual original (el primer valor de clave que se especifica en el archivo de configuración, con un estado de current) para cualquier migración de claves o algoritmo de cifrado futuro.
- La tercera clave indica sessionKey y no es importante para la utilidad MigrateEncryptedInfo.
Para especificar la configuración de la utilidad, actualice este archivo como corresponda:
- La primera clave designa la MerchantKey con la que los datos están cifrados actualmente. Esta es su clave actual y se especifica en este archivo de configuración con el valor de estado de current.
-
Complete la migración del cifrado de datos.
Migre el cifrado de datos utilizando la utilidad migrateEncryptedInfo.Nota: Si ya ha ejecutado la utilidad migrateEncryptedInfo, debe borrar el valor merchantKey existente antes de volver a ejecutar la utilidad migrateEncryptedInfo.Un ejemplo de ejecución satisfactoria de esta utilidad es el siguiente:
[root@utils /]# /opt/WebSphere/CommerceServer90/bin/MigrateEncryptedInfo.sh db2 demo 1 1 -k /opt/WebSphere/AppServer/profiles/default/installedApps/localhost/ts.ear/xml/config/CustomKeys.xml Migration completed. Please check /opt/WebSphere/CommerceServer90/logs/MigrateEncryptedInfoError.log for any errors. Some errors can be ignored; see documentation for details.
La utilidad migrateEncryptedInfo genera un archivo de claves de comerciante recién cifrado, merchantKey.xml.
-
Asegúrese de que la migración del cifrado de datos se ha completado satisfactoriamente.
Compruebe los archivos de registro MigrateEncryptedInfoError.log y CCInfoMigration.log para determinar si la utilidad ha encontrado errores.
-
Actualice la instalación de HCL Commerce Version 9.1 para utilizar el cifrado AES.
- Actualice wc-server.xml Establezca
AES_DB="true"
. - Actualice product.xml Establezca
<AES_DB>true<AES_DB/>
. - Haga que la clave de comerciante sea accesible para el entorno.
- Si utiliza el KLF (Key Locator Framework):
- Actualice la configuración del sitio.
- Abra el archivo de configuración de wc-server.xml para su edición.
- Añada lo siguiente en la sección
<Instance>
:KeysConfigFile = "config/CustomKeys.xml"
- Guarde y cierre el archivo.
- Defina CustomKeys.xml del modo siguiente:
<?xml version="1.0" encoding="UTF-8"?> <keys xmlns="http://www.ibm.com/xmlns/prod/WebSphereCommerce" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/WebSphereCommerce xsd/WCKeys.xsd"> <key name="MerchantKey" providerName="WC" status="current" className="com.ibm.commerce.security.keys.WCExternalFileMerchantKeyImpl" algorithm="AES"> <config name="keyFile" value="merchantKey.xml"/> <config name="keyEncryptionKeyFile" value="KeyEncryptionKey.xml"/> </key> <key name="SessionKey" providerName="WC" status="current" className="com.ibm.commerce.security.keys.WCSessionKeyImpl"> </key> </keys>
Nota: Utilice solo keyEncryptionKeyFile si ha vuelto a cifrar su merchantKey utilizando este archivo.
- Actualice la configuración del sitio.
- Si no utiliza KLF (Key Locator Framework):
- Obtenga la nueva clave de comerciante cifrada del archivo merchantKey.xml generado.
-
- Si utiliza Vault, almacene este valor.
- Si no utiliza Vault, actualice el valor de merchantKey wc-server.xml con este valor.
- Si utiliza el KLF (Key Locator Framework):
- Implemente wc-server.xml, CustomKeys.xml, merchantKey.xml y KeyEncryptionKey.xml en su Transaction server (
ts-app
). - Si su Transaction server está en ejecución, reinicie la aplicación.
- Actualice wc-server.xml Establezca