Я создал CSR ECDSA с использованием certreq, теперь я хочу импортировать сертификат в локальное хранилище и связать его с закрытым ключом. Я могу импортировать открытые ключи RSA и связать их без проблем, а также импортировать сертификаты ECDSA, но у них нет личного ключа ...
Я рассмотрел все виды методов и свойств в каждом классе, который я мог видеть - ни один из них, кажется, не имеет простого способа "установить" закрытый ключ, когда он ECDsa - Один многообещающий метод - это "ECDsaCertificateExtensions.CopyWithPrivateKey "метод - но это выглядит как отсутствие определения, и я бы не стал заставлять людей использовать это для загрузки других версий .net и т. д. (я использую Windows 10)
certificate.PrivateKey = foundCSR.PrivateKey;
Отлично работает для установки закрытых ключей RSA, когда я нашел CSR в системе. Попытка, если это ключ ECDsa, выдает ошибку «Поддерживаются только асимметричные ключи, которые реализуют алгоритм ICspAsymmetricAlgorithm»
Попытка вставить этот ключ в большой двоичный объект RSACryptoProvider не годится, потому что он не основан на RSA (я предполагаю) - метод GetECDsaPrivateKey получает только этот ключ - существует ли эквивалент SetECDsaPrivateKey?
(я также был бы открыт для использования других способов получить функциональность certreq -accept - это в основном цель, импортировать сертификат, связать его с закрытым ключом, удалить csr)