Поделиться через


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.

Name hashAlgorithm имеет значение null или Empty.

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

-или-

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

-или-

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

Комментарии

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

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

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

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