Visual FoxPro
Visual FoxPro
Decrypt a JWE into a StringBuilder
See more JSON Web Encryption (JWE) Examples
Demonstrates Jwe.DecryptSb, which decrypts a recipient of a loaded JWE and writes the plaintext into a StringBuilder.
Background. The recipient index selects which recipient's key material to use. The key for that recipient must be provided before decrypting.
Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loJwe
LOCAL lcJweCompact
LOCAL lcBase64Key
LOCAL loSbContent
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 into a StringBuilder.
loSbContent = CreateObject('Chilkat.StringBuilder')
lnSuccess = loJwe.DecryptSb(0,"utf-8",loSbContent)
IF (lnSuccess = 0) THEN
? loJwe.LastErrorText
RELEASE loJwe
RELEASE loSbContent
CANCEL
ENDIF
? loSbContent.GetAsString()
RELEASE loJwe
RELEASE loSbContent