我有一个现有的私钥,它通过OpenSSL模块加载到C应用程序中。
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应用程序中使用该密钥。
有没有办法在不使用C#中的第三方库的情况下将其加载到RSACryptoServiceProvider
?
我有一种感觉我应该创建一个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);
我离开了吗?