КриптоПро CSP  

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

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

Может состоять из следующих частей:

Значение Описание Примеры
MEDIA Тип ключевого носителя. У неизвлекаемых считывателей чаще всего совпадает с именем считывателя.
  • HDIMAGE - папка на жестком диске
  • REGISTRY - реестр Windows
  • CLOUD - облачный токен
  • SCARD - смарт-карты и токены
  • DEFAULT - произвольные устройства, подключаемые скриптами
  • GENERIC - произвольные групповые устройства, подключаемые скриптами, например, флешки на Unix
READER Имя считывателя в данной операционной системе. У неизвлекаемых считывателей чаще всего совпадает с типом носителя. Для смарт-карт и токенов является идентификатором, назначенным службой смарт-карт на основе VID/PID. При подключении двух считывателей с одинаковым именем службы смарт-карт добавляют им циферный идентификатор. Переподключение устройства может привести к изменению этого идентификатора и, следовательно, всего имени. На некоторых операционных системах может включать в себя идентификатор интерфейса и серийный номер.
  • ACS CCID USB Reader 0
  • HDIMAGE
  • Aktiv Rutoken lite 1
  • SafeNet eToken 5100 [Main interface] 00 00
UNIQUE Уникальный идентификатор носителя. Если на считывателе несколько апплетов, у каждого должен быть уникальный апплет. Чаще всего содержит префикс-идентификатор типа устройства и серийный номер.
  • rutoken_ecp_12345678
  • 5837FCFC_VM
  • FLASH_9CC36D5E
  • JACARTA_Crypt_4E43001519295332
CONTAINER Короткое имя контейнера. Должно быть уникальным в пределах считывателя или апплета, если их несколько. При генерации через УЦ чаще всего является случайным GUID-ом.
  • container
  • 437c94f31-177b-78f6-7318-f304e628ad9
  • Афанасий Викторович
FOLDER Имя папки на носителе, в которой находится ключевой контейнер. Не может использоваться при создании ключа. Конкретная папка всегда назначается криптопровайдером. Если носитель поддерживает "длинные имена", совпадает с именем контейнера. Если не поддерживает - формат папки определяется конкретным носителем.
  • testcont.000 - папка на жестком диске: всегда имеет формат [имя].[NNN], где
    • [имя] - 8 первых символов имени контейнера, содержит только [a-z], [A-Z], [0-9] или '-'. Иные символы могут конвертироваться в поддерживаемые файловой системой;
    • [NNN] - порядковый номер контейнера на этом носителе внутри множества совпадающих имен [имя].
  • 0A00 - папка на токене или смарт-карте в соответствии с ISO 7816.
  • very_long_folder_name - папка на носителе с поддержкой "длинных имен" (например в Реестре).
CRC Контрольная сумма от имени контейнера. Используется при открытии контейнера по имени папки для проверки того, что контейнер не изменился. Считается от имени контейнера в нижнем регистре в кодировке UTF-8. Если носитель поддерживает "длинные имена", совпадает с именем контейнера. Если не поддерживает - формат папки определяется конкретным носителем.
  • 91CD
  • 43A5

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

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

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

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

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

Полный список поддерживаемых считывателей и типов носителей можно найти в Формуляре к конкретной версии "КриптоПро CSP"

См. также

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