Криптографическое исключение, необработанное при создании сертификата

Я создаю это простое консольное приложение, которое создаст мой собственный сертификат. Вот мой код

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.

2 ответа

Решение

Я разрешил ситуацию с помощью пакетного (.bat) файла, потому что он мне проще. И пусть C# запускает пакетный файл при запуске программы. Спасибо за помощь.:)

Вам нужно подождать makecert процесс для выхода перед использованием сертификата.

 Process
    .Start(startInfo)
    .WaitForExit();
Другие вопросы по тегам