英語で読む

次の方法で共有


RSACryptoServiceProvider.VerifyData(Byte[], Object, Byte[]) メソッド

定義

指定した公開キーを使用して署名のハッシュ値を決定し、この値と指定したデータのハッシュ値とを比較することによって、デジタル署名が有効であることを確認します。

public bool VerifyData(byte[] buffer, object halg, byte[] signature);

パラメーター

buffer
Byte[]

署名されたデータ。

halg
Object

データのハッシュ値を作成するために使用されるハッシュ アルゴリズムの名前。

signature
Byte[]

検証する署名データ。

戻り値

署名が有効な場合は true。それ以外の場合は false

例外

halg パラメーターが null です。

halg パラメーターが有効な型ではありません。

次の例は、 メソッドを使用 VerifyData して署名を検証する方法を示しています。 このコード例は、 メソッドに対して提供されるより大きな例の SignHash 一部です。

public bool VerifyHash(RSAParameters rsaParams, byte[] signedData, byte[] signature)
{
    RSACryptoServiceProvider rsaCSP = new RSACryptoServiceProvider();
    SHA1Managed hash = new SHA1Managed();
    byte[] hashedData;

    rsaCSP.ImportParameters(rsaParams);
    bool dataOK = rsaCSP.VerifyData(signedData, CryptoConfig.MapNameToOID("SHA1"), signature);
    hashedData = hash.ComputeHash(signedData);
    return rsaCSP.VerifyHash(hashedData, CryptoConfig.MapNameToOID("SHA1"), signature);
}

注釈

このメソッドは、 RSA メソッドによって生成されたデジタル署名を SignData 検証します。 署名は、署名された公開キーを使用して署名からハッシュ値を取得し、その値を指定されたデータのハッシュ値と比較することによって検証されます。

パラメーターはhalg、または をStringHashAlgorithmType受け取ることができます。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

こちらもご覧ください