RSA.TrySignHash Метод

Определение

Пытается подписать хэш с текущим ключом, написав подпись в предоставленный буфер.

public:
 virtual bool TrySignHash(ReadOnlySpan<System::Byte> hash, Span<System::Byte> destination, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, System::Security::Cryptography::RSASignaturePadding ^ padding, [Runtime::InteropServices::Out] int % bytesWritten);
public virtual bool TrySignHash(ReadOnlySpan<byte> hash, Span<byte> destination, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, System.Security.Cryptography.RSASignaturePadding padding, out int bytesWritten);
abstract member TrySignHash : ReadOnlySpan<byte> * Span<byte> * System.Security.Cryptography.HashAlgorithmName * System.Security.Cryptography.RSASignaturePadding * int -> bool
override this.TrySignHash : ReadOnlySpan<byte> * Span<byte> * System.Security.Cryptography.HashAlgorithmName * System.Security.Cryptography.RSASignaturePadding * int -> bool
Public Overridable Function TrySignHash (hash As ReadOnlySpan(Of Byte), destination As Span(Of Byte), hashAlgorithm As HashAlgorithmName, padding As RSASignaturePadding, ByRef bytesWritten As Integer) As Boolean

Параметры

hash
ReadOnlySpan<Byte>

Хэш-значение подписанных данных.

destination
Span<Byte>

Буфер для получения подписи RSA.

hashAlgorithm
HashAlgorithmName

Хэш-алгоритм, используемый для создания хэш-значения данных.

padding
RSASignaturePadding

Заполнение.

bytesWritten
Int32

При возврате этого метода содержит общее количество байтов, записанных в destination. Этот параметр рассматривается как неинициализированный.

Возвращаемое значение

true Значение , если destination достаточно долго, чтобы получить подпись RSA; в противном случае false.

Исключения

padding равно null.

hashAlgorithm.Name is null или Empty.

padding неизвестно или не поддерживается данной реализацией.

–или–

Этот экземпляр представляет только открытый ключ.

–или–

Произошла ошибка при создании подписи.

Комментарии

Реализация этого метода по умолчанию вызывает SignHash(Byte[], HashAlgorithmName, RSASignaturePadding) и копирует результат destinationв . Производные типы должны переопределить этот метод, чтобы избежать создания промежуточного массива.

Алгоритм подписи RSA всегда будет выдавать выходные данные, равные количеству байтов, необходимых для KeySize битов.

Применяется к

См. также раздел