Чтение закрытого ключа в формате DER с использованием System.Security.Cryptography

У меня есть существующий закрытый ключ, который загружается в приложение C через модуль OpenSSL.

int PRIVATE_KEY_LEN = 512;
RSA *rsa;
unsigned char PRIVATE_KEY[] = { 0x00, 0x01, 0x02, ... }
const unsigned char *Key = PRIVATE_KEY;
rsa = d2i_RSAPrivateKey(NULL, &Key, PRIVATE_KEY_LEN);

Насколько я понимаю, закрытый ключ находится в формате DER, и сейчас я пытаюсь использовать ключ в отдельном приложении.NET.

Есть ли способ загрузить это в RSACryptoServiceProvider без использования третьей части библиотеки в C#?

У меня есть ощущение, что я должен создать RSAParameters и загрузить соответствующие байты из ключа, как это так, но не совсем уверен, какие байты я должен использовать

int PRIVATE_KEY_LEN = 512;
private byte[] PRIVATE_KEY = { 0x00, 0x01, 0x02, ... }
rsa = new RSACryptoServiceProvider();
var rsaParam = rsa.ExportParameters(false);
rsaParam.Modulus = PRIVATE_KEY.Take(PRIVATE_KEY_LEN).ToArray();
rsa.ImportParameters(rsaParam);

Я далеко?

0 ответов

Другие вопросы по тегам