Nasıl yapılır: Şifreleme ayarları ile çalışmaHow-to: work with encryption settings

Bu konu, sizi şifreleme paketlerimize yönlendirir ve bunların kullanılması için bazı kod parçalarını gösterir.This topic orients you to our encryption packages and shows some code snips for their use.

AES 256, yeni varsayılan desteğiSupport for AES 256, the new default

RMS SDK 2.1 Mart 2015 güncelleştirmesini yaptığınızı varsayarak, yeni varsayılan olduğundan AES 256 tabanlı şifrelemeyi kullanmak için ek kod gerekmez.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. AES 256’nın ek güvenlik avantajlarından faydalanmak için, uygulamalarınızı bu sürüme güncelleştirmeyi ciddi şekilde düşünmenizi öneririz.We encourage you to seriously consider updating your applications with this release for the additional security benefits of AES 256.

Önemli

AES 256 korumalı dosyalar için kullanım desteği Ekim 2014 sürümünden bu yana mevcuttur.Support for consumption of AES 256 protected files has existed since the October 2014 release. Ekim 2014 öncesine ait bir SDK sürümüyle oluşturulmuş uygulamalar çalıştırıyorsanız, bu güncelleştirme, uygulamanızın çalışmamasına neden olur.If you are running applications built with a version of the SDK from before October 2014, this update will break your application. Lütfen, oluşturduğunuz uygulamaların müşterilerinin, güncelleştirilmiş bir SDK kullandığından ya da uygulamanızın en sürümüne hemen güncelleştirmeye istekli olduğundan emin olun.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 şifreleme desteğiAPI encryption support

Mart 2015 güncelleştirmesiyle başlayarak, aşağıdaki üç bayrağı API’mize ve bunların ilgili şifreleme paketlerine ekledik: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 (Aynı zamanda Kullanım Dışı Algoritmalar olarak da bilinir)IPC_ENCRYPTION_PACKAGE _AES128_ECB (Also known as, Deprecated Algorithms)

Şifreleme paketi bayrakları (bkz. Tercih edilen şifreleme), Lisans Özelliği bayrağı IPC_LI_PREFERRED_ENCRYPTION_PACKAGE ile birlikte kullanılabilir.The encryption package flags, see Preferred encryption, can be used in conjunction with the, License Property flag - IPC_LI_PREFERRED_ENCRYPTION_PACKAGE.

Aşağıda yeni lisans özelliğinin nasıl kullanılacağını gösteren bazı basit kod parçacıkları verilmiştir.Following are some simple code snippets that demonstrates how to use the new license property.

Kullanım Dışı AlgoritmalarıDeprecated Algorithms

Artık API’mizde IPC_LI_DEPRECATED_ENCRYPTION_ALGORITHMS bayrağını göstermiyoruz.We are no longer exposing the IPC_LI_DEPRECATED_ENCRYPTION_ALGORITHMS flag in our API. Bu, bu bayrağa başvuruyorlarsa, gelecekteki uygulamaların artık derlenmeyeceği, ancak bayrağı API kodunda özel olarak değerlendirdiğimizden, bu kullanılarak önceden oluşturulan uygulamaların çalışmaya devam edeceği anlamına gelir.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.

Sadece bir bayrak değiştirilerek, eski kullanım dışı şifreleme algoritmaları bayrağının avantajından hala yararlanılabilir.Getting the benefit of the old deprecated encryption algorithms flag can still be achieved simply by changing one flag. Örnekleri için aşağıdaki kod parçacıklarına bakın.See the following code snippets for an examples.

Dosyaları AES 256 CBC4K ile korumaProtect Files with AES 256 CBC4K

Kodda değişiklik gerekmez, AES 256 CBC4K varsayılan değerdir.No change in code needed, AES 256 CBC4K is the default.

C++

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

Dosyaları AES 128 CBC4K ile korumaProtect 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);

Dosyaları AES-128 ECB (kullanım dışı algoritmaları) ile korumaProtect Files with AES-128 ECB (Deprecated Algorithms)

Bu örnek ayrıca kullanım dışı algoritmalarını desteklemenin yeni yolunu da gösterir.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);