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


DSA.TryCreateSignature Метод

Определение

Перегрузки

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Пытается создать подпись DSA для указанного хэша в предоставленном буфере.

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

Пытается создать сигнатуру DSA для указанного значения хэша в указанном формате и поместить ее в предоставленном буфере.

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Исходный код:
DSA.cs
Исходный код:
DSA.cs
Исходный код:
DSA.cs

Пытается создать подпись DSA для указанного хэша в предоставленном буфере.

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

Параметры

hash
ReadOnlySpan<Byte>

Подписываемый хэш.

destination
Span<Byte>

Диапазон байтов для получения подписи.

bytesWritten
Int32

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

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

Значение true, если destination достаточно большой для получения результата; в противном случае — значениеfalse.

Исключения

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

-или-

Тип реализации поддерживает только устаревший DSA (FIPS 186-2) и hash не является 20-байтовым значением.

-или-

Не удалось создать подпись по другим причинам.

Комментарии

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

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

TryCreateSignature(ReadOnlySpan<Byte>, Span<Byte>, DSASignatureFormat, Int32)

Исходный код:
DSA.cs
Исходный код:
DSA.cs
Исходный код:
DSA.cs

Пытается создать сигнатуру DSA для указанного значения хэша в указанном формате и поместить ее в предоставленном буфере.

public:
 bool TryCreateSignature(ReadOnlySpan<System::Byte> hash, Span<System::Byte> destination, System::Security::Cryptography::DSASignatureFormat signatureFormat, [Runtime::InteropServices::Out] int % bytesWritten);
public bool TryCreateSignature (ReadOnlySpan<byte> hash, Span<byte> destination, System.Security.Cryptography.DSASignatureFormat signatureFormat, out int bytesWritten);
member this.TryCreateSignature : ReadOnlySpan<byte> * Span<byte> * System.Security.Cryptography.DSASignatureFormat * int -> bool
Public Function TryCreateSignature (hash As ReadOnlySpan(Of Byte), destination As Span(Of Byte), signatureFormat As DSASignatureFormat, ByRef bytesWritten As Integer) As Boolean

Параметры

hash
ReadOnlySpan<Byte>

Значение хэша для подписи.

destination
Span<Byte>

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

signatureFormat
DSASignatureFormat

Формат кодирования, используемый для подписи.

bytesWritten
Int32

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

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

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

Исключения

signatureFormat не является известным форматом.

В операции подписывания произошла ошибка.

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