Я создаю приложение Windows Form, которое импортирует сертификаты в локальное хранилище. Я хочу иметь возможность соединить его с существующим закрытым ключом, когда это возможно.
Я знаю, что этовозможно, потому что я могу вручную использовать команду certreq -accept для сертификата, и она просто отлично справляется.
X509Certificate2 certificate = new X509Certificate2(fileName);
X509Store certStore = new X509Store(StoreName.My, StoreLocation.LocalMachine);
certStore.Open(OpenFlags.ReadWrite);
certStore.Add(certificate);
certStore.Close();
Код работает отлично - просто не сопоставляет его с соответствующим закрытым ключом, который, как я знаю, существует, потому что командная строка certreq -accept импортирует его и соответствует ему просто отлично.Если кто-нибудь знает, как сопоставить эту функциональность с помощью кода (без запуска командной строки в коде), я был бы благодарен за любые рекомендации.
(Примечание: получение функциональности certutil -repairstore также было бы неплохо)