КриптоПро CSP  

Имя контейнера

Имя контейнера является строкой, заканчивающейся нулем, идентифицирующей носитель ключевой информации.

Возможные значения имени контейнера:

Значение Описание
NULL Контейнер по умолчанию. Если конфигурация "КриптоПро CSP" настроена на хранение ключей на диске, то именем контейнера по умолчанию является имя пользователя ОС, вызвавшего CSP.
CONTAINER Имя контейнера.
MEDIA\UNIQUE Контейнер по умолчанию на носителе (MEDIA\UNIQUE).
MEDIA\UNIQUE\CONTAINER Контейнер на заданном носителе (MEDIA\UNIQUE). Если носитель не поддерживает уникальных имен, то уникальное имя носителя отсутствует, но символ \ опускать в этом случае нельзя. Если носитель поддерживает длинные имена (например, реестр), то имя контейнера в этом случае совпадает FOLDER.
MEDIA\UNIQUE\FOLDER\CRC Контейнер на заданном носителе (MEDIA\UNIQUE) с именем CRC16 которого в нижнем регистре в кодировке UTF8 совпадает с CRC. Если носитель не поддерживает уникальных имен, то уникальное имя носителя отсутствует, но символ \ опускать в этом случае нельзя. Данный формат не может использоваться для создания контейнеров.
\\.\READER\MEDIA\UNIQUE Контейнер по умолчанию на носителе (MEDIA\UNIQUE), с заданным именем считывателя.
\\.\READER\MEDIA\UNIQUE\CONTAINER Контейнер на заданном носителе (MEDIA\UNIQUE), с заданным именем считывателя. Если носитель не поддерживает уникальных имен, то уникальное имя носителя отсутствует, но символ \ опускать в этом случае нельзя.
\\.\READER\MEDIA\UNIQUE\FOLDER\CRC Контейнер на заданном носителе (MEDIA\UNIQUE), с заданным именем считывателя и CRC16 имени контейнера в нижнем регистре в кодировке UTF8 совпадает с CRC. Если носитель не поддерживает уникальных имен, то уникальное имя носителя отсутствует, но символ \ опускать в этом случае нельзя. Если носитель поддерживает длинные имена (например, реестр), то имя контейнера в этом случае совпадает с FOLDER. Данный формат не может использоваться для создания контейнеров.
\\.\READER\CONTAINER Имя контейнера на заданном считывателе.
\\.\READER Контейнер по умолчанию на заданном считывателе.

Во всех перечисленных выше формах (кроме NULL), оконечный символ \ не влияет на смысл контейнера.

Пользователь задаёт имя контейнера, возможно с заданием имени считывателя, в аргументах функции CPAcquireContext .

Функция CPGetProvParam возвращает:

Поддерживаемые считыватели

На данный момент поддерживаются следующие считыватели (READER):

Имя Описание
FAT12_[DRIVE] дисковод, где [DRIVE] имя дисковода, например, для дисковода A: имя FAT12_A
DS9097E_[COM], DS9097U_[COM], DS1410E_[LPT] считыватель Touch-Memory, где [COM] ([LPT]) имя COM (LPT) порта, например, для считывателя Touch-Memory DS9097E, присоединенного ко второму COM порту, имя будет DS9097E_COM1
ACCORD считыватель Touch-Memory через ACCORD
SABLE считыватель Touch-Memory через Соболь
REGISTRY считыватель ключей из реестра.
HDIMAGE считыватель ключей с диска.
[PCSC считыватель] считыватель смарт-карт через интерфейс PCSC, где [PCSC считыватель] имя считывателя так как он зарегистрирован, например для первого зарегистрированного считывателя GCR410 имя будет "GEMPLUS GCR410P 0"

Поддерживаемые носители

Поддерживаются следующие типы носителей (MEDIA):

Имя Описание
FAT12 дискета (или любой другой отчуждаемый носитель, поддерживающий файловую систему, понимаемую ОС)
DS Touch-Memory
REGISTRY реестр. Поддерживает длинные имена.
HDIMAGE жесткий диск.
SCARD смарт-карта, или любое другое устройство с интерфейсом смарт-карты, например, eToken.

Вид уникального номера

Вид уникального номера (UNIQUE) носителя в зависимости от его типа носителя:

Тип носителя Вид уникального номера Описание
Дискета [SERIAL]_[VOLUME] [SERIAL] серийный номер дискеты, 8 16-ричных цифр (задается при форматировании), [VOLUME] - метка тома 11 символов (задается при форматировании или, если нет метки, то при генерации первого контейнера). Если метка тома, по каким-то причинам отсутствует, то уникальное имя будет представлено в виде [SERIAL].
Touch-Memory [тип]_[номер] [тип] - тип Touch-memory на текущий момент поддерживаются 1993, 1994, 1995, 1996. [номер] - 6 16-ричных цифр уникального номера таблетки.
смарт-карта MPCOS 3DES MPCOS-EMV_[номер] [номер] - 16 16-ричных цифр уникального номера карты
смарт-карта и электронный ключ РИК RIC_[номер] [номер] 8 16-ричных цифр уникального номера карты
электронный ключ eToken HS eToken_HS_[номер] [номер] - 16 16-ричных цифр уникального номера электронного ключа
HDIMAGE не поддерживается не поддерживается
реестр не поддерживается не поддерживается

Вид имени папки (FOLDER) носителя в зависимости от типа носителя:

Тип носителя Вид имени папки Описание
Дискета, HDIMAGE [имя].[NNN] [имя] - 8 первых символов имени контейнера; Для символов от 'a' до 'z', от 'A' до 'Z', от '0' до '9' и символа '-' символы остаются без изменений, для остальных символов происходит замена на символ с ASCII кодом вычисляемым по формуле c%('z'-'a'+1)+'a', где c исходный символ имени контейнера.

[NNN] - порядковый номер контейнера на этом носителе внутри множества совпадающих имен [имя].
Touch-Memory [N] [N] - 16-ричных порядковый номер контейнера на носителе
смарт-карта и электронные ключи не поддерживается не поддерживается
реестр [имя] [имя] - имя контейнера

Список поддерживаемых считывателей и типов носителей может быть изменен.

См. также

CPAcquireContext() ,CPGetProvParam() ,CPSetProvParam() ,CPAcquireContext в MS CSP World Wide Web link ,CPGetProvParam в MS CSP World Wide Web link ,CPSetProvParam в MS CSP World Wide Web link ,CryptAcquireContext в MS CryptoAPI 2.0 World Wide Web link ,CryptGetProvParam в MS CryptoAPI 2.0 World Wide Web link ,CryptSetProvParam в MS CryptoAPI 2.0 World Wide Web link