KeyDerivationParameters.BuildForSP80056a Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membuat objek KeyDerivationParameters untuk digunakan dalam fungsi turunan kunci SP800-56A.
public:
static KeyDerivationParameters ^ BuildForSP80056a(IBuffer ^ algorithmId, IBuffer ^ partyUInfo, IBuffer ^ partyVInfo, IBuffer ^ suppPubInfo, IBuffer ^ suppPrivInfo);
static KeyDerivationParameters BuildForSP80056a(IBuffer const& algorithmId, IBuffer const& partyUInfo, IBuffer const& partyVInfo, IBuffer const& suppPubInfo, IBuffer const& suppPrivInfo);
public static KeyDerivationParameters BuildForSP80056a(IBuffer algorithmId, IBuffer partyUInfo, IBuffer partyVInfo, IBuffer suppPubInfo, IBuffer suppPrivInfo);
function buildForSP80056a(algorithmId, partyUInfo, partyVInfo, suppPubInfo, suppPrivInfo)
Public Shared Function BuildForSP80056a (algorithmId As IBuffer, partyUInfo As IBuffer, partyVInfo As IBuffer, suppPubInfo As IBuffer, suppPrivInfo As IBuffer) As KeyDerivationParameters
Parameter
- algorithmId
- IBuffer
Menentukan tujuan yang dimaksudkan dari kunci turunan.
- partyUInfo
- IBuffer
Berisi informasi publik yang dikontribusikan oleh inisiator.
- partyVInfo
- IBuffer
Berisi informasi publik yang disumbangkan oleh responden.
- suppPubInfo
- IBuffer
Berisi informasi publik yang diketahui oleh inisiator dan responden.
- suppPrivInfo
- IBuffer
Berisi informasi privat yang diketahui oleh inisiator dan responden, seperti rahasia bersama.
Mengembalikan
Mengacu pada parameter yang digunakan selama derivasi kunci.
Contoh
public void SampleDeriveFromSP80056a()
{
// Create a string that contains the algorithm name.
String strAlgName = KeyDerivationAlgorithmNames.Sp80056aConcatSha512;
// Open the specified algorithm.
KeyDerivationAlgorithmProvider objKdfProv = KeyDerivationAlgorithmProvider.OpenAlgorithm(strAlgName);
// Specify the requested size, in bytes, of the derived key.
UInt32 targetSize = 32;
// Create a buffer that contains the secret to be used during derivation.
IBuffer buffSecret = CryptographicBuffer.GenerateRandom(32);
// Create a buffer that contains the intended purpose of the derived key.
String strAlgId = "Purpose";
IBuffer buffAlgId = CryptographicBuffer.ConvertStringToBinary(strAlgId, BinaryStringEncoding.Utf8);
// Create a buffer that contains public information contributed by the initiator.
String strPartyUInfo = "Initiator public info";
IBuffer buffPartyUInfo = CryptographicBuffer.ConvertStringToBinary(strPartyUInfo, BinaryStringEncoding.Utf8);
// Create a buffer that contains public information contributed by the responder.
String strPartyVInfo = "Responder public info";
IBuffer buffPartyVInfo = CryptographicBuffer.ConvertStringToBinary(strPartyVInfo, BinaryStringEncoding.Utf8);
// Create a buffer that contains public information known to both parties.
String strSuppPubInfo = "Two party public info";
IBuffer buffSuppPubInfo = CryptographicBuffer.ConvertStringToBinary(strSuppPubInfo, BinaryStringEncoding.Utf8);
// Create a buffer that contains a shared private secret.
IBuffer buffSuppPrivInfo = CryptographicBuffer.GenerateRandom(32);
// Create the derivation parameters.
KeyDerivationParameters kdf80056AParamsEx = KeyDerivationParameters.BuildForSP80056a(
buffAlgId,
buffPartyUInfo,
buffPartyVInfo,
buffSuppPubInfo,
buffSuppPrivInfo);
// Create a key from the secret value.
CryptographicKey keyOriginal = objKdfProv.CreateKey(buffSecret);
// Derive a key based on the original key and the derivation parameters.
IBuffer keyDerived = CryptographicEngine.DeriveKeyMaterial(
keyOriginal,
kdf80056AParamsEx,
targetSize);
// Encode the key to a hexadecimal value (for display)
String strKeyHex = CryptographicBuffer.EncodeToHexString(keyDerived);
}
Keterangan
Anda dapat menggunakan nama algoritma berikut dengan fungsi OpenAlgorithm untuk membuka penyedia algoritma KDF SP80056a:
- KeyDerivationAlgorithmNames.Sp80056aConcatMd5
- KeyDerivationAlgorithmNames.Sp80056aConcatSha1
- KeyDerivationAlgorithmNames.Sp80056aConcatSha256
- KeyDerivationAlgorithmNames.Sp80056aConcatSha384
- KeyDerivationAlgorithmNames.Sp80056aConcatSha512
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk