Класс, содержащий информацию о свойствах цифровой подписи на алгоритме ГОСТ Р 34.10-2001.

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

Синтаксис

Visual Basic
Public Class GostSignatureDescription _
	Inherits SignatureDescription
C#
public class GostSignatureDescription : SignatureDescription
Visual C++
public ref class GostSignatureDescription : public SignatureDescription
JavaScript
CryptoPro.Sharpei.GostSignatureDescription = function();

Type.createClass(
	'CryptoPro.Sharpei.GostSignatureDescription',
	SignatureDescription);

Примеры

Пример использования GostSignatureDescription
C# Copy imageCopy Code
// Copyright (C) 2006-2012 Крипто-Про. Все права защищены.
//
// Этот файл содержит информацию, являющуюся
// собственностью компании Крипто-Про.
// 
// Любая часть этого файла не может быть скопирована,
// исправлена, переведена на другие языки,
// локализована или модифицирована любым способом,
// откомпилирована, передана по сети с или на
// любую компьютерную систему без предварительного
// заключения соглашения с компанией Крипто-Про.
// 
// Программный код, содержащийся в этом файле, предназначен
// исключительно для целей обучения и не может быть использован
// для защиты информации.
// 
// Компания Крипто-Про не несет никакой
// ответственности за функционирование этого кода.

// Пример работы с классом GostSignatureDescription
//
// Данный пример создает объект, содержащий описание подписи
// на алгоритме ГОСТ-34.10 2001 и по этому описанию создет
// объекты, реализующие хэш-алгоритм, форматтер и деформаттер
// ГОСТ-овой подписи.

using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;

using CryptoPro.Sharpei;

namespace Samples.DocBlock
{
    #region SignatureDescription
    class SignatureDescriptionSample
    {
        [STAThread]
        static void Main(string[] args)
        {
            // Описание свойств подписи на алгоритме ГОСТ-34.10 2001.
            GostSignatureDescription gostSignature =
                new GostSignatureDescription();
            // Выводим информацию о свойствах.
            ShowProperties(gostSignature);

            // Создаем HashAlgorithm.
            HashAlgorithm hashAlgorithm = gostSignature.CreateDigest();
            Console.WriteLine("\nHash algorithm for the DigestAlgorithm property:"
                + " " + hashAlgorithm.ToString());

            // Создаем AsymmetricSignatureFormatter, используя ГОСТ-овый ключ.
            Gost3410 gost = Gost3410.Create();
            AsymmetricSignatureFormatter asymmetricFormatter = gostSignature.CreateFormatter(gost);
            Console.WriteLine("\nCreated formatter : " +
                asymmetricFormatter.ToString());

            // Создаем AsymmetricSignatureDeformatter, используя ГОСТ-овый ключ.
            AsymmetricSignatureDeformatter asymmetricDeformatter = gostSignature.CreateDeformatter(gost);
            Console.WriteLine("\nCreated deformatter : " +
                asymmetricDeformatter.ToString());
        }

        // Выводим в консоль значения различных property.
        private static void ShowProperties(
            SignatureDescription signatureDescription)
        {
            // Полное имя класса.
            string classDescription = signatureDescription.ToString();

            string deformatterAlgorithm =
                signatureDescription.DeformatterAlgorithm;
            string formatterAlgorithm = signatureDescription.FormatterAlgorithm;
            string digestAlgorithm = signatureDescription.DigestAlgorithm;
            string keyAlgorithm = signatureDescription.KeyAlgorithm;

            Console.WriteLine("\n** " + classDescription + " **");
            Console.WriteLine("\nDeformatterAlgorithm : " + deformatterAlgorithm);
            Console.WriteLine("\nFormatterAlgorithm : " + formatterAlgorithm);
            Console.WriteLine("\nDigestAlgorithm : " + digestAlgorithm);
            Console.WriteLine("\nKeyAlgorithm : " + keyAlgorithm);
        }
    }
    #endregion
}

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

System..::..Object
  SignatureDescription
    CryptoPro.Sharpei..::..GostSignatureDescription

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

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

См. также: