CryptoSys API examples VB6 to VB.NET

CIPHER_KeyUnwrap

Unwraps (decrypts) a content-encryption key with a key-encryption key.

VB6/VBA

Debug.Print "Testing CIPHER_KeyUnwrap ..."
Dim abWK() As Byte
Dim abKeyData() As Byte
Dim abKek() As Byte
Dim nWkLen As Long
Dim nKdLen As Long
Dim nKekLen As Long

abWK = cnvBytesFromHexStr("503D75C73630A7B02ECF51B9B29B907749310B77B0B2E054")
abKek = cnvBytesFromHexStr("c17a44e8 e28d7d64 81d1ddd5 0a3b8914")
nWkLen = UBound(abWK) + 1
nKekLen = UBound(abKek) + 1
Debug.Print "INPUT:"
Debug.Print "KEK=" & cnvHexStrFromBytes(abKek)
Debug.Print "WK =" & cnvHexStrFromBytes(abWK)
Debug.Print "ALG=AES-128"
   
nKdLen = CIPHER_KeyUnwrap(0, 0, abWK(0), nWkLen, abKek(0), nKekLen, API_BC_AES128)
If nKdLen <= 0 Then
    Debug.Print "CIPHER_KeyUnwrap returns " & nKdLen & ": " & apiErrorLookup(nKdLen)
    Exit Sub
End If
ReDim abKeyData(nKdLen - 1)
nKdLen = CIPHER_KeyUnwrap(abKeyData(0), nKdLen, abWK(0), nWkLen, abKek(0), nKekLen, API_BC_AES128)
Debug.Print "OUTPUT:"
Debug.Print "KD =" & cnvHexStrFromBytes(abKeyData)
Debug.Print "OK =00112233445566778899AABBCCDDEEFF"

Output

Testing CIPHER_KeyUnwrap ...
INPUT:
KEK=C17A44E8E28D7D6481D1DDD50A3B8914
WK =503D75C73630A7B02ECF51B9B29B907749310B77B0B2E054
ALG=AES-128
OUTPUT:
KD =00112233445566778899AABBCCDDEEFF
OK =00112233445566778899AABBCCDDEEFF

VB.NET

Console.WriteLine("Testing CIPHER_KeyUnwrap ...")
Dim abWK() As Byte
Dim abKeyData() As Byte
Dim abKek() As Byte
''Dim nWkLen As Integer
''Dim nKdLen As Integer
''Dim nKekLen As Integer

abWK = Cnv.FromHex("503D75C73630A7B02ECF51B9B29B907749310B77B0B2E054")
abKek = Cnv.FromHex("c17a44e8 e28d7d64 81d1ddd5 0a3b8914")
''nWkLen = UBound(abWK) + 1
''nKekLen = UBound(abKek) + 1
Console.WriteLine("INPUT:")
Console.WriteLine("KEK=" & Cnv.ToHex(abKek))
Console.WriteLine("WK =" & Cnv.ToHex(abWK))
Console.WriteLine("ALG=AES-128")

abKeyData = Cipher.KeyUnwrap(abWK, abKek, CipherAlgorithm.Aes128)
Console.WriteLine("OUTPUT:")
Console.WriteLine("KD =" & Cnv.ToHex(abKeyData))
Console.WriteLine("OK =00112233445566778899AABBCCDDEEFF")

[Contents]

[HOME]   [NEXT: CRC_Bytes...]

Copyright © 2009-20 D.I. Management Services Pty Ltd. All rights reserved.