C
C
Get a JWS Protected Header
See more JSON Web Signatures (JWS) Examples
Demonstrates Jws.GetProtectedH, which copies the decoded protected header of a signature into a JsonObject.
Background. The protected header is integrity-protected by the signature. Inspecting it (for example the
alg value) is useful before deciding how to validate.Chilkat C Downloads
#include <C_CkJws.h>
#include <C_CkJsonObject.h>
void ChilkatSample(void)
{
BOOL success;
HCkJws jws;
const char *jwsCompact;
HCkJsonObject json;
success = FALSE;
jws = CkJws_Create();
// Load the JWS compact serialization.
jwsCompact = "eyJhbGciOiJIUzI1NiJ9.VGhpcyBpcyB0aGUgY29udGVudCB0byBzaWduLg.<signature>";
success = CkJws_LoadJws(jws,jwsCompact);
if (success == FALSE) {
printf("%s\n",CkJws_lastErrorText(jws));
CkJws_Dispose(jws);
return;
}
// Copy the decoded protected header of signature 0 into a JsonObject.
json = CkJsonObject_Create();
success = CkJws_GetProtectedH(jws,0,json);
if (success == FALSE) {
printf("%s\n",CkJws_lastErrorText(jws));
CkJws_Dispose(jws);
CkJsonObject_Dispose(json);
return;
}
CkJsonObject_putEmitCompact(json,FALSE);
printf("%s\n",CkJsonObject_emit(json));
CkJws_Dispose(jws);
CkJsonObject_Dispose(json);
}