EnvelopedCmsで使える証明書をmakecertで生成する
System.Security.Cryptography.Pkcsなんて初めて調べましたよ。
WindowsSDKコマンドプロンプトを開いて
> makecert -n "CN=azunyan" -sky exchange -r -pe -ss my
"-sky exchange"が重要らしい。これないとDecryptするとき怒られる。
ファイルに出力したかったら
> makecert -n "CN=katanashi" -sky exchange -r -pe -sv katanashi.pvk katanashi.cer > pvk2pfx -pvk katanashi.pvk -spc katanashi.cer
おまけ
格好つけてCA作りたい人は
> makecert -n "CN=Roots" -cy authority -r -ss root > makecert -n "CN=GEORGIA" -is root -in Roots -pe -ss my
とか
> makecert -n "CN=Roots" -cy authority -r -sv roots.pvk roots.cer > pvk2pfx -pvk roots.pvk -spc roots.cer -pfx roots.pfx > certmgr -add roots.pfx -s root > makecert -n "CN=GEORGIA" -is root -in Roots -pe -ss my
とかすると楽しいかもしれませんが、EnvelopedCmsには一切関係ないようです。
pvk2pfxの-pfx省略したり、certmgrの代わりにインポートウィザード使った方が、色々できるかもしれない。