[xmlsec] enc1 example does not exactly produce the output xml ?

Aleksey Sanin aleksey@aleksey.com
Mon, 06 Jan 2003 16:29:31 -0800


The session DES key is generated in the enc1/enc1.c:generateDesKey() 
function and
loaded in the keys manager in the same function. When the data is 
encrypted by xmlsec
library it searches the keys manager for a key for specified algorithm 
and sets all the
required values from the key into XML data. In this particular case, it 
encrypts the
DES key with RSA key as it is described in the created template 
(enc1/enc1.c:encrypt()
function).
I am not sure why you needed to make these changes but everything works 
just fine
except an assert in the xmlSecAddIDs (doc != NULL) which could be safely 
ignored
(and this is already fixed in the CVS 0.0.X branch). The result 
encrypted document is
generated and it could be decrypted using the xmlsec application.

Aleksey
 

Meg Morgan wrote:

>Unless I'm mistaken, there are a few omissions in the
>encryption example.  In order to get the element <KeyName>
>and the content "test-des3" I had to add/change the following:
>
>xmlNodePtr encKeyInfo = NULL;
>encKeyInfo = xmlSecEncDataAddKeyInfo(encData);  // your code (cur renamed to encKeyInfo)
>cur = xmlSecKeyInfoAddKeyName(encKeyInfo);      // my added two lines
>xmlNodeSetContent(cur, BAD_CAST des3Key->name);
>
>Similarly, the example code provided an element for the KeyName
>"test-rsa-key" but didn't set the content:
>
>cur = xmlSecKeyInfoAddKeyName(cur);  // your code
>xmlNodeSetContent(cur, BAD_CAST key->name);  // my added line
>
>
>Was there some other means of populating the content of these
>elements?  Similarly, I don't see in your code where the encrypted
>session key and the encryption data get stuffed into their respective
>CipherValue elements.
>
>Thank you for your help,
>Meg Morgan
>
>  
>