views:

873

answers:

2

I'd like to create a utility in C# to allow someone to easily create a Certificate Authority (CA) in Windows. Any ideas/suggestions?

I know I can use OpenSSL to do this. In the end, I'll want this utility to do more than just generate a CA. I'd also like to avoid requiring the installation of OpenSSL in order to run my utility.

+3  A: 

Since OpenSSL is Apache-licensed (i.e. BSD-style), you can simply distribute it as a DLL along with your application. (Maybe build it yourself to have only the features you need and all in a single DLL.) Then use p/invoke calls to talk with this DLL.

(Maybe you can even link the native code straight into your .NET executable? Not sure about that.)

Thomas
A: 

Take a look at BouncyCastle http://www.bouncycastle.org/csharp/

Guy van den Berg