Compartilhar via


RSA.TrySignHash Método

Definição

Tenta assinar o hash com a chave atual, gravando a assinatura em um buffer fornecido.

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

Parâmetros

hash
ReadOnlySpan<Byte>

O valor de hash dos dados a serem assinados.

destination
Span<Byte>

O buffer que receberá a assinatura RSA.

hashAlgorithm
HashAlgorithmName

O algoritmo de hash usado para criar o valor de hash dos dados.

padding
RSASignaturePadding

O preenchimento.

bytesWritten
Int32

Quando esse método é retornado, o número total de bytes gravados em destination. Esse parâmetro é tratado como não inicializado.

Retornos

true se destination for longo o suficiente para receber a assinatura RSA; caso contrário, false.

Exceções

padding é null.

hashAlgorithm.Name é null ou Empty.

padding é desconhecido ou não há suporte para ele nesta implementação.

- ou -

Essa instância representa apenas uma chave pública.

- ou -

Erro ao criar a assinatura.

Comentários

A implementação padrão desse método chama SignHash(Byte[], HashAlgorithmName, RSASignaturePadding) e copia o resultado para destination. Tipos derivados devem substituir esse método para evitar a criação de matriz intermediária.

O algoritmo de assinatura RSA sempre produzirá uma saída igual ao número de bytes necessários para KeySize bits.

Aplica-se a

Confira também