Migration de données chiffrées
Lors de la migration de IBM Websphere Commerce Version 8 vers HCL Commerce Version 9.1, vous devez migrer vos données chiffrées. Les versions précédentes de WebSphere Commerce autorisent votre site à utiliser le chiffrement 3DES (merchantKey 16 bits) ou AES (merchantKey 32 bits). Dans HCL Commerce Version 9.1, seul le chiffrement AES est utilisé.
Avant de commencer
-
- Connectez-vous à l'environnement qui héberge le Utility server Docker container.
Si un Utility server Docker container n'est pas déployé, voir Préparation d'un serveur hôte Docker pour lancer Utility server Docker container.
- Entrez le Utility server Docker container.Par exemple,
docker exec -it utility_container_name bashVous êtes maintenant dans le Utility server Docker container. La procédure suivante doit être effectuée dans cet environnement.
- Connectez-vous à l'environnement qui héberge le Utility server Docker container.
Procédure
-
Créez les fichiers requis pour migrer vos données chiffrées.
-
Configurez la migration du chiffrement des données.
Créer CustomKeys.xml. Ce fichier est utilisé pour donner à l'utilitaire MigrateEncryptedInfo les instructions relatives à la migration des données d'origine et de destination.
Placez ce fichier à l'emplacement suivant : /opt/WebSphere/AppServer/profiles/default/installedApps/localhost/ts.ear/xml/config/CustomKeys.xml.
Un exemple de fichier de configuration se présente comme suit :<?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>Dans le customKeys.xml, il y a trois éléments<key>:- La première clé désigne la valeur MerchantKey avec laquelle vos données sont actuellement chiffrées. Il s'agit de votre clé actuelle qui est spécifiée dans ce fichier de configuration avec la valeur de statut current.
Elle est utilisée par l'utilitaire afin de déterminer comment les données sont actuellement chiffrées et ce qu'il faut utiliser pour déchiffrer les données pour la transition vers une nouvelle clé et/ou un nouvel algorithme de chiffrement.
Cette clé deviendra obsolète une fois l'utilitaire exécuté avec succès et peut être supprimée.
- La seconde clé désigne la valeur MerchantKey que vous souhaitez utiliser avec votre site à l'avenir. Il s'agit de votre nouvelle clé qui est indiquée dans ce fichier de configuration avec la valeur de statut new.
Il s'agit de la clé que vous utilisez pour effectuer la transition. Elle est utilisée par l'utilitaire pour chiffrer à nouveau les données déchiffrées par la clé d'origine (actuellement current).
Une fois l'utilitaire exécuté, cette clé est désormais la clé actuelle. Elle remplace la clé actuelle d'origine (la première valeur de clé spécifiée dans le fichier de configuration, avec le statut current) pour toute migration future d'algorithme de chiffrement ou de clé.
- La troisième clé indique votre valeur sessionKey et n'est pas importante pour l'utilitaire MigrateEncryptedInfo.
Pour spécifier la configuration de l'utilitaire, mettez à jour ce fichier en conséquence :
- La première clé désigne la valeur MerchantKey avec laquelle vos données sont actuellement chiffrées. Il s'agit de votre clé actuelle qui est spécifiée dans ce fichier de configuration avec la valeur de statut current.
-
Effectuez la migration du chiffrement des données.
Faites migrer votre chiffrement de données à l'aide de l'utilitaire migrateEncryptedInfo.Remarque : Si vous avez déjà exécuté l'utilitaire migrateEncryptedInfo, vous devez effacer la valeur merchantKey existante avant de réexécuter l'utilitaire migrateEncryptedInfo.Voici un exemple d'exécution réussie de cet utilitaire :
[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.L'utilitaire migrateEncryptedInfo génère un fichier de clé de commerçant nouvellement chiffré, merchantKey.xml.
-
Assurez-vous que la migration du chiffrement des données a abouti.
Vérifiez les fichiers journaux MigrateEncryptedInfoError.log et CCInfoMigration.log pour déterminer si l'utilitaire a recontré des erreurs.
-
Mettez à jour votre installation HCL Commerce Version 9.1 pour utiliser le chiffrement AES.
- Mettez à jour wc-server.xml Définissez
AES_DB="true". - Mettez à jour product.xml Définissez
<AES_DB>true<AES_DB/>. - Rendez la clé de commerçant accessible à votre environnement.
- Si vous utilisez Key Locator Framework (KLF) :
- Mettez à jour la configuration de votre site.
- Ouvrez le fichier de configuration wc-server.xml pour édition.
- Ajoutez ce qui suit dans la section
<Instance>:KeysConfigFile = "config/CustomKeys.xml" - Enregistrez et fermez le fichier.
- Définissez CustomKeys.xml comme suit :
<?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>Remarque : Utilisez la valeur keyEncryptionKeyFile uniquement si vous avez rechiffré votre valeur merchantKey à l'aide de ce fichier.
- Mettez à jour la configuration de votre site.
- Si vous n'utilisez pas Key Locator Framework (KLF) :
- Procurez-vous la nouvelle clé de commerçant chiffrée à partir du fichier merchantKey.xml généré.
-
- Si vous utilisez Vault, stockez cette valeur.
- Si vous n'utilisez pas Vault, mettez à jour votre valeur merchantKey wc-server.xml avec cette valeur.
- Si vous utilisez Key Locator Framework (KLF) :
- Déployez wc-server.xml, CustomKeys.xml, merchantKey.xml et KeyEncryptionKey.xml sur votre Transaction server (
ts-app). - Si votre Transaction server est en cours d'exécution, redémarrez l'application.
- Mettez à jour wc-server.xml Définissez