Anahtar İçeri ve Dışarı Aktarma
CNG ile simetrik anahtarları ve asimetrik anahtarları içeri ve dışarı aktarabilirsiniz. Ayrıca anahtarları makineler arasında taşımak için anahtar dışarı ve içeri aktarma işlevlerini kullanabilirsiniz.
Simetrik anahtarlar
Bazı verileri şifrelemek ve şifresini çözmek için aynı anahtarın kullanıldığı simetrik (veya oturum) anahtarları içeri veya dışarı aktarmak için BCryptImportKeykullanabilir ve BCryptExportKeyişlevlerini. Genellikle, BCryptImportKey işlevini kullanarak içeri aktarmadan önce BCryptExportKey işlevini kullanarak bir anahtarı dışarı aktarırsınız. İşlevler, hExportKey ve hImportKey parametreleri kullanılarak dışarı ve içeri aktarılan anahtarların şifrelenmesini sağlayacak şekilde tasarlanmıştır; ancak, bu işlevlerin Microsoft uygulaması dışarı ve içeri aktarılan anahtarların şifrelenmesini desteklemez.
Asimetrik anahtarlar
Bir anahtarın şifrelemek için, diğerinin ise bazı verilerin şifresini çözmek için kullanıldığı asimetrik (veya genel/özel) anahtar çiftlerini içeri aktarmak için, BCryptImportKeyPair veya NCryptImportKeyişlevlerinikullanabilirsiniz. CNG sağlayıcısının desteklenen bir anahtar BLOB türü kullanarak anahtar çiftini kodlaması gerekir. BCryptExportKey kodlanmış anahtar BLOB'unu oluşturmak için kullanılabilir. CNG Yapıları, Microsoft Anahtar Depolama Sağlayıcısı'nın desteklediği önemli BLOB türlerini ve yapılarını açıklar.
BCryptExportKey kalıcı anahtar çifti oluşturmak için, giriş anahtarı BLOB'uözel anahtar içermelidir. Ortak anahtarlar kalıcı değildir.
Anahtar adı ve dışarı aktarma ilkesi, CNG Yapıları'nda tanımlanan BLOB yapısının bir parçası değildir. Ancak BLOB, opak bir BLOB türündeyse (iç anahtar durumunun bellek görüntüsü gibi), BLOB anahtar adını ve dışarı aktarma ilkesi özelliklerini içerebilir.
Aşağıdaki yordam, kalıcı bir özel anahtarın özellikleriyle nasıl içeri aktarılacağını açıklar.
Kalıcı anahtar içeri aktarmak için
- NCryptCreatePersistedKey işlevini kullanarak kalıcı bir anahtar oluşturun.
- NCryptSetProperty işlevini kullanarak anahtar nesnesinde istenen özellikleri ayarlayın.
- İçeri aktarma anahtarı BLOB'unu anahtarda özellik olarak, BLOB türü özellik adı olarak ayarlayın.
- NCryptFinalizeKey işlevini kullanarak kalıcı anahtar içeri aktarma işlemini sonlandırın.