1

独自の証明書を作成するこの単純なコンソール アプリケーションを作成しています。これが私のコードです。

var fi = new FileInfo("certificate.cer");
if (!fi.Exists)
{
  var startInfo = new ProcessStartInfo();
  startInfo.FileName = "makecert.exe";
  startInfo.Arguments = "-sv SignRoot.pvk -cy authority -r sha1 -n \"CN=Certificate\" -ss my -sr localmachine certificate.cer";
  Process.Start(startInfo);
}
X509Certificate.CreateFromCertFile("certificate.cer");

しかし、なぜコードの最後の行でこれを取得しているのでしょうか?

CryptographicException was unhandled.
Message=The system cannot find the file specified.
4

2 に答える 2

4

makecert証明書を使用する前に、プロセスが終了するのを待つ必要があります。

 Process
    .Start(startInfo)
    .WaitForExit();
于 2013-02-06T07:08:17.623 に答える
0

バッチ(.bat)ファイルを使用して状況を解決しました。簡単だと思うからです。そして、プログラムの開始時にc#でバッチファイルを実行させます。助けてくれてありがとう。:)

于 2013-02-08T01:07:46.443 に答える