Anvisningar: Arbeta med krypteringsinställningarHow-to: work with encryption settings

I det här avsnittet beskrivs våra krypteringspaket. Avsnittet innehåller också kodstycken som visar hur paketen används.This topic orients you to our encryption packages and shows some code snips for their use.

Stöd för AES 256, den nya standardenSupport for AES 256, the new default

Ingen ytterligare kod krävs för att använda AES 256-baserad kryptering eftersom det är den nya standarden, förutsatt att utvecklingen sker med RMS SDK 2.1 mars 2015-uppdateringen eller senare.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. Vi rekommenderar starkt att du uppdaterar dina program med den här versionen så att du får de ytterligare säkerhetsfördelarna med AES 256.We encourage you to seriously consider updating your applications with this release for the additional security benefits of AES 256.

Viktigt

Stöd för användning av AES 256-skyddade filer har funnits sedan oktober 2014-versionen.Support for consumption of AES 256 protected files has existed since the October 2014 release. Om du kör program som skapats med en äldre version av SDK än oktober 2014 fungerar inte programmet med den här uppdateringen.If you are running applications built with a version of the SDK from before October 2014, this update will break your application. Se till att kunderna av de program som du skapar antingen använder den uppdaterade SDK-versionen eller att de är beredda att genast uppdatera till den senaste versionen av programmet.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.

 

API-krypteringsstödAPI encryption support

Från och med mars 2015-uppdateringen har vi lagt till följande tre flaggor i vårt API och deras associerade krypteringspaket: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 (Även kallade föråldrade algoritmer)IPC_ENCRYPTION_PACKAGE _AES128_ECB (Also known as, Deprecated Algorithms)

Flaggorna för krypteringspaketen, se Prioriterad kryptering, kan användas tillsammans med licensegenskapsflaggan – 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.

Nedan följer några enkla kodstycken som visar hur du använder den nya licensegenskapen.Following are some simple code snippets that demonstrates how to use the new license property.

Föråldrade algoritmerDeprecated Algorithms

Vi visar inte längre flaggan *IPC Li- _ _ föråldrade _ _ * krypteringsalgoritmer i vårt API.We are no longer exposing the IPC_LI_DEPRECATED_ENCRYPTION_ALGORITHMS flag in our API. Det innebär att framtida program inte längre kommer att kompileras om de refererar till den här flaggan. Program som redan skapats med den fortsätter dock att fungera eftersom vi respekterar flaggan privat i API-koden.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.

Du kan fortfarande få fördelarna med flaggan för de gamla föråldrade krypteringsalgoritmerna genom att bara ändra en flagga.Getting the benefit of the old deprecated encryption algorithms flag can still be achieved simply by changing one flag. Se följande kodstycken för exempel.See the following code snippets for an examples.

Skydda filer med AES 256 CBC4KProtect Files with AES 256 CBC4K

Ingen ändring i koden behövs, AES 256 CBC4K är standard.No change in code needed, AES 256 CBC4K is the default.

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

Skydda filer med AES-128 CBC4KProtect Files with AES-128 CBC4K

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);

Skydda filer med AES-128 ECB (föråldrade algoritmer)Protect Files with AES-128 ECB (Deprecated Algorithms)

Det här exemplet visar också det nya sättet som föråldrade algoritmer stöds på.This sample also shows the new way of supporting deprecated algorithms.

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);