C # BouncyCastle содержит класс Org.BouncyCastle.Utilities.IO.Pem.PemReader, который, похоже, принимает файл открытого ключа RSA в формате PEM. Я посмотрел на эту ссылку: как я могу преобразовать открытый ключ pem в открытый ключ rsa с помощью bouncycastle в c #?
Но, похоже, в PemReader использовался несуществующий метод ReadObject. Поэтому вместо этого я написал следующий код.
var pemReader = new PemReader(File.OpenText(@"...rsa public key file path ..."));
var pemObject = pemReader.ReadPemObject();
var rsaPublicKeyBytes = pemObject.Content;
Как только я получаю открытые байты RSA, я не уверен, что делать дальше. Я хочу иметь возможность сделать следующее:
var rsaCipher = new RsaEngine();
var oaepEncoding = new OaepEncoding(rsaCipher, new Sha256Digest());
var publicKey = new RsaKeyParameters(...);
oaepEncoding.Init(true, publicKey);
var actualEncryptedBytes = oaepEncoding.ProcessBlock(plainBytes, 0, plainBytes.Length);
Полагаю, я не уверен в том, как создать RsaKeyParameters с открытыми байтами RSA. Может ли кто-нибудь указать мне правильное направление? Или я совершенно не туда иду?