PureBasic
PureBasic
Get the JWE Protected Header
See more JSON Web Encryption (JWE) Examples
Demonstrates Jwe.GetProtectedHeader, which copies the decoded shared JWE protected header into a JsonObject.
Background. Only the protected header is returned; it is not merged with the shared unprotected header or any per-recipient header.
Chilkat PureBasic Downloads
IncludeFile "CkJwe.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
jwe.i = CkJwe::ckCreate()
If jwe.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; Load the JWE.
jweCompact.s = "eyJhbGciOiJBMjU2S1ciLCJlbmMiOiJBMjU2R0NNIn0.<...>.<iv>.<ciphertext>.<tag>"
success = CkJwe::ckLoadJwe(jwe,jweCompact)
If success = 0
Debug CkJwe::ckLastErrorText(jwe)
CkJwe::ckDispose(jwe)
ProcedureReturn
EndIf
; Copy the decoded shared JWE protected header into a JsonObject. Only the protected header is
; returned; it is not merged with the unprotected or per-recipient headers.
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkJwe::ckGetProtectedHeader(jwe,json)
If success = 0
Debug CkJwe::ckLastErrorText(jwe)
CkJwe::ckDispose(jwe)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndIf
CkJsonObject::setCkEmitCompact(json, 0)
Debug CkJsonObject::ckEmit(json)
CkJwe::ckDispose(jwe)
CkJsonObject::ckDispose(json)
ProcedureReturn
EndProcedure