Condividi tramite


RSA.TrySignHash Metodo

Definizione

Prova a firmare l'hash con la chiave corrente, scrivendo la firma in un buffer specificato.

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

Parametri

hash
ReadOnlySpan<Byte>

Valore hash dei dati da firmare.

destination
Span<Byte>

Buffer per la ricezione della firma RSA.

hashAlgorithm
HashAlgorithmName

Algoritmo hash usato per creare il valore hash dei dati.

padding
RSASignaturePadding

Riempimento.

bytesWritten
Int32

Al termine di questo metodo, il numero totale di byte scritti in destination. Questo parametro viene trattato come non inizializzato.

Restituisce

true se la lunghezza di destination è sufficiente per ricevere la firma RSA. In caso contrario, false.

Eccezioni

padding è null.

hashAlgorithm.Name è null o Empty.

padding è sconosciuto o non è supportato da questa implementazione.

-oppure-

Questa istanza rappresenta solo una chiave pubblica.

-oppure-

Errore durante la creazione della firma.

Commenti

L'implementazione predefinita di questo metodo chiama SignHash(Byte[], HashAlgorithmName, RSASignaturePadding) e copia il risultato in destination. I tipi derivati devono eseguire l'override di questo metodo per evitare la creazione della matrice intermedia.

L'algoritmo di firma RSA produrrà sempre un output uguale al numero di byte necessari per KeySize i bit.

Si applica a

Vedi anche