c# - 如何确定密钥上的 Azure.Security.KeyVault.Keys.Cryptography.CryptographyClient.Decrypt 的加密算法
问题描述
操作的CryptographyClient
要求EncryptionAlgorithm
。Decrypt
如何确定我创建的自签名密钥OpenSSL
或任何密钥的用途?
EncryptionAlgorithm
提供的enum
价值
Rsa15
RsaOaep
RsaOaep256
RSA
如果我已经使用创建自签名密钥,我该如何选择OpenSSL
?
解决方案
这些算法是加密算法,而不是密钥类型。您应该使用哪个取决于您的应用程序。Rsa15
(算法“RSA1_5”)是旧的,不推荐用于安全应用程序。RsaOaep
(算法“RSA-OAEP”)可能更多产,但使用 SHA-1 进行散列,因此RsaOaep256
(算法(RSA-OAEP-256)更安全,因为它使用 SHA-256。
您可以从包括 Wikipedia 在内的各种来源了解这些算法。
在适用于 C# 的 Key Vault SDK 中,如果您在本地拥有密钥材料(例如用于加密的公钥),我们也会在本地支持这些算法,因为本地支持这些相同的算法。可能并不总是支持某些算法,例如 .NET Framework 4.6.1 上的 EC 密钥会抛出NotSupportedException
.
推荐阅读
- jenkins - Kubernetes 在版本“extensions/v1beta1”中没有匹配类型“部署”
- java - java中1到100之间的素数
- python - 从函数返回字典
- mongodb - 服务 'MongoDB Server'(MongoDB) 无法启动。请验证您是否有足够的权限来启动系统服务
- java - 在 Spring Web Flux 中捕获异常
- mysql - MySQL C API - 返回零行的查询的返回值是多少
- svn - 两次结帐的本地修改之间的区别
- docker - 使用 docker 设置 vuejs-template-webpack 保存文件后不会重新加载
- swift - 在 UIAlertController 中的 UITextField 之间添加间距
- apache-spark-sql - 如何在 Spark SQL 中执行 ALL 函数