RSA.TrySignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32) Methode

Definition

Versucht, den Hash mit dem aktuellen Schlüssel zu signieren, wobei die Signatur in einen bereitgestellten Puffer geschrieben wird.Attempts to sign the hash with the current key, writing the signature into a provided buffer.

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

Parameter

hash
ReadOnlySpan<Byte>

Der Hashwert der zu signierenden Daten.The hash value of the data to be signed.

destination
Span<Byte>

Der Puffer zum Empfangen der RSA-Signatur.The buffer to receive the RSA signature.

hashAlgorithm
HashAlgorithmName

Der Hashalgorithmus, der zum Erstellen des Hashwerts der Daten verwendet wird.The hash algorithm used to create the hash value of the data.

padding
RSASignaturePadding

Der Paddingmodus.The padding.

bytesWritten
Int32

Nach Ausführung dieser Methode die Gesamtzahl der in destination geschriebenen Bytes.When this method returns, the total number of bytes written into destination. Dieser Parameter wird nicht initialisiert behandelt.This parameter is treated as uninitialized.

Gibt zurück

Boolean

true, wenn destination zum Empfangen der RSA-Signatur lang genug ist. Andernfalls false.true if destination is long enough to receive the RSA signature; otherwise, false.

Ausnahmen

padding ist null.padding is null.

hashAlgorithm.NamehashAlgorithm.Name ist null oder Empty.is null or Empty.

padding ist unbekannt oder wird von dieser Implementierung nicht unterstützt.padding is unknown, or not supported by this implementation.

- oder --or-

Diese Instanz stellt nur einen öffentlichen Schlüssel dar.This instance represents only a public key.

- oder --or-

Fehler beim Erstellen der Signatur.An error occurred creating the signature.

Hinweise

Die Standard Implementierung dieser Methode ruft SignHash(Byte[], HashAlgorithmName, RSASignaturePadding) auf und kopiert das Ergebnis in destination .The default implementation of this method calls SignHash(Byte[], HashAlgorithmName, RSASignaturePadding) and copies the result to destination. Abgeleitete Typen sollten diese Methode überschreiben, um die Erstellung von zwischen Arrays zu vermeiden.Derived types should override this method to avoid the intermediate array creation.

Der RSA-Signatur Algorithmus erzeugt immer eine Ausgabe, die der Anzahl von Bytes entspricht, die für Bits benötigt wird KeySize .The RSA signature algorithm will always produce an output equal to the number of bytes required for KeySize bits.

Gilt für:

Siehe auch