Я пишу программу на C #, которая будет создавать inf-файлы, а затем запускать certreq -new для генерации CSR и вывода содержимого. - На старых машинах (например, Windows Server 2008) я получаю общую ошибку
"[NewRequest] KeyAlgorithm = "ECDSA_P256" <=> KeySpec?
Редактирование CSR-файла вручную и полное удаление KeySpec, кажется, заставляют CSR проходить, но каждое руководство, которое я вижу, упоминает KeySpec, поэтому я не понимаю, делаю ли я что-то не так или что-то подобное.
string[] csrPairs = {"[NewRequest]", subjectLine, "Exportable = true", "ExportableEncrypted = true", "HashAlgorithm = sha256",
"KeyAlgorithm = " + keyAlgorithm, "KeyLength = " + keysize, "KeySpec = 1", "MachineKeySet = true", "ProviderName = \"Microsoft Software Key Storage Provider\"","RequestType = PKCS10", "SMIME = false", "UseExistingKeySet = false"};
Вот код, который я использую для создания CSR, похоже, работает на Windows 10, но не на Windows 2008 Server.
Любая помощь будет принята с благодарностью. Есть ли что-то в Windows Serer 2008, о которой я не думаю? Или что-то, что мой новый компьютер установил бы для .net, а другой нет? (Целевая версия 3.5)
Примечание: любая помощь в понимании ключей также будет полезна. Кажется, «1» означает, что он может подписывать и шифровать, «2» может только подписывать - Не уверен, что по умолчанию или что 0 делает, или если я должен делать что-то еще здесь.