【发布时间】:2019-06-07 08:13:25
【问题描述】:
C# BouncyCastle 包含一个名为 Org.BouncyCastle.Utilities.IO.Pem.PemReader 的类,它似乎采用 PEM 格式的 RSA 公钥文件。我看了这个链接:how can i convert pem public key to rsa public key with bouncycastle in 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);
我想我不确定如何使用 RSA 公共字节构造 RsaKeyParameters。有人可以指出我正确的方向吗?还是我在这里完全走错了路?
【问题讨论】:
-
您是否尝试过在流
code中使用 PEMReader 对象使用 (var keyreader = new StringReader(publickey)) { var pemReader = new PemReader(keyreader); var y = (RsaKeyParameters)pemReader.ReadObject(); }code
标签: c# .net-core cryptography rsa bouncycastle