Megosztás a következőn keresztül:


Kulcs importálása és exportálása

A CNG-vel importálhat és exportálhat szimmetrikus kulcsokat és aszimmetrikus kulcsokat. A kulcsexportálási és importálási funkciókkal pedig áthelyezheti a kulcsokat a gépek között.

Szimmetrikus kulcsok

Olyan szimmetrikus (vagy munkamenet-) kulcsok importálásához vagy exportálásához, amelyekben ugyanazt a kulcsot használják egyes adatok titkosításához és visszafejtéséhez, használhatja a BCryptImportKey és BCryptExportKey függvényeket. Általában először a BCryptExportKey függvénnyel exportál egy kulcsot, mielőtt importálja a BCryptImportKey függvényt. A függvények úgy vannak kialakítva, hogy lehetővé tegyék az exportált és importált kulcsok titkosítását a hExportKey és hImportKey paraméterek használatával; azonban ezeknek a függvényeknek a Microsoft általi implementálása nem támogatja az exportált és importált kulcsok titkosítását.

Aszimmetrikus kulcsok

Ha aszimmetrikus (vagy nyilvános/privát) kulcspárokat szeretne importálni, amelyekben az egyik kulcsot titkosítja, a másikat pedig bizonyos adatok visszafejtéséhez, használhatja a BCryptImportKeyPair vagy NCryptImportKey függvényeket. A CNG-szolgáltatónak egy támogatott blob típussal kell kódolnia a kulcspárt. BCryptExportKey használható a kódolt kulcs BLOB-jának létrehozásához. CNG-struktúrák a Microsoft Key Storage Provider által támogatott kulcsfontosságú BLOB-típusokat és struktúrákat ismertetik.

Ahhoz, hogy BCryptExportKey hozzon létre egy megőrzött kulcspárt, a blob bemeneti kulcsnak tartalmaznia kell egy titkos kulcsot. nyilvános kulcsok nem maradnak meg.

A kulcsnév és az exportálási szabályzat nem része a CNG-struktúrákblob struktúrájának. Ha azonban a BLOB egy átlátszatlan BLOB-típus (például egy belső kulcsállapot memóriaképe), a BLOB tartalmazhatja a kulcs nevét és az exportálási szabályzat tulajdonságait.

Az alábbi eljárás azt ismerteti, hogyan importálhat egy megőrzött titkos kulcsot a tulajdonságaival együtt.

Megőrzött kulcs importálása

  1. Hozzon létre egy megőrzött kulcsot az NCryptCreatePersistedKey függvénnyel.
  2. Állítsa be a kívánt tulajdonságokat a kulcsobjektumon az NCryptSetProperty függvénnyel.
  3. Az importálási kulcs blobjának beállítása tulajdonságként a kulcson, a blob típusa pedig a tulajdonság neve.
  4. Véglegesítse a megőrzött kulcsimportálást az NCryptFinalizeKey függvénnyel.