Класс проверки подписи на алгоритме ГОСТ Р 34.10-2012 256.

Пространство имен:  CryptoPro.Sharpei
Сборка:  CryptoPro.Sharpei.Base (в CryptoPro.Sharpei.Base.dll)

Синтаксис

Visual Basic
<ComVisibleAttribute(True)> _
Public Class Gost2012_256SignatureDeformatter _
	Inherits AsymmetricSignatureDeformatter
C#
[ComVisibleAttribute(true)]
public class Gost2012_256SignatureDeformatter : AsymmetricSignatureDeformatter
Visual C++
[ComVisibleAttribute(true)]
public ref class Gost2012_256SignatureDeformatter : public AsymmetricSignatureDeformatter
JavaScript
CryptoPro.Sharpei.Gost2012_256SignatureDeformatter = function();

Type.createClass(
	'CryptoPro.Sharpei.Gost2012_256SignatureDeformatter',
	AsymmetricSignatureDeformatter);

Заметки

Проверяет подписи, созданные на алгоритме ГОСТ Р 34.10-2012 256. Класс для создания подписи - Gost2012_256SignatureDeformatter

Примеры

Пример, вычисления подписи при помощи Gost2012_256SignatureFormatterи проверки полученной подписи при помощи Gost2012_256SignatureDeformatter.
C# Copy imageCopy Code
// Создаем произвольный ключ на основе CSP.
Gost3410_2012_256CryptoServiceProvider Gost = new Gost3410_2012_256CryptoServiceProvider();

// Хэш, который будем подписывать.
byte[] Hash = 
{ 
    0x9d, 0x49, 0x5c, 0xed, 0xae, 0x47, 0xe5, 0xfd,
    0xe6, 0x40, 0xc2, 0x66, 0xd6, 0xb3, 0x47, 0xdb,
    0x22, 0x0a, 0x6a, 0xab, 0x33, 0x4d, 0x07, 0xc7,
    0xf3, 0xe8, 0x8e, 0xd0, 0xba, 0x00, 0xf3, 0x1c
};

// Создаем класс формирования подписи на основе 
// созданного случайного ключа.
Gost2012_256SignatureFormatter GostFormatter = new Gost2012_256SignatureFormatter(Gost);

// Подписываем хэш, получаем подпись.
byte[] SignedHash = GostFormatter.CreateSignature(Hash);

// Создаем объект проверки подписи и передаем ему
// ключ для проверки.
Gost2012_256SignatureDeformatter GostDeformatter = 
    new Gost2012_256SignatureDeformatter(Gost);

// Проверяем подпись и выводим результат на экран.
if (GostDeformatter.VerifySignature(Hash, SignedHash))
    Console.WriteLine("Подпись верна.");
else
    Console.WriteLine("Подпись искажена.");

Иерархия наследования

System..::..Object
  AsymmetricSignatureDeformatter
    CryptoPro.Sharpei..::..Gost2012_256SignatureDeformatter

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантирована.

См. также: