Visual FoxPro
Visual FoxPro
Decrypt a JWE into BinData
See more JSON Web Encryption (JWE) Examples
Demonstrates Jwe.DecryptBd, which decrypts a recipient of a loaded JWE and writes the plaintext bytes into a BinData.
Background. This is used when the decrypted content is binary. The recipient key must be provided before decrypting.
Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loJwe
LOCAL lcJweCompact
LOCAL lcBase64Key
LOCAL loBd
lnSuccess = 0
loJwe = CreateObject('Chilkat.Jwe')
* Load the JWE compact serialization to be decrypted.
lcJweCompact = "eyJhbGciOiJBMjU2S1ciLCJlbmMiOiJBMjU2R0NNIn0.<...>.<iv>.<ciphertext>.<tag>"
lnSuccess = loJwe.LoadJwe(lcJweCompact)
IF (lnSuccess = 0) THEN
? loJwe.LastErrorText
RELEASE loJwe
CANCEL
ENDIF
* The 256-bit key-wrapping key (base64) for recipient index 0. In production, obtain the key
* from a secure source rather than hard-coding it.
lcBase64Key = "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU="
lnSuccess = loJwe.SetWrappingKey(0,lcBase64Key,"base64")
IF (lnSuccess = 0) THEN
? loJwe.LastErrorText
RELEASE loJwe
CANCEL
ENDIF
* Decrypt recipient index 0, writing the plaintext bytes into a BinData.
loBd = CreateObject('Chilkat.BinData')
lnSuccess = loJwe.DecryptBd(0,loBd)
IF (lnSuccess = 0) THEN
? loJwe.LastErrorText
RELEASE loJwe
RELEASE loBd
CANCEL
ENDIF
? "Decrypted " + STR(loBd.NumBytes) + " bytes."
RELEASE loJwe
RELEASE loBd