Чтение закрытого ключа в формате 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);
Я далеко?