Comment : utiliser des paramètres de chiffrementHow-to: work with encryption settings

Cette rubrique vous oriente vers nos offres de chiffrement et présente quelques extraits de code pour illustrer leur utilisation.This topic orients you to our encryption packages and shows some code snips for their use.

Prise en charge d’AES 256 (nouveau chiffrement par défaut)Support for AES 256, the new default

AES 256 est le nouveau chiffrement par défaut. Il ne nécessite donc aucun code supplémentaire, si tant est que vous utilisez la mise à jour du mois de mars 2015 ou version ultérieure de RMS SDK 2.1 pour créer vos applications.No additional code is required to use AES 256 based encryption as it is the new default, assuming you build against the RMS SDK 2.1 March 2015 update or later. Nous vous encourageons fortement à mettre à jour vos applications avec cette version pour bénéficier des fonctionnalités de sécurité supplémentaires qu’offre le chiffrement AES 256.We encourage you to seriously consider updating your applications with this release for the additional security benefits of AES 256.

Important

La consommation des fichiers protégés par le chiffrement AES 256 est prise en charge depuis la version d’octobre 2014.Support for consumption of AES 256 protected files has existed since the October 2014 release. Si vous exécutez des applications créées avec une version du SDK antérieure à octobre 2014, cette mise à jour interrompra vos applications.If you are running applications built with a version of the SDK from before October 2014, this update will break your application. Vérifiez que les clients des applications que vous créez utilisent le SDK mis à jour ou acceptent de passer immédiatement à la version la plus récente de votre application.Please make sure that customers of the applications you are building, are either using the updated SDK, or are willing to immediately update to the most recent version of your application.

Prise en charge du chiffrement dans l’APIAPI encryption support

À compter de la mise à jour de mars 2015, nos API et les packages de chiffrement associés comprennent les trois indicateurs suivants :Beginning with the March 2015 update, we have incorporated the following three flags into our API and their associated encryption packages:

  • IPC_ENCRYPTION_PACKAGE_AES256_CBC4KIPC_ENCRYPTION_PACKAGE_AES256_CBC4K
  • IPC_ENCRYPTION_PACKAGE _AES128_CBC4KIPC_ENCRYPTION_PACKAGE _AES128_CBC4K
  • IPC_ENCRYPTION_PACKAGE _AES128_ECB (aussi appelé « algorithmes déconseillés »)IPC_ENCRYPTION_PACKAGE _AES128_ECB (Also known as, Deprecated Algorithms)

Vous pouvez utiliser les indicateurs de package de chiffrement (voir Chiffrement préféré) conjointement à l’indicateur de propriété de licence IPC_LI_PREFERRED_ENCRYPTION_PACKAGE.The encryption package flags, see Preferred encryption, can be used in conjunction with the, License Property flag - IPC_LI_PREFERRED_ENCRYPTION_PACKAGE.

Voici quelques extraits de code simples qui montrent comment utiliser la nouvelle propriété de licence.Following are some simple code snippets that demonstrates how to use the new license property.

Algorithmes déconseillésDeprecated Algorithms

L’indicateur IPC_LI_DEPRECATED_ENCRYPTION_ALGORITHMS n’est plus exposé dans notre API.We are no longer exposing the IPC_LI_DEPRECATED_ENCRYPTION_ALGORITHMS flag in our API. Cela signifie que les futures applications ne seront plus compilées si elles font référence à cet indicateur. Toutefois, les applications déjà créées continueront de fonctionner dans la mesure où nous respecterons de manière privée l’indicateur dans le code de l’API.This means that future applications will no longer compile if they reference this flag, but applications already built using it will continue to work since we honor the flag privately in the API code.

Il est encore possible de tirer parti de l’ancien indicateur obsolète des algorithmes de chiffrement en modifiant simplement un indicateur.Getting the benefit of the old deprecated encryption algorithms flag can still be achieved simply by changing one flag. Pour obtenir des exemples, consultez les extraits de code suivants.See the following code snippets for an examples.

Protéger les fichiers avec AES 256 CBC4KProtect Files with AES 256 CBC4K

Toute modification du code est inutile, car AES 256 CBC4K est le chiffrement par défaut.No change in code needed, AES 256 CBC4K is the default.

C++

hr = IpcCreateLicenseFromTemplateID(pcTil->aTi[0].wszID,
                                0,
                                NULL,
                                &pLicenseHandle);

Protéger les fichiers avec AES 128 CBC4KProtect Files with AES-128 CBC4K

C++

hr = IpcCreateLicenseFromTemplateID(pcTil->aTi[0].wszID,
                                0,
                                NULL,
                                &pLicenseHandle);

DWORD dwEncryptionMode = IPC_ENCRYPTION_PACKAGE_AES128_CBC4K;

hr = IpcSetLicenseProperty(pLicenseHandle,
                       false,
                       IPC_LI_PREFERRED_ENCRYPTION_PACKAGE,
                       &dwEncryptionMode);

Protéger les fichiers avec AES-128 ECB (algorithmes déconseillés)Protect Files with AES-128 ECB (Deprecated Algorithms)

Cet exemple montre également la nouvelle façon de prendre en charge des algorithmes déconseillés.This sample also shows the new way of supporting deprecated algorithms.

C++

hr = IpcCreateLicenseFromTemplateID(pcTil->aTi[0].wszID,
                                0,
                                NULL,
                                &pLicenseHandle);

DWORD dwEncryptionMode = IPC_ENCRYPTION_PACKAGE_AES128_ECB;

hr = IpcSetLicenseProperty(pLicenseHandle,
                       false,
                       IPC_LI_PREFERRED_ENCRYPTION_PACKAGE,
                       &dwEncryptionMode);

CommentairesComments

Avant de transmettre vos commentaires, nous vous demandons de consulter notre règlement interne.Before commenting, we ask that you review our House rules.