API Библиотеки — это гибкий, мощный и современный интерфейс. Он разделен на несколько функциональных уровней: основные части API — ctBaseLib, ctMsgLib и ctCertStoreLib.
Составляющие библиотеки:
Каждая часть Библиотеки разработчика представляет уровень процедур защиты информации:
Таблица 12.1.
Библиотека | Описание |
---|---|
ctBaseLib | Защита информации от несанкционированного доступа низкого уровня, управление секретными ключами. |
ctMsgLib | Работа с высокоуровневыми сообщениями и пользовательскими сертификатами. |
ctCertStoreLib | Обеспечивает унифицированный интерфейс для хранения сертификатов в долгосрочных хранилищах различных типов. |
Функции ctBaseLib используют для генерации секретных ключей в контейнеры секретных ключей. Также они могут быть использованы для реализации процедур защиты информации от несанкционированного доступа (таких, как кодирование или подписание) вместо высокоуровневых функций (например, для кодирования записей баз данных), или когда не требуется обмена открытыми ключами и определения отправителя или получателя.
CtMsgLib поддерживает управление пользовательскими сертификатами и высокоуровневыми сообщениями. Сертификат — это подписанный объект, содержащий открытый ключ пользователя, его имя и другие параметры. Он используется для передачи открытых ключей. Сообщение — это конверт стандартного формата, содержащий обработанные данные и другую информацию, зависящую от типа сообщения, которая может включать параметры алгоритма и данные, необходимые для того, чтобы открыть сообщение. Функции этой библиотеки можно использовать для обработки файлов неограниченного размера.
Функции ctCertStoreLib используют для хранения сертификатов. Объекты-сертификаты могут храниться в хранилищах, расположенных на различного типа физических хранилищах (локальная или удалённая файловая система, база данных, LDAP или любое пользовательское устройство хранения). Отдельные модули — провайдеры физических хранилищ (Physical Store Providers — PSP) — управляют хранилищами определённых типов. Не следует обращаться к PSP напрямую, нужно только прикрепить (зарегистрировать) PSP к ctCertStoreLib и затем использовать унифицированный интерфейс для работы с различными хранилищами сертификатов. “ЛАН Крипто” распространяет PSP для файловых хранилищ (PSPFile), баз данных через ADO (PSPADO), LDAP-хранилищ сертификатов (PSPLDAP); любой может написать собственный PSP для использования в ctCertStoreLib.
Модель программирования Библиотеки:
Разнообразные объекты защиты информации от несанкционированного доступа (контейнеры секретных ключей, ключи, сертификаты, сообщения, хранилища и т.п.) представляются в Библиотеке с помощью контекстов. Контекст включает в себя данные, относящиеся к объекту, и с его помощью производится управление этими данными. Приложения могут осуществлять доступ к объектам по их описателям контекстов. В целом использование объекта защиты информации включает следующие шаги:
открываем контекст объекта, получая его описательную часть;
получаем или устанавливаем свойства объекта, выполняем некоторые операции с объектом, передавая его описательную часть контекста процедурам защиты информации;
закрываем контекст объекта, делая недействительным его описательную часть.