Возвращает или устанавливает флаг, указывающий, должен ли ключ
храниться в CSP.
Пространство имен:
CryptoPro.Sharpei
Сборка:
CryptoPro.Sharpei.Base (в CryptoPro.Sharpei.Base.dll)
Синтаксис
Visual Basic |
---|
Public Property PersistKeyInCsp As Boolean
Get
Set |
C# |
---|
public bool PersistKeyInCsp { get; set; } |
Visual C++ |
---|
public:
property bool PersistKeyInCsp {
bool get ();
void set (bool value);
} |
JavaScript |
---|
function get_persistKeyInCsp();
function set_persistKeyInCsp(value); |
Значение поля
trueTruetruetrue (True в Visual Basic), если ключ должен храниться в CSP,
falseFalsefalsefalse (False в Visual Basic) - иначе.
Заметки
Примеры
Пример работы
с контейнером закрытого ключа.
Visual Basic | Copy Code |
---|
' Copyright (C) 2006-2012 Крипто-Про. Все права защищены.
'
' Этот файл содержит информацию, являющуюся
' собственностью компании Крипто Про.
'
' Любая часть этого файла не может быть скопирована,
' исправлена, переведена на другие языки,
' локализована или модифицирована любым способом,
' откомпилирована, передана по сети с или на
' любую компьютерную систему без предварительного
' заключения соглашения с компанией Крипто Про.
'
' Программный код, содержащийся в этом файле, предназначен
' исключительно для целей обучения и не может быть использован
' для защиты информации.
'
' Компания Крипто-Про не несет никакой
' ответственности за функционирование этого кода.
Imports System
Imports System.Security.Cryptography
Imports CryptoPro.Sharpei
Class PersistKeyInCspSample
Shared Sub Main()
Dim KeyContainerName As String = "MyKeyContainer"
'Создаем ключ и помещаем его в контейнер.
GostPersistKeyInCSP(KeyContainerName)
'Удаляем ключ из контейнера.
GostDeleteKeyInCSP(KeyContainerName)
End Sub
Shared Sub GostPersistKeyInCSP(ByVal ContainerName As String)
Try
' Создаем новые CspParameters.
Dim cspParams As CspParameters = New CspParameters()
' Устанавливаем имя контейнера ключа.
cspParams.KeyContainerName = ContainerName
' Устанавливаем тип CSP - ГОСТ-овый.
cspParams.ProviderType = 75
' Создаем новый Gost3410CryptoServiceProvider, чтобы сгенерировать
' ключевую пару.
' Свойство PersistKeyInCsp по умолчанию имеет значение true
Dim gost As Gost3410CryptoServiceProvider = New Gost3410CryptoServiceProvider(cspParams)
Console.WriteLine("Ключ помещен в контейнер {0}", ContainerName)
Catch e As CryptographicException
Console.WriteLine(e.Message)
End Try
End Sub
Shared Sub GostDeleteKeyInCSP(ByVal ContainerName As String)
Try
' Создаем новые CspParameters.
Dim cspParams As CspParameters = New CspParameters()
' Устанавливаем имя контейнера ключа.
cspParams.KeyContainerName = ContainerName
' Устанавливаем тип CSP - ГОСТ-овый.
cspParams.ProviderType = 75
' Создаем новый Gost3410CryptoServiceProvider, чтобы получить доступ к
' ключу в контейнере.
Dim gost As Gost3410CryptoServiceProvider = _
New Gost3410CryptoServiceProvider(cspParams)
' Меняен значение свойства PersistKeyInCsp на false
' чтобы иметь возможность удалить ключ из контейнера.
gost.PersistKeyInCsp = False
' Clear освобождает ресурсы и удаляет ключ из контейнера.
gost.Clear()
Console.WriteLine("Ключ удален из контейнера {0}", ContainerName)
Catch e As CryptographicException
Console.WriteLine(e.Message)
End Try
End Sub
End Class
|
C# | Copy Code |
---|
// Copyright (C) 2006-2012 Крипто-Про. Все права защищены.
//
// Этот файл содержит информацию, являющуюся
// собственностью компании Крипто-Про.
//
// Любая часть этого файла не может быть скопирована,
// исправлена, переведена на другие языки,
// локализована или модифицирована любым способом,
// откомпилирована, передана по сети с или на
// любую компьютерную систему без предварительного
// заключения соглашения с компанией Крипто-Про.
//
// Программный код, содержащийся в этом файле, предназначен
// исключительно для целей обучения и не может быть использован
// для защиты информации.
//
// Компания Крипто-Про не несет никакой
// ответственности за функционирование этого кода.
// Пример работы с контейнером закрытого ключа.
//
// Данный пример:
// 1. Создает контейнер закрытого ключа с именем "MyKeyContainer"
// для ГОСТ-ового криптопровайдера.
// 2. Удаляет ключ из контейнера.
using System;
using System.Text;
using System.Security.Cryptography;
using CryptoPro.Sharpei;
namespace Samples.MySamples
{
class PersistKeyInCspSample
{
static void Main()
{
string KeyContainerName = "MyKeyContainer";
//Создаем ключ и помещаем его в контейнер.
GostPersistKeyInCSP(KeyContainerName);
//Удаляем ключ из контейнера.
GostDeleteKeyInCSP(KeyContainerName);
}
static void GostPersistKeyInCSP(string ContainerName)
{
try
{
// Создаем новые CspParameters.
CspParameters cspParams = new CspParameters();
// Устанавливаем имя контейнера ключа.
cspParams.KeyContainerName = ContainerName;
// Устанавливаем тип CSP - ГОСТ-овый.
cspParams.ProviderType = 75;
//Создаем новый Gost3410CryptoServiceProvider, чтобы сгенерировать
//ключевую пару.
//Свойство PersistKeyInCsp по умолчанию имеет значение true
Gost3410CryptoServiceProvider gost = new Gost3410CryptoServiceProvider(cspParams);
Console.WriteLine("Ключ помещен в контейнер \"{0}\".", ContainerName);
}
catch (CryptographicException e)
{
Console.WriteLine(e.Message);
}
}
static void GostDeleteKeyInCSP(string ContainerName)
{
try
{
// Создаем новые CspParameters.
CspParameters cspParams = new CspParameters();
// Устанавливаем имя контейнера ключа.
cspParams.KeyContainerName = ContainerName;
// Устанавливаем тип CSP - ГОСТ-овый.
cspParams.ProviderType = 75;
//Создаем новый Gost3410CryptoServiceProvider, чтобы получить доступ к
//ключу в контейнере.
Gost3410CryptoServiceProvider gost = new Gost3410CryptoServiceProvider(cspParams);
//Меняен значение свойства PersistKeyInCsp на false
//чтобы иметь возможность удалить ключ из контейнера.
gost.PersistKeyInCsp = false;
//Clear освобождает ресурсы и удаляет ключ из контейнера.
gost.Clear();
Console.WriteLine("Ключ удален из контейнера \"{0}\".", ContainerName);
}
catch (CryptographicException e)
{
Console.WriteLine(e.Message);
}
}
}
}
|
Разрешения
Разрешение | Описание |
---|
KeyContainerPermission | Для открытия существующего контейнера. Связанные перечисления: Open. Действия по обеспечению безопасности:
Demand
. |
KeyContainerPermission | Для создания контейнера. Связанные перечисления: Create. Действия по обеспечению безопасности:
Demand
. |
KeyContainerPermission | Для удаления контейнера. Связанные перечисления: Delete. Действия по обеспечению безопасности:
Demand
. |
Версии CSP:
КриптоПро CSP 3.6
(начиная со сборки:5276)
См. также: