A managed OpenSSL wrapper written in C# for the 2.0 .NET Framework that exposes both the Crypto API and the SSL API.
This a must for .NET developers that need crypto but don't want to use Microsoft's SSPI.
This wrapper is based on version 1.0.2a of libeay32.dll and ssleay32.dll.
The following is a partial example to show the general pattern of wrapping onto the C API.
Take DSA and the following C prototypes:
< 76C1 div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="DSA * DSA_new(void); void DSA_free(DSA *dsa); int DSA_size(const DSA *dsa); int DSA_generate_key(DSA *dsa); int DSA_sign(int dummy, const unsigned char *dgst, int len, unsigned char *sigret, unsigned int *siglen, DSA *dsa); int DSA_verify(int dummy, const unsigned char *dgst, int len, const unsigned char *sigbuf, int siglen, DSA *dsa);">DSA * DSA_new(void);
void DSA_free(DSA *dsa);
int DSA_size(const DSA *dsa);
int DSA_generate_key(DSA *dsa);
int DSA_sign(int dummy, const unsigned char *dgst, int len,
unsigned char *sigret, unsigned int *siglen, DSA *dsa);
int DSA_verify(int dummy, const unsigned char *dgst, int len,
const unsigned char *sigbuf, int siglen, DSA *dsa);