Dela via


Anvisningar: Arbeta med krypteringsinställningar

Viktigt

Versioner av Microsoft Rights Management Service SDK som släpptes före mars 2020 är inaktuella. program som använder tidigare versioner måste uppdateras för att använda versionen från mars 2020. Fullständig information finns i utfasningsmeddelandet.

Inga ytterligare förbättringar planeras för Microsoft Rights Management Service SDK. Vi rekommenderar starkt att du använder Microsoft Information Protection SDK för klassificerings-, märknings- och skyddstjänster.

I det här avsnittet beskrivs våra krypteringspaket. Avsnittet innehåller också kodstycken som visar hur paketen används.

Stöd för AES 256, den nya standarden

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. 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.

Viktigt

Stöd för användning av AES 256-skyddade filer har funnits sedan oktober 2014-versionen. Om du kör program som skapats med en äldre version av SDK än oktober 2014 fungerar inte programmet med den här uppdateringen. 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.

 

API-krypteringsstöd

Från och med mars 2015-uppdateringen har vi lagt till följande tre flaggor i vårt API och deras associerade krypteringspaket:

  • IPC_ENCRYPTION_PACKAGE_AES256_CBC4K
  • IPC_ENCRYPTION_PACKAGE _AES128_CBC4K
  • IPC_ENCRYPTION_PACKAGE _AES128_ECB (kallas även inaktuella algoritmer)

Flaggorna för krypteringspaket, se Prioriterad kryptering, kan användas tillsammans med flaggan Licensegenskap – IPC_LI_PREFERRED_ENCRYPTION_PACKAGE.

Nedan följer några enkla kodstycken som visar hur du använder den nya licensegenskapen.

Föråldrade algoritmer

Vi exponerar inte längre flaggan IPC_LI_DEPRECATED_ENCRYPTION_ALGORITHMS i vårt 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.

Du kan fortfarande få fördelarna med flaggan för de gamla föråldrade krypteringsalgoritmerna genom att bara ändra en flagga. Se följande kodstycken för exempel.

Skydda filer med AES 256 CBC4K

Ingen ändring i koden behövs, AES 256 CBC4K är standard.

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

Skydda filer med 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)

Det här exemplet visar också det nya sättet som föråldrade algoritmer stöds på.

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