AddHeaderParam Method
Adds additional header parameters.
Syntax
jwe.addHeaderParam(name, value, dataType, [callback])
Callback
The 'callback' parameter specifies a function which will be called when the operation completes (or an error is encountered). If the 'callback' parameter is not specified, then the method will block and will not return until the operation completes (or an error is encountered).
The callback for this method is defined as:
function(err){ }
'err' is the error that occurred. If there was no error, then 'err' is 'null'.
'err' has 2 properties which hold detailed information:
err.code err.message
Remarks
This method is used to add additional header parameters before calling Encrypt.
The Name and Value parameters define the name and value of the parameter respectively. The DataType parameter specifies the JSON data type of the value. Possible values for DataType are:
- 0 (Object)
- 1 (Array)
- 2 (String)
- 3 (Number)
- 4 (Bool)
- 5 (Null)
{
"alg": "A256GCMKW",
"crit": [
"exp"
],
"enc": "A128CBC-HS256",
"exp": 12345687,
"iv": "SFZ9o0KKN8qF8yod",
"tag": "tREHGKuViLo7s3QpRTulkg",
"type": "JWT"
}
The following code can be used:
Jwe jwe = new Jwe();
jwe.EncryptionAlgorithm = JweEncryptionAlgorithms.eaA256GCMKW;
jwe.KeyB = key;
jwe.AddHeaderParam("type", "JWT", 2);
jwe.AddHeaderParam("crit", "[\"exp\"]", 1);
jwe.AddHeaderParam("exp", "12345687", 3);
jwe.InputMessage = "test";
jwe.Encrypt();
string encryptedData = jwe.OutputMessage;
Note: When calling Encrypt the class will automatically add headers based on the selected EncryptionAlgorithm and other properties that may be set.
Parameters Automatically Set:
Header Param | Property |
alg | EncryptionAlgorithm |
enc | ContentEncryptionAlgorithm |
kid | KeyId |
zip | CompressionAlgorithm |
p2c | PBES2Count (PBES Algorithms Only) |
apu | PartyUInfo (ECDH Algorithms Only) |
apv | PartyVInfo (ECDH Algorithms Only) |
iv | N/A - Automatically Generated (AES Algorithms Only) |
tag | N/A - Automatically Generated (AES Algorithms Only) |
p2s | N/A - Automatically Generated (PBES Algorithms Only) |
epk | N/A - Automatically Generated (ECDH Algorithms Only) |