DSA.TryCreateSignature Method

Definition

Overloads

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

Attempts to create the DSA signature for the specified hash into the provided buffer.

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

Attempts to create the DSA signature for the specified hash value in the indicated format and place it into the provided buffer.

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

Attempts to create the DSA signature for the specified hash into the provided buffer.

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

Parameters

hash
ReadOnlySpan<Byte>

The hash to sign.

destination
Span<Byte>

The byte span to receive the signature.

bytesWritten
Int32

When this method returns, contains a value that indicates the number of bytes written to destination.

Returns

true if destination is large enough to receive the result; otherwise, false.

Exceptions

This instance represents only a public key.

-or-

The implementation type only supports legacy DSA (FIPS 186-2), and hash is not a 20-byte value.

-or-

Creating the signature otherwise failed.

Remarks

The default implementation of this method is to call CreateSignature(Byte[]) and copy the result to destination. Derived types should override this method to avoid the intermediate array creation.

Applies to

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

Attempts to create the DSA signature for the specified hash value in the indicated format and place it into the provided buffer.

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

Parameters

hash
ReadOnlySpan<Byte>

The hash value to sign.

destination
Span<Byte>

The buffer to receive the signature.

signatureFormat
DSASignatureFormat

The encoding format to use for the signature.

bytesWritten
Int32

When this method returns, contains a value that indicates the number of bytes written to destination. This parameter is treated as uninitialized.

Returns

true if destination is large enough to receive the signature; otherwise, false.

Exceptions

signatureFormat is not a known format.

An error occurred in the signing operation.

Applies to