Sample code for 30+ languages & platforms
Tcl

Set the JWE Protected Header

See more JSON Web Encryption (JWE) Examples

Demonstrates Jwe.SetProtectedHeader, which sets the integrity-protected JWE header from a JsonObject. The header specifies the key-management algorithm (alg) and content-encryption algorithm (enc).

Background. The protected header is integrity-protected and applies to all recipients. It is configured before encrypting.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set jwe [new_CkJwe]

#  Build the JWE protected header.  The "alg" member names the key-management algorithm and the "enc"
#  member names the content-encryption algorithm.
set header [new_CkJsonObject]

CkJsonObject_UpdateString $header "alg" "A256KW"
CkJsonObject_UpdateString $header "enc" "A256GCM"

#  Set the protected header on the JWE.  The protected header is integrity-protected and applies to
#  all recipients.
set success [CkJwe_SetProtectedHeader $jwe $header]
if {$success == 0} then {
    puts [CkJwe_lastErrorText $jwe]
    delete_CkJwe $jwe
    delete_CkJsonObject $header
    exit
}

puts "Protected header set."

delete_CkJwe $jwe
delete_CkJsonObject $header