.NET で公開鍵暗号を行うには RSACryptoServiceProvider
クラス等を使いますが、鍵の扱いがいまいちでBLOBのバイナリやXMLでのエクスポート、インポートしかサポートされていません。
なので、手元にOpenSSL等で作成したPEM形式の秘密鍵や公開鍵があっても素直に使えないのです。
どうやってPEM形式の鍵情報を RSACryptoServiceProvider
に食わせようかとずっと悩んでいたのですが、PEM形式から.NETで扱えるXML形式に変換してくれるコードを発見しました!
http://www.jensign.com/opensslkey/index.html
ありがたや~