Lianja
Lianja
Validate a JWS Signature
See more JSON Web Signatures (JWS) Examples
Demonstrates Jws.Validate, which validates exactly one signature, identified by a zero-based index, using the key configured at that same index.
Background. Validate returns 1 when the signature or MAC is cryptographically valid, 0 when it is not, or a negative value on error. The verifying key must be provided before validating.
Chilkat Lianja Downloads
llSuccess = .F.
loJws = createobject("CkJws")
// Load the JWS compact serialization.
lcJwsCompact = "eyJhbGciOiJIUzI1NiJ9.VGhpcyBpcyB0aGUgY29udGVudCB0byBzaWduLg.<signature>"
llSuccess = loJws.LoadJws(lcJwsCompact)
if (llSuccess = .F.) then
? loJws.LastErrorText
release loJws
return
endif
// Provide the key for signature 0 (here an HMAC key).
lcBase64Key = "YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU="
llSuccess = loJws.SetMacKey(0,lcBase64Key,"base64")
if (llSuccess = .F.) then
? loJws.LastErrorText
release loJws
return
endif
// Validate the signature identified by the zero-based index, using the key configured at that index.
// Validate returns 1 when the signature or MAC is cryptographically valid, 0 when it is not, or a
// negative value on error.
v = loJws.Validate(0)
if (v < 0) then
? loJws.LastErrorText
release loJws
return
endif
if (v <> 1) then
? "The signature is not valid."
release loJws
return
endif
? "The signature is valid."
release loJws