[xmlsec] Mscrypto patch no 3
Wouter
wsh@xs4all.nl
Thu, 11 Sep 2003 21:58:39 +0200
This is a multi-part message in MIME format.
------=_NextPart_000_0005_01C378AF.DBF43350
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
Hi,
Here is the third (big) patch for the new mscrypto support stuff. The
patch is created today (9/11) against the XMLSEC_MSCRYPTO_083103 branch,
and so it is merged with the new dynamic crypto lib loading routines :)
Regarding this, I'm not sure if the mscrypto lib should become the
default library for windows. Since if a plain choice has to be made
between for example OpenSSL and MS CryptoAPI, I would definitely choose
for OpenSSL, even for the sole reason the src of OpenSSL is available to
watch/check. The only reason one could choose for MS CryptoAPI support
is for commercial reasons, better integration with existing software
(internet explorer/windows/etc.) can be reached then.
Back to the patch:
With this patch new support becomes available for DSA keys/certificates
and DSA-SHA1 signatures, and for pkcs12 key loading.
Further about a million changes, to get everything working smoothly,
lots of bug fixes, better ms certificates and keys handling, and lots
more.
Not *all* tests are failing anymore ;) However the tests suite is not
running smoothly on the windows platform. Check the Readme file in
src/mscrypto directory for more info on this.
Aleksey: Could you apply this patch, and commit into cvs, and add the 2
new files in the attached zip file?
Wouter
--
Wouter Ketting
------=_NextPart_000_0005_01C378AF.DBF43350
Content-Type: application/x-gzip;
name="mscrypto-3.patch.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="mscrypto-3.patch.gz"
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
AA==
------=_NextPart_000_0005_01C378AF.DBF43350
Content-Type: application/x-zip-compressed;
name="bignum.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="bignum.zip"
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
AGwAAABwBgAAAAA=
------=_NextPart_000_0005_01C378AF.DBF43350--