КриптоПро .NET
Search Results for

    Показать/Скрыть содержание

    Class Gost3410_2012_256CryptoServiceProvider

    Implementation of Gost3410_2012_256 algorithm using Crypto API 2.0.

    Inheritance
    object
    AsymmetricAlgorithm
    Gost3410Algorithm
    Gost3410_2012_256
    Gost3410_2012_256CryptoServiceProvider
    Implements
    IDisposable
    ICpCspAsymmetricAlgorithm
    Inherited Members
    Gost3410_2012_256.DefaultKeySize
    Gost3410_2012_256.Create()
    Gost3410_2012_256.Create(Gost3410Parameters)
    Gost3410_2012_256.KeyExchangeAlgorithm
    Gost3410_2012_256.SignatureAlgorithm
    Gost3410Algorithm.LegalKeySizes
    Gost3410Algorithm.KeySize
    Gost3410Algorithm.SignData(byte[])
    Gost3410Algorithm.SignData(byte[], int, int)
    Gost3410Algorithm.SignData(ReadOnlySpan<byte>)
    Gost3410Algorithm.SignData(ReadOnlySpan<byte>, Span<byte>)
    Gost3410Algorithm.SignData(Stream)
    Gost3410Algorithm.SignHash(byte[])
    Gost3410Algorithm.SignHash(ReadOnlySpan<byte>)
    Gost3410Algorithm.SignHash(ReadOnlySpan<byte>, Span<byte>)
    Gost3410Algorithm.TrySignHash(ReadOnlySpan<byte>, Span<byte>, out int)
    Gost3410Algorithm.TrySignData(ReadOnlySpan<byte>, Span<byte>, out int)
    Gost3410Algorithm.VerifyData(byte[], byte[])
    Gost3410Algorithm.VerifyData(byte[], int, int, byte[])
    Gost3410Algorithm.VerifyData(ReadOnlySpan<byte>, ReadOnlySpan<byte>)
    Gost3410Algorithm.VerifyData(Stream, byte[])
    Gost3410Algorithm.VerifyHash(byte[], byte[])
    Gost3410Algorithm.VerifyHash(ReadOnlySpan<byte>, ReadOnlySpan<byte>)
    AsymmetricAlgorithm.Clear()
    AsymmetricAlgorithm.Create(string)
    AsymmetricAlgorithm.Dispose()
    AsymmetricAlgorithm.ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<byte>, PbeParameters)
    AsymmetricAlgorithm.ExportEncryptedPkcs8PrivateKey(ReadOnlySpan<char>, PbeParameters)
    AsymmetricAlgorithm.ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<byte>, PbeParameters)
    AsymmetricAlgorithm.ExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<char>, PbeParameters)
    AsymmetricAlgorithm.ExportPkcs8PrivateKey()
    AsymmetricAlgorithm.ExportPkcs8PrivateKeyPem()
    AsymmetricAlgorithm.ExportSubjectPublicKeyInfo()
    AsymmetricAlgorithm.ExportSubjectPublicKeyInfoPem()
    AsymmetricAlgorithm.FromXmlString(string)
    AsymmetricAlgorithm.ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<byte>, ReadOnlySpan<byte>, out int)
    AsymmetricAlgorithm.ImportEncryptedPkcs8PrivateKey(ReadOnlySpan<char>, ReadOnlySpan<byte>, out int)
    AsymmetricAlgorithm.ImportFromEncryptedPem(ReadOnlySpan<char>, ReadOnlySpan<byte>)
    AsymmetricAlgorithm.ImportFromEncryptedPem(ReadOnlySpan<char>, ReadOnlySpan<char>)
    AsymmetricAlgorithm.ImportFromPem(ReadOnlySpan<char>)
    AsymmetricAlgorithm.ImportPkcs8PrivateKey(ReadOnlySpan<byte>, out int)
    AsymmetricAlgorithm.ImportSubjectPublicKeyInfo(ReadOnlySpan<byte>, out int)
    AsymmetricAlgorithm.ToXmlString(bool)
    AsymmetricAlgorithm.TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<byte>, PbeParameters, Span<byte>, out int)
    AsymmetricAlgorithm.TryExportEncryptedPkcs8PrivateKey(ReadOnlySpan<char>, PbeParameters, Span<byte>, out int)
    AsymmetricAlgorithm.TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<byte>, PbeParameters, Span<char>, out int)
    AsymmetricAlgorithm.TryExportEncryptedPkcs8PrivateKeyPem(ReadOnlySpan<char>, PbeParameters, Span<char>, out int)
    AsymmetricAlgorithm.TryExportPkcs8PrivateKey(Span<byte>, out int)
    AsymmetricAlgorithm.TryExportPkcs8PrivateKeyPem(Span<char>, out int)
    AsymmetricAlgorithm.TryExportSubjectPublicKeyInfo(Span<byte>, out int)
    AsymmetricAlgorithm.TryExportSubjectPublicKeyInfoPem(Span<char>, out int)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: CryptoPro.Security.Cryptography
    Assembly: CryptoPro.Security.Cryptography.dll
    Syntax
    public sealed class Gost3410_2012_256CryptoServiceProvider : Gost3410_2012_256, IDisposable, ICpCspAsymmetricAlgorithm

    Constructors

    Gost3410_2012_256CryptoServiceProvider()

    Конструктор, создающий объект класса Gost3410_2012_256CryptoServiceProvider.

    Declaration
    public Gost3410_2012_256CryptoServiceProvider()
    Remarks

    Создается контейнер с типом 75 на провайдере по умолчанию, со случайным именем контейнера. Ключи будут храниться в store пользователя или машины в зависимости от установленного свойства UseMachineKeyStore в момент создания объекта.

    Создание ключей будет отложено до момента, когда этот ключ реально потребуется.

    Gost3410_2012_256CryptoServiceProvider(CpCspParameters)

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

    Declaration
    public Gost3410_2012_256CryptoServiceProvider(CpCspParameters parameters)
    Parameters
    Type Name Description
    CpCspParameters parameters

    Параметры алгоритма.

    Remarks

    При создании контейнера без заданного имени контейнера и без указания флага использования контейнера по умолчанию будет создано случайное имя, а создание ключей будет отложено, до его первого обращения.

    При инициализации объекта через данный конструктор будут использованы именно эти параметры, в независимости от флага UseMachineKeyStore. По умолчанию значение флага из Gost3410_2012_256CryptoServiceProvider(CpCspParameters) устанавливается в использование ключей из хранилище пользователя. Для использования ключей из хранилища компьютера необходимо установить флаг Flags: UseMachineKeyStore.

    Properties

    CipherOid

    Параметры шифрования.

    Declaration
    public string CipherOid { get; set; }
    Property Value
    Type Description
    string

    ContainerCertificate

    Получение/установка сертификата в конейнер.

    Declaration
    public byte[] ContainerCertificate { get; set; }
    Property Value
    Type Description
    byte[]

    Возвращается хранимый сертификат или null, если сертификат в контейнере отсутствует.

    CspKeyContainerInfo

    Получает информацию о CSP CspKeyContainerInfo, в котором хранится ключевая пара.

    Declaration
    public CpCspKeyContainerInfo CspKeyContainerInfo { get; }
    Property Value
    Type Description
    CpCspKeyContainerInfo

    Handle

    Gets a copy to a native HCRYPTPROV handle.

    Declaration
    public nint Handle { get; }
    Property Value
    Type Description
    nint

    HandleNoDuplicate

    Gets a native HCRYPTPROV handle.

    Declaration
    public nint HandleNoDuplicate { get; }
    Property Value
    Type Description
    nint

    KeyDhParamSet

    Параметры Диффи-Хелламана ключа.

    Declaration
    public string KeyDhParamSet { get; }
    Property Value
    Type Description
    string

    KeySpec

    Gets a key specification.

    Declaration
    public int KeySpec { get; }
    Property Value
    Type Description
    int

    NotAfter

    Срок действия закртытого ключа, указанного в KP_NOTAFTER

    Declaration
    public DateTimeOffset NotAfter { get; }
    Property Value
    Type Description
    DateTimeOffset

    ProviderDhParamSet

    Параметры Диффи-Хелламана провайдера.

    Declaration
    public string ProviderDhParamSet { get; set; }
    Property Value
    Type Description
    string
    Remarks

    Используются только при создании новых ключей, не влияет на существующие.

    PublicOnly

    Получает значение, указывающее, не содержит ли объект Gost3410_2012_256CryptoServiceProvider только открытый ключ.

    Declaration
    public bool PublicOnly { get; }
    Property Value
    Type Description
    bool

    true, если Gost3410_2012_256CryptoServiceProvider содержит только открытый ключ, false - иначе.

    UseMachineKeyStore

    Возвращает или устанавливает флаг того, что ключ должен храниться в STORE ключей компьютера, а не в профиле пользователя.

    Declaration
    public static bool UseMachineKeyStore { get; set; }
    Property Value
    Type Description
    bool

    true, если ключ должен храниться в банке ключей компьютера, false - иначе.

    Remarks

    Данный флаг устанавливает использование ключей из STORE пользователя или компьютера при открытии ключей без указания данного флага. Установка данного флага эквивалентна передаче установке флага UseMachineKeyStore в CspParameters. Свойство UseMachineKeyStore устанавливается для всего кода в текущем домене, в то время как CspParameters применимо только к объекту на который он ссылается. Установка/сброс данного флага полезна при имперсонализации или работе без загруженного профиля пользователя.

    При инициализации объекта через конструктор Gost3410_2012_256CryptoServiceProvider(CpCspParameters) будут использованы именно эти параметры, в независимости от флага UseMachineKeyStore. По умолчанию значение флага из Gost3410_2012_256CryptoServiceProvider(CpCspParameters) устанавливется в использование ключей из хранилищи пользователя. Для использования ключей из хранилища компьютера при использовании конструктора Gost3410_2012_256CryptoServiceProvider(CpCspParameters) необходимо установить флаг Flags: UseMachineKeyStore.

    Methods

    CreateAgree(Gost3410Parameters)

    Создание ключа согласования (agree ключа).

    Declaration
    public override GostSharedSecretAlgorithm CreateAgree(Gost3410Parameters alg)
    Parameters
    Type Name Description
    Gost3410Parameters alg

    Открытый ключ получателя.

    Returns
    Type Description
    GostSharedSecretAlgorithm

    Ключ согласования GostSharedSecretAlgorithm для шифрования ключевой информации.

    Overrides
    Gost3410Algorithm.CreateAgree(Gost3410Parameters)

    Dispose(bool)

    Освобождает неуправляемые объектом класса Gost3410_2012_256CryptoServiceProvider ресурсы и, по выбору, управляемые.

    Declaration
    protected override void Dispose(bool disposing)
    Parameters
    Type Name Description
    bool disposing

    true, чтобы освободить и управляемые, и неупавляемые ресурсы; false, чтобы освободить только неуправляемые.

    Overrides
    AsymmetricAlgorithm.Dispose(bool)

    ExportCspBlob()

    Экспортирует параметры алгоритма в BLOB.

    Declaration
    public byte[] ExportCspBlob()
    Returns
    Type Description
    byte[]

    BLOB со структурой описанной для CSP.

    Remarks

    Экспорт секретного ключа не поддерживается.

    Exceptions
    Type Condition
    CryptographicException

    При экспорте секретного ключа.

    ExportParameters()

    Экспорт параметров Gost3410Parameters алгоритма ГОСТ Р 34.10-2012 256 в CSP.

    Declaration
    public override Gost3410Parameters ExportParameters()
    Returns
    Type Description
    Gost3410Parameters

    Параметры в виде структуры Gost3410Parameters

    Overrides
    Gost3410_2012_256.ExportParameters()
    Remarks

    По соображениям безопасности в данной сборке при экспорте секретного ключа всегда возбуждает исключение CryptographicException.

    ImportCertificatePublicKey(byte[])

    Импорт открытого ключа из структуры CERT_PUBLIC_KEY_INFO

    Declaration
    public void ImportCertificatePublicKey(byte[] publicKeyInfo)
    Parameters
    Type Name Description
    byte[] publicKeyInfo

    ImportCspBlob(byte[])

    Импорт параметров алгоритма ГОСТ Р 34.10-2012 256.

    Declaration
    public void ImportCspBlob(byte[] rawData)
    Parameters
    Type Name Description
    byte[] rawData

    Байтовый массив, содержащий ключ и параметры алгоритма ГОСТ Р 34.10-2012 256.

    Remarks

    Импорт секретного ключа не поддерживается.

    Exceptions
    Type Condition
    CryptographicException

    При экспорте секретного ключа.

    ImportCspBlob(byte[], byte[])

    Импорт параметров алгоритма ГОСТ Р 34.10-2012 256.

    Declaration
    public void ImportCspBlob(byte[] keyBlob, byte[] paramBlob)
    Parameters
    Type Name Description
    byte[] keyBlob

    Байтовый массив, содержащий ключ алгоритма ГОСТ Р 34.10-2012 256 без параметров.

    byte[] paramBlob

    Байтовый массив, параметры ключа алгоритма ГОСТ Р 34.10-2012 256 без параметров.

    Remarks

    Импорт секретного ключа не поддерживается.

    Exceptions
    Type Condition
    CryptographicException

    При экспорте секретного ключа.

    ImportParameters(Gost3410Parameters)

    Импорт параметров Gost3410Parameters алгоритма ГОСТ Р 34.10-2012 256.

    Declaration
    public override void ImportParameters(Gost3410Parameters parameters)
    Parameters
    Type Name Description
    Gost3410Parameters parameters

    Параметры алгоритма ГОСТ Р 34.10-2012 256

    Overrides
    Gost3410_2012_256.ImportParameters(Gost3410Parameters)
    Remarks

    В данной сборке при импорте секретного ключа всегда возбуждает исключение CryptographicException.

    Exceptions
    Type Condition
    CryptographicException

    При импорте секретного ключа.

    ImportPublicKey(ReadOnlySpan<byte>, ReadOnlySpan<byte>)

    Imports encoded public key.

    Declaration
    public override void ImportPublicKey(ReadOnlySpan<byte> encodedPublicKey, ReadOnlySpan<byte> encodedParameters)
    Parameters
    Type Name Description
    ReadOnlySpan<byte> encodedPublicKey

    The encoded public key.

    ReadOnlySpan<byte> encodedParameters

    The encoded parameters.

    Overrides
    Gost3410Algorithm.ImportPublicKey(ReadOnlySpan<byte>, ReadOnlySpan<byte>)

    SelectContainer(bool, bool, nint)

    Вывод диалогового окна выбора контейнера и получение имени выбранного контейнера

    Declaration
    public static string SelectContainer(bool fullyQualifiedContainerName, bool machine, nint parent)
    Parameters
    Type Name Description
    bool fullyQualifiedContainerName

    Вернуть полностью кваллифицированное имя контейнера.

    bool machine

    Использовать локальное хранилище компьютера ( true) или пользователя ( true).

    nint parent

    HWND родительского окна или IntPtr.Zero, для выдачи окна без родителя.

    Returns
    Type Description
    string

    Строку имени контейнера.

    SetContainerPassword(SecureString)

    Установка пароля доступа к контейнеру.

    Declaration
    public void SetContainerPassword(SecureString password)
    Parameters
    Type Name Description
    SecureString password

    Пароль доступа к контейнеру.

    Remarks

    Если ключ уже загружен в память, то поведение данной функции зависит от провайдера, обычно проверяется соответствие передаваемого пароля и пароля доступа на контейнер.

    Если ключ не был загружен в память, данная функция не проверяет корректность вводимого пароля, а только запоминает его. Проверка правильности введенного пароля будет происходить при доступе к ключу, например при операции подписи.

    TrySignHashCore(ReadOnlySpan<byte>, Span<byte>, out int)

    Attempts to create the ECDSA signature for the specified hash value in the indicated format into the provided buffer.

    Declaration
    protected override bool TrySignHashCore(ReadOnlySpan<byte> rgbHash, Span<byte> signature, out int bytesWritten)
    Parameters
    Type Name Description
    ReadOnlySpan<byte> rgbHash
    Span<byte> signature
    int bytesWritten

    When this method returns, contains a value that indicates the number of bytes written to destination. This parameter is treated as uninitialized.

    Returns
    Type Description
    bool

    true if destination is big enough to receive the signature; otherwise, false.

    Overrides
    Gost3410Algorithm.TrySignHashCore(ReadOnlySpan<byte>, Span<byte>, out int)
    Exceptions
    Type Condition
    CryptographicException

    An error occurred in the signing operation.

    VerifyHashCore(ReadOnlySpan<byte>, ReadOnlySpan<byte>)

    Проверяет подлинность подписи для указанного значения хэш.

    Declaration
    protected override bool VerifyHashCore(ReadOnlySpan<byte> rgbHash, ReadOnlySpan<byte> rgbSignature)
    Parameters
    Type Name Description
    ReadOnlySpan<byte> rgbHash

    Хэш, для которого проверяется подпись.

    ReadOnlySpan<byte> rgbSignature

    Подпись, подлинность которой необходимо проверить.

    Returns
    Type Description
    bool

    true, если продпись подлинна, false - иначе.

    Overrides
    Gost3410Algorithm.VerifyHashCore(ReadOnlySpan<byte>, ReadOnlySpan<byte>)
    Remarks

    Алгоритм вычисления хэш для ГОСТ Р 34.10-2012 256 всегда ГОСТ Р 34.11-2012 256.

    Implements

    IDisposable
    ICpCspAsymmetricAlgorithm
    В этом разделе
    Наверх Generated by DocFX