【发布时间】:2021-03-14 18:23:41
【问题描述】:
我正在集成一个第 3 方 API,他们希望我们在其中发送一些使用他们的公钥加密的字段。 我在 dotnet 中看到了RSACryptoServiceProvider 和 RSA 类,但没有找到任何方法来明确放置我的公钥。
我想要什么:
string encryptedString Encrypt(string data, string publicKey, RSAEncryptionPadding.Pkcs1) { //code here. }
【问题讨论】:
-
根据您发布的链接,可以使用
ImportSubjectPublicKeyInfo和ImportRSAPublicKey导入公钥,具体取决于您的密钥格式。两种方法都需要一个 DER 编码的密钥。 -
到目前为止您尝试过什么?你写过代码可以分享吗?
-
另一个注意事项:可能的解决方案还取决于所使用的 .NET 版本。我上一条评论中发布的两种方法都可以在 .NET Core 3.x(和 .NET 5.0)下使用。在 .NET 框架下,例如BouncyCastle 提供舒适的可能性。因此,您应该发布您的 .NET 版本以及您的公钥 s 的格式。 here.
-
@Topaco 密钥格式:PEM 文件版本:Dot Net Core 2.1
-
@Topaco 我刚刚检查了这些方法都不能在 dot net core 2.1 中访问
标签: c# asp.net encryption cryptography rsa