C # - загрузить открытый ключ .DER из файла и использовать для шифрования - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть открытый ключ в файле расширения .der от поставщика.Я должен использовать это, чтобы зашифровать что-то с помощью C # и добавить результат в вызов API.Я новичок в этом типе вещей и не могу понять, как загрузить ключ из файла .der в код и использовать его для шифрования моей строки.Любая помощь?

Спасибо!

1 Ответ

0 голосов
/ 26 сентября 2018

Вы можете использовать X509Certificate2 для загрузки сертификата, IE:

var cert = new X509Certificate2(@"C:\path\to\key.der");

var publicKey = cert.GetRSAPublicKey();
var privateKey = cert.GetRSAPrivateKey();

Чтобы фактически зашифровать / расшифровать данные, вы должны сделать что-то похожее на следующее в зависимости от спецификаций

var plaintext = Encoding.UTF8.GetBytes("Some Secret");

var encrypted = publicKey.Encrypt(plaintext, RSAEncryptionPadding.OaepSHA256);

var decrypted = privateKey.Decrypt(encrypted, RSAEncryptionPadding.OaepSHA256);

Console.WriteLine(Encoding.UTF8.GetString(decrypted));
...