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 回答