Я работал в этой области еще в 2004 году, и тогда таких решений .NET не было. Мы написали класс-обёртку, который просто выложен в openssl. Как бы вы ни описали.
Мы решили, что лучше придерживаться хорошо известного (и использованного) решения, чем пытаться изобретать это колесо!
ОК, я давно не смотрел на это, но у меня было бы соблазн сказать "если он не сломан, не чинить" на этом.