[xmlsec] How to ...
Aleksey Sanin
aleksey at aleksey.com
Tue May 9 07:14:08 PDT 2006
> I would like to set up the <env:Header><xenc:EncryptedKey>
> <xenc:CipherData><xenc:CipherValue> tag with the generated session key
> . I cannot find any method to allow this.
>
> The "xmlSecTmplEncDataEnsureCipherValue" method works fine to add
> <xenc:EncryptedKey> <xenc:CipherData><xenc:CipherValue> into the body,
> but I cannot figure out on how to make it work for the header.
http://www.aleksey.com/xmlsec/api/xmlsec-templates.html#XMLSECTMPLENCDATAENSURECIPHERVALUE
xmlSecTmplEncDataEnsureCipherValue() method has one parameter - pointer
to the parent EncryptedData or EncryptedKey node.
http://www.aleksey.com/xmlsec/api/xmlsec-templates.html#XMLSECTMPLKEYINFOADDENCRYPTEDKEY
xmlSecTmplKeyInfoAddEncryptedKey () method also has first parameter -
pointer to the parent node.
Thus, get a pointer to <env:Header> node and call
enc_key_node = xmlSecTmplKeyInfoAddEncryptedKey(header_node, ...);
xmlSecTmplEncDataEnsureCipherValue(enc_key_node);
Finally, you don't need to use xmlsec template functions to create
the template. You can also do it manually by calling Libxml2 functions
or load template from a file, or ....
Aleksey
More information about the xmlsec
mailing list