Falls es für dich in Betracht kommt, externe Binaries zu verwenden: Im
Microsoft Windows SDK gibt es für solche Zwecke bereits Tools (Signtool.exe, MakeCert.exe etc.)
Edit: Ich glaube, die Komponenten können so etwas auch:
StreamSec
Ansonsten kannst du dafür ja denke ich auch OpenSSL verwenden.