Hi Aleksey,
I tried to inter-op my xml encryption implementation with xml-sec. But it didn't work. :( I followed the specification but seems there is a problem with padding.

For example if I'm using 3-DES (block size=8)a buffer of size 64 to call EVP_CipherUpdate and my plain text is of length let's say 117,
In this case I've to pad before my second call to EVP_CipherUpdate. Right?
If so what should be the size of the pad for the last block?
Is it 11 (=N*64-117) OR 3 (=n*8 - 117)?
As I understood according to the specification (http://www.w3.org/TR/xmlenc-core/ ) this should be 3.
So I should have a suffix of XX3, where X can be any value.
Then I have another problem.
This padding will fill-up from places 126-128. How should I fill places from 117 to 126? Also to disable the default padding in openssl I used EVP_CIPHER_CTX_set_padding(&ctx, 0); Is there any thing I have to do beyond this. Like setting certain parameters in the EVP_CIPHER_CTX.
Thanks,
Kaushalye
PS:
I checked your implementation, and according to that I did the same hack for openssl. I calculated the padlen as padLen = EVP_CIPHER_block_size(ctx->cipher) - ctx.buf_len.
But I always get 0 for ctx.buf_len :(

Aleksey Sanin wrote:
But why is it limited only for OPENSSL 0.9.6? Does that mean versions after 0.9.6 have the support for padding specified in XML Encryption specification.

Other way around :) With OpenSSL 0.9.6 there is no way to support
padding specified in XML Encryption specification. For older version
of OpenSSL, everything is fine and there is full compatibility
with XML Encryption spec.

Moreover is your padding compatible with other crypto libraries such as Bouncy Castle Crypto API?

Well, if it supports the padding from XML Encryption specification
then "yes".

Aleksey




_______________________________________________
xmlsec mailing list
[email protected]
http://www.aleksey.com/mailman/listinfo/xmlsec

Reply via email to