Архитектура криптографических функций в Windows
Использование криптографических функций прикладном программном обеспечении Microsoft определено интерфейсом CryptoAPI (Microsoft® Cryptographic Application Programming Interface).
Использование функций аутентификации, шифрования и имитозащиты определено интерфейсом SSPI (Security Support Provider Interface).
Как использовать
Криптопровайдер КриптоПро CSP разработан в соответствии с требованиями фирмы Microsoft к функциям, реализующим криптографические алгоритмы - Microsoft Cryptographic Service Provider. Криптопровайдер в своем составе содержит дополнительные модули, обеспечивающие использование российских криптографических алгоритмов в различном прикладном ПО Microsoft. Использование КриптоПро CSP позволяет решить сразу несколько задач:
- для корпоративных пользователей - это возможность использовать стандартные и повсеместно используемые приложения фирмы Microsoft с надежной российской криптографией
- для системных интеграторов - это возможность создания новых, надежно защищенных приложений с использованием богатейшего и проверенного временем инструментария разработки фирмы Microsoft
К стандартным приложениям, которые теперь могут использовать российские алгоритмы электронной цифровой подписи и шифрования, относятся:
- Microsoft CryptoAPI;
- Microsoft CAPICOM;
- Microsoft XML версии 5.0 (MS Office 2003 и MS XML Viewer) и версии 6.0 (MS Visual Studio 2005);
- Microsoft SSPI;
- Microsoft SOAP toolkit;
- ПО Microsoft Certification Authority, входящее в состав ОС Windows Server 2000/2003/2008/2008R2;
- ПО Microsoft Outlook Express, входящее в состав Internet Explorer версии 5.0 и выше;
- ПО Microsoft Outlook, входящее в состав MS Office 2000/XP/2003/2007/2010 (при формировании сообщений в формате S/MIME). При использовании ПО Microsoft Outlook 2000 рекомендуем установить Набор исправлений Office 2000 SR-1a, который позволяет корректно обрабатывать кодировки KOI8 и Win1251 в подписанных сообщениях;
- ПО Microsoft Word/Excel, входящее в состав MS Office 2003/2007/2010 (при формировании ЭЦП документов);
- ПО Microsoft InfoPath входящее в состав MS Office 2003/2007/2010 при формировании ЭЦП XML документов;
- Средства формирования и проверки ЭЦП программного обеспечения, распространяемого по сети (Microsoft Authenticode);
- Защита соединений в Интернете (TLS для HTTPS) от клиентов (Internet Explorer, FireFox) до веб-серверов (IIS, Apache, Tomcat);
- Защита почтовых соединений (TLS для IMAPS/POP3S/SMTPS) MS Exchange, MS Outlook;
- Защита соединений удалённого администрирования при использовании Microsoft Terminal Server или серверов и клиентов Citrix;
Особенности установки ПО Microsoft Certification Authority.
Для встраивания в приложения используются функции Microsoft CryptoAPI, подробное описание которых приведено в программной документации MSDN (Microsoft Developer Network). Использование функций CryptoAPI, MSXML, SSPI, CAPICOM, а также дополнительных средств разработки (Certificate Enrollment Control, Certificate Services) позволяет использовать огромный инструментарий фирмы Microsoft, для реализации различных защищенных систем документооборота и электронной коммерции, с использованием Инфраструктуры Открытых Ключей (PKI), соответствующей международным рекомендациям X.509, RFC 3280. Для этих целей разработчики могут воспользоваться программной документацией, содержащейся в MSDN, а также исходными текстами примеров, поставляемыми с тестовым ПО.
Инструментарий разработчика КриптоПро CSP SDK
КриптоПро CSP может использоваться для встраивания в прикладное программное путем непосредственного вызова функций КриптоПро CSP после загрузки модуля с использованием функции LoadLibrary.
Для этих целей в комплект поставки включается Руководство программиста (csp_2_0.chm, tls_2_0.chm для версии 2.0, CSP_3_0.chm, SSPI_3_0.chm, CAPILite_3_0.chm для версии 3.0), описывающее состав функций и тестовое ПО (sample2_0.zip для версии 2.0 и SDK для версии 3.0).
Руководство программиста и тестовое ПО для версии 3.6 доступны на странице загрузки.
Онлайн-версия руководства программиста для версии 3.6 также доступна на нашем сайте:
Тестовое ПО разработано с использованием компиляторов MS Visual C++ (версия 2.0) и MS Visual Studio .Net (для 3.0).
Для компиляции программ, входящих в тестовое ПО, дополнительно необходимы include файлы и библиотеки, входящие в Microsoft Windows Platform SDK.
В состав тестов входят примеры использования различных криптопровайдеров, входящих в состав Windows, для формирования/проверки электронной цифровой подписи, шифрования/расшифрования сообщений, создания и проверки сертификатов и другие примеры. Примеры используют функции CryptoAPI, подробное описание которых можно получить в MSDN, а также позволяют вызывать функции криптопровайдеров непосредственно на низком уровне.
Вы также можете получить уже скомпилированную тестовую программу csptest2_0.exe для версии 2.0 или SDK для версий 3.0 и выше.
Дополнительные устройства хранения ключевой информации
Если Вы используете дополнительные устройства хранения ключевой информации (кроме дискеты 3.5" и системного реестра) такие как: процессорные карты, таблетки touch-memory, установите дополнительные модули поддержки этих устройств.
Подробная информация о поддерживаемых устройствах и необходимые для их работы модули.
Архитектура криптографических функции Solaris, Linux, FreeBSD
К сожалению, на настоящий момент в операционных системах типа Unix не существует единой системы криптографической защиты. Наиболее широко распространённые интерфейсы mod_ssl, PKCS#11, Netscape, OpenSSL.
При построении систем на основе "КриптоПро CSP" на этих системах разработчики могут использовать:
- CAPILite реализация CrypoAPI 2.0;
- SSPI для TLS;
- Приложение командной строки cryptcp;
- mod_ssl для WEB-серверов Apache;
Предварительная версия PKCS#11 модуля доступна по запросу.










