C
C
Get a JWS Unprotected Header
See more JSON Web Signatures (JWS) Examples
Demonstrates Jws.GetUnprotectedH, which copies the optional unprotected header of a signature into a JsonObject.
Background. The unprotected header is present only in JSON serialization forms that carry one. It is not covered by the signature.
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 optional unprotected header of signature 0 into a JsonObject. This applies to JWS in a
// JSON serialization form that carries an unprotected header.
json = CkJsonObject_Create();
success = CkJws_GetUnprotectedH(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);
}