Я знаю способ конвертировать его в pfx, который вы можете использовать в C #.
Сначала установите OpenSSL, если вы этого еще не сделали.(Вы можете получить последнюю версию "Win64 OpenSSL v #. #. # X Light" от http://slproweb.com/products/Win32OpenSSL.html,, хотя я не несу ответственности за этот источник.)
Возможно, вы захотите добавить "C: \Запрограммируйте файлы \ OpenSSL \ bin \ "на переменную пути вашей учетной записи, чтобы можно было использовать« openssl.exe »из любой точки командной строки.
В окне командной строки перейдите к папке, в которой находится файл закрытого ключа.,Давайте назовем это «priv.key».Выполните следующие две команды, игнорируя комментарии:
# Create public self-signed certificate CRT file (with 7000yr validity) from private key (may leave all info empty)
openssl req -x509 -sha256 -new -key priv.pem -out pub.crt -days 2555000
# Combine into PFX container (encrypted with AES-256) (certificate needs to be included for .NET to read successfully)
openssl pkcs12 -export -aes256 -CSP "Microsoft Enhanced RSA and AES Cryptographic Provider" -inkey priv.pem -in pub.crt -out priv.pfx
Обратите внимание, что в последней команде я создаю зашифрованный pfx (это необязательно - я полагаю, вы могли бы заменить -aes256
на -nodes
напропустите его), и я настраиваю провайдера шифрования так, чтобы ключ мог использоваться для операций SHA256 без жалоб на C #.
Теперь у вас есть файл pfx, который можно загрузить с помощью конструктора X509Certificate2
.
Я склонен использовать этот шпаргалку для общих команд OpenSSL: https://www.sslshopper.com/article-most-common-openssl-commands.html