Opensslca is a project mainly written in C, it's free.
Basic CA functionality that can be used by .NET applications
opensslca.dll provides basic CA functionality:
I created it as part of my diploma thesis (2007) to be able to issue digital certificates from .NET applications.