RSA.TrySignHash(ReadOnlySpan<Byte>, Span<Byte>, HashAlgorithmName, RSASignaturePadding, Int32) メソッド

定義

現在のキーで、ハッシュを署名して、その結果を指定されたバッファーに書き込むことを試みます。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

パラメーター

hash
ReadOnlySpan<Byte>

署名されたデータのハッシュ値。The hash value of the data to be signed.

destination
Span<Byte>
hashAlgorithm
HashAlgorithmName

データのハッシュ値を作成するために使用されるハッシュ アルゴリズム。The hash algorithm used to create the hash value of the data.

padding
RSASignaturePadding

パディング。The padding.

bytesWritten
Int32

このメソッドから制御が戻るときに、destination に書き込まれた合計バイト数。When this method returns, the total number of bytes written into destination. このパラメーターは未初期化として扱われます。This parameter is treated as uninitialized.

戻り値

Boolean

destination が RSA 署名を受け取るのに十分な長さである場合は true。それ以外の場合は falsetrue if destination is long enough to receive the RSA signature; otherwise, false.

例外

paddingnull です。padding is null.

hashAlgorithm」を参照してください。NamehashAlgorithm.Name null または Emptyです。is null or Empty.

padding が不明であるか、この実装ではサポートされていません。padding is unknown, or not supported by this implementation.

または-or-

このインスタンスでは公開キーのみ表されます。This instance represents only a public key.

または-or-

署名の作成でエラーが発生しました。An error occurred creating the signature.

注釈

このメソッドの既定の実装では、SignHash(Byte[], HashAlgorithmName, RSASignaturePadding) を呼び出し、結果を destinationにコピーします。The default implementation of this method calls SignHash(Byte[], HashAlgorithmName, RSASignaturePadding) and copies the result to destination. 派生型では、このメソッドをオーバーライドして、中間の配列を作成しないようにする必要があります。Derived types should override this method to avoid the intermediate array creation.

RSA 署名アルゴリズムでは、常に KeySize ビットに必要なバイト数と同じ出力が生成されます。The RSA signature algorithm will always produce an output equal to the number of bytes required for KeySize bits.

適用対象

こちらもご覧ください