【发布时间】:2021-09-16 09:44:57
【问题描述】:
我有一个可以用来解密消息的公钥。在我的 csharp 服务器上,我收到一条用私钥加密的消息。服务器知道公钥并希望对其进行加密。问题是 RSACryptoServiceProvider 不接受字符串作为密钥,而只接受 RSAParameters 格式。如何将我的公钥(目前是一个字符串)转换为 RSAParameters 类型?
如果在不将我的密钥转换为 RSAParameters 的情况下有其他解密方式,请告诉我。
这是公钥:
LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1NSUdmTUEwR0NTcUdTSWIzRFFFQkFRVUFBNEdOQURDQmlRS0JnUUM4TlpkLzhUYUxSMStyT0JYRjdGYzZ2RFA0blRUdTlQNmVjcDd2YzRhTk1pVUorRXM2b2YrRFNvY25wL0drazJVa0k5OHlmVTZwMHNTa3NEcWV1R0hwc1AwaS9oYnlRYlM5RVBreW5HT1VicVpnRSt1SVN0SHVyd2ozaFJKQ1ZkbktKWkxVRVYvSDZCM3Z0SGZITG5GemIrd0E4VkhPeWlEWjVZenp3RHRoR1FJREFRQUItLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0=
【问题讨论】:
-
用私钥加密,用公钥解密???应该反过来。还是您在谈论签名/验证?
-
用于校验,key目前是字符串格式,不是字节数组
-
当前是字符串的公钥 不是正确的描述。键可以是不同的格式,也可以是字符串。您需要更详细地描述这一点,或者发布测试密钥。同时发布您的 C# 代码和 .NET 版本。
-
我添加了问题的关键
-
如果您对发布的公钥进行 Base64 解码,您将获得 PEM 编码的 X.509/SPKI 密钥。此格式的导入取决于您的 .NET 版本。从 .NET Core 3.0 开始,可以直接导入这种格式的 DER 编码密钥。在此之下或在 .NET Framework 中,BouncyCastle 是最简单的方法。
标签: c# string encryption key rsa