【发布时间】:2017-08-12 16:44:08
【问题描述】:
我正在尝试使用 dotnet core (1.1) 中的 PEM 公钥文件加密字符串,我的问题是:我该怎么做?
我认为这只是以下情况:
var cert = new X509Certificate2("path_to_public_key.pem");
using (var rsa = cert.GetRSAPublicKey())
{
// encrypt here
}
但是,当我尝试更新证书时,我收到以下错误:
错误:0D07803A:asn1 编码例程:ASN1_ITEM_EX_D2I:nested asn1 错误
PEM 文件如下所示:
-----BEGIN PUBLIC KEY-----
... ANBgkqhkiG9w0BAQEFA ...
(loads more text)
-----END PUBLIC KEY-----
我检查了 pem 文件,发现任何地方都没有多余的 ^M 字符(来自建议的错误原因 here)。
(如果这有什么不同,我使用的是 macOS Sierra)
任何帮助将不胜感激!
【问题讨论】:
-
您似乎拥有公钥而不是证书。我猜你不应该使用
X509Certificate2。 -
@ArtjomB。谢谢!你让我走上了正确的道路。 (当有人指出时,它是如此明显!)。
标签: encryption .net-core rsa asp.net-core-1.1