Как мы можем загрузить запрос на подпись сертификата с помощью сертификатов x509? - PullRequest
0 голосов
/ 10 июля 2020

Мой вопрос:

Из запроса на подпись сертификата, как показано ниже:

Пример:

-----BEGIN CERTIFICATE REQUEST-----
MIIClDCCAXwCAQAwTzELMAkGA1UEBhMCVk4xEDAOBgNVBAMMB2RldmljZTMxCjAI ...
-----BEGIN CERTIFICATE REQUEST-----

Я использую систему .security.cryptography.x509certificates , я бы загрузил его как объект CertificateRequest / X509Certificate2 , чтобы создать новый сертификат из запроса на подпись сертификата.

Любой, кто знает, как это сделать?

My Try

Ввод:

  • самоподписанный сертификат как CA
  • запрос на подпись сертификата

Мой код

string rootCA = ""; // root certificate
string scrString = ""; // certificate signing request
byte[] rootRawData = Convert.FromBase64String(rootCA);
X509Certificate2 rootCert = new X509Certificate2(rootRawData);

var generator = X509SignatureGenerator.CreateForRSA(rootCert.GetRSAPrivateKey(), RSASignaturePadding.Pkcs1);

byte[] scrRawData = Convert.FromBase64String(scrString);
X509Certificate2 scrDeviceCert = new X509Certificate2(scrRawData); ------> ERROR: : 'Cannot find the requested object.'
CertificateRequest scrDeviceReq = new CertificateRequest(scrDeviceCert.IssuerName, scrDeviceCert.PublicKey, HashAlgorithmName.SHA256);

var deviceCert = scrDeviceReq.Create(rootCert.IssuerName, generator, DateTimeOffset.UtcNow.AddDays(1), DateTimeOffset.UtcNow.AddDays(6), new byte[] { 1, 2, 3, 4 });

1 Ответ

0 голосов
/ 10 июля 2020

Нет встроенной функции для чтения CSR. NET Core. Вы должны использовать сторонние библиотеки для декодирования CSR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...