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

<p>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.</p>

[{'answer_id': 79900, 'author': 'Thomas', 'author_id': 14637, 'author_profile': 'https://Stackoverflow.com/users/14637', 'pm_score': 3, 'selected': True, 'text': '<p>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.</p>\n\n<p>(Maybe you can even link the native code straight into your .NET executable? Not sure about that.)</p>\n'}, {'answer_id': 2228742, 'author': 'Guy van den Berg', 'author_id': 189895, 'author_profile': 'https://Stackoverflow.com/users/189895', 'pm_score': 1, 'selected': False, 'text': '<p>Take a look at BouncyCastle <a href="http://www.bouncycastle.org/csharp/" rel="nofollow noreferrer">http://www.bouncycastle.org/csharp/</a></p>\n'}]
['https://Stackoverflow.com/questions/79875', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/13348/']