Sample code for 30+ languages & platforms
Go

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 Go Downloads

Go
    success := false

    jws := chilkat.NewJws()

    //  Load the JWS compact serialization.
    jwsCompact := "eyJhbGciOiJIUzI1NiJ9.VGhpcyBpcyB0aGUgY29udGVudCB0byBzaWduLg.<signature>"
    success = jws.LoadJws(jwsCompact)
    if success == false {
        fmt.Println(jws.LastErrorText())
        jws.DisposeJws()
        return
    }

    //  Copy the decoded protected header of signature 0 into a JsonObject.
    json := chilkat.NewJsonObject()
    success = jws.GetProtectedH(0,json)
    if success == false {
        fmt.Println(jws.LastErrorText())
        jws.DisposeJws()
        json.DisposeJsonObject()
        return
    }

    json.SetEmitCompact(false)
    fmt.Println(*json.Emit())

    jws.DisposeJws()
    json.DisposeJsonObject()