Yog*_*ana 2 rsa public-key-encryption .net-core asp.net-core-webapi asp.net-core-1.1
我有 publicKey.key,我想将其导入 rsa 加密
这是我的代码:
using (RSA rsa = RSA.Create())
{
var key = Encoding.UTF8.GetBytes("012345678901234567890");
byte[] publicKey = File.ReadAllBytes("text/publicKey.key");
var result = rsa.Encrypt(key, RSAEncryptionPadding.Pkcs1);
}
Run Code Online (Sandbox Code Playgroud)
编辑: 2021-11-29 - 更新已过时两年的答案,以包含 .NET Core 3.0 API
.NET Core 3.0+ 可以通过特定于格式的方法加载 BER 编码的密钥文件格式(不是文本/PEM 格式):
.NET 5+ 还可以通过通用调度程序加载 PEM 格式密钥(因为 PEM 标签标识格式):
.NET Framework 和旧版本的 .NET Core(在原始答案时就已经存在,现在都不再支持)都没有加载裸密钥文件的内置方法。
对于这些环境,您有几个选择:
cert.GetRSAPublicKey()
openssl rsa -in text/publicKey.key -text -noout
复制每个字段的所有十六进制值,并将它们直接导入到结构中RSAParameters
(然后调用 ( rsa.ImportParameters(rsaParams)
)RSAParameters
结构体,并使用rsa.ImportParameters(rsaParams)
.值得注意的是,这已被确定为 .NET 中的一个空白,目前已标记为 .NET Core 2.1(尽管它总是有可能无法实现):https: //github.com/dotnet/corefx/issues/ 20414 . (编辑:它没有适用于 2.1,它适用于 3.0)
归档时间: |
|
查看次数: |
5605 次 |
最近记录: |