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, представляющий указанный алгоритм асимметричного шифрования.
Исключения
Параметр privateKey
имеет значение true
и в сертификате X.509, указанном в конструкторе, отсутствует закрытый ключ.
-или-
Параметр algorithm
имеет значение XmlDsigDSAUrl и открытый или закрытый ключ для сертификата X.509, указанный в конструкторе, не принадлежит к типу DSA.
-или-
Параметр algorithm
имеет значение XmlEncRSA15Url, XmlEncRSAOAEPUrl, XmlDsigRSASHA1Url или RsaSha256Signature и открытый или закрытый ключ для сертификата X.509, указанный в конструкторе, не принадлежит к типу RSA.
-или-
Тип algorithm
не поддерживается. Поддерживаются алгоритмы: XmlDsigDSAUrl, XmlEncRSA15Url, XmlEncRSAOAEPUrl, XmlDsigRSASHA1Url и RsaSha256Signature.
Комментарии
Используйте поле XmlDsigDSAUrl, XmlEncRSA15Url, XmlEncRSAOAEPUrl, XmlDsigRSASHA1Url или RsaSha256Signature, чтобы указать параметр algorithm
.
Из-за проблем с SHA1 корпорация Майкрософт рекомендует использовать модель безопасности на основе SHA256 или более высокого уровня.