www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - encryption, rsa - diCrPKI.zip

maybe someone might need that too.

RSA public key encryption, digital signatures, X.509 certificate handling, and
cryptographic message syntax (CMS) objects that can be used with S/MIME. Full
details on the CryptoSys PKI Toolkit page. Includes message digest computation
with SHA-1/MD5/MD2, secure random numbers, and base64 conversion functions.

http://www.cryptosys.net/pki/index.html


begin 0644 diCrPKI.zip
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
64$L%! `````"``(`<````"<.````````
`
end
Jul 07 2005