Unicode C
Unicode C
Get the JWS Payload into BinData
See more JSON Web Signatures (JWS) Examples
Demonstrates Jws.GetPayloadBd, which writes the payload of a loaded JWS as raw bytes into a BinData.
Background. This is used when the payload is binary. In practice, validate the signature before trusting the payload.
Chilkat Unicode C Downloads
#include <C_CkJwsW.h>
#include <C_CkBinDataW.h>
void ChilkatSample(void)
{
BOOL success;
HCkJwsW jws;
const wchar_t *jwsCompact;
HCkBinDataW bdPayload;
success = FALSE;
jws = CkJwsW_Create();
// Load the JWS compact serialization.
jwsCompact = L"eyJhbGciOiJIUzI1NiJ9.VGhpcyBpcyB0aGUgY29udGVudCB0byBzaWduLg.<signature>";
success = CkJwsW_LoadJws(jws,jwsCompact);
if (success == FALSE) {
wprintf(L"%s\n",CkJwsW_lastErrorText(jws));
CkJwsW_Dispose(jws);
return;
}
// Get the JWS payload as raw bytes into a BinData.
bdPayload = CkBinDataW_Create();
success = CkJwsW_GetPayloadBd(jws,bdPayload);
if (success == FALSE) {
wprintf(L"%s\n",CkJwsW_lastErrorText(jws));
CkJwsW_Dispose(jws);
CkBinDataW_Dispose(bdPayload);
return;
}
wprintf(L"Payload is %d bytes.\n",CkBinDataW_getNumBytes(bdPayload));
CkJwsW_Dispose(jws);
CkBinDataW_Dispose(bdPayload);
}