X509AsymmetricSecurityKey.GetAsymmetricAlgorithm(String, Boolean) 方法

定义

获取指定的非对称加密算法。

public:
 override System::Security::Cryptography::AsymmetricAlgorithm ^ GetAsymmetricAlgorithm(System::String ^ algorithm, bool privateKey);
public override System.Security.Cryptography.AsymmetricAlgorithm GetAsymmetricAlgorithm (string algorithm, bool privateKey);
override this.GetAsymmetricAlgorithm : string * bool -> System.Security.Cryptography.AsymmetricAlgorithm
Public Overrides Function GetAsymmetricAlgorithm (algorithm As String, privateKey As Boolean) As AsymmetricAlgorithm

参数

algorithm
String

要创建的非对称算法。

privateKey
Boolean

如果需要使用私钥来创建算法,则为 true;否则为 false

返回

一个 AsymmetricAlgorithm,表示指定的非对称加密算法。

例外

privateKeytrue,并且构造函数中指定的 X.509 证书不具有私钥。

- 或 -

algorithmXmlDsigDSAUrl,并且构造函数中指定的 X.509 证书的公钥或私钥类型不是 DSA

- 或 -

algorithmXmlEncRSA15UrlXmlEncRSAOAEPUrlXmlDsigRSASHA1UrlRsaSha256Signature,并且构造函数中指定的 X.509 证书的公钥或私钥类型不是 RSA

- 或 -

不支持 algorithm。 支持的算法为 XmlDsigDSAUrlXmlEncRSA15UrlXmlEncRSAOAEPUrlXmlDsigRSASHA1UrlRsaSha256Signature

注解

使用 XmlDsigDSAUrlXmlEncRSA15UrlXmlEncRSAOAEPUrlXmlDsigRSASHA1UrlRsaSha256Signature 字段指定 algorithm 参数。

由于 SHA1 出现冲突问题,Microsoft 建议使用基于 SHA256 或更好的安全模型。

适用于