- Notifications
You must be signed in to change notification settings - Fork141
C# wrapper for the popular OpenSSL libraries
License
Unknown, Unknown licenses found
Licenses found
openssl-net/openssl-net
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A managedOpenSSL wrapper written in C# for the 2.0 .NET Framework that exposes both theCrypto API and theSSL 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:
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);
Which gets wrapped as something akin to:
public class DSA : IDisposable{ // calls DSA_new() public DSA(); // calls DSA_free() as needed ~DSA(); // calls DSA_free() as needed public void Dispose(); // returns DSA_size() public int Size { get; } // calls DSA_generate_key() public void GenerateKeys(); // calls DSA_sign() public byte[] Sign(byte[] msg); // returns DSA_verify() public bool Verify(byte[] msg, byte[] sig);}
Make sure you havelibeay32.dll
andssleay32.dll
in the current working directory of your application or in yourPATH
.
In your .NET project, add a reference to theManagedOpenSsl.dll
assembly.
Take a look at the low-level C APIdocumentation.
The OpenSSL libraries are distributed under the terms of theOpenSSL License & SSLeay License; this library and related code are released under the BSD license, seeCOPYING for more details.
This library is the product of many contributors, both directly, and indirectly, thanks to the great effort of the OpenSSL team. Thanks to all those that have contributed to this project - whether code, testing, support or anything else.
Maintainer:
- Adam Caudilladam@adamcaudill.com
- Frank Laub (2006-2014)
For security issues, please contact the maintainer directly prior to opening a public ticket. Security issues will receive prompt attention and be handled as quickly as possible.
About
C# wrapper for the popular OpenSSL libraries
Resources
License
Unknown, Unknown licenses found
Licenses found
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.