...
Note |
---|
Важно помнить, что выбор API должен осуществляться разработчиком в каждом конкретном случае отдельно в зависимости от предъявляемых требований. |
Стандарт PKCS #11
Стандарт PKCS #11 является одним из семейства стандартов криптографии с открытым ключом (PKCS, Public-Key Cryptography Standard), разработанных RSA Laboratories для обеспечения совместимости различных реализаций криптографии с открытым ключом.
...
В основе PKCS #11 лежит объектно-ориентированный подход, который позволяет стандарту все время расширяться, включая в себя вновь появляющиеся как аппаратные, так и программные решения. Кроме того, PKCS #11 предоставляет разработчикам возможность добавлять свои определения для тех алгоритмов, которые еще не вошли в стандарт.
Более подробно Подробно с текстом стандарта можно ознакомиться на странице httphttps://www.rsacryptsoft.com/rsalabspkcs11doc/node.asp?id=2133 ..
Column |
---|
|
Panel |
---|
borderColor | #669966 |
---|
bgColor | #CCFFCC |
---|
title | (+) Достоинства PKCS #11 |
---|
| - кроссплатформенность. PKCS #11 легко реализуется на любых платформах: Windows, Mac OS, Linux, UNIX, Java и т.п.
- простой интерфейс для языка C;
- высокая степень абстракции;
- высокая распространенность среди не-Windows платформ;
- легкая портируемость программного обеспечения на любые платформы;
- поддержка управления несколькими устройствами Рутокен одновременно;
- поддержка одновременного хранения на устройстве Рутокен ключей, сертификатов и объектов данных;
- наличие специальной функции ожидания подключения/отключения токена (C_WaitForSlotEvent).
|
|
Column |
---|
|
Panel |
---|
borderColor | #FF6666 |
---|
bgColor | #FFCCCC |
---|
title | (-) Недостатки PKCS #11 |
---|
| - недостаточная поддержка стандарта операционными системами семейства Windows и, как следствие, прикладным программным обеспечением под Windows;
- отсутствие вспомогательных функций для работы с сертификатами, в результате чего разбор и изучение сертификата формата X.509 может оказаться достаточно сложной задачей. Однако при работе в MS Windows возможно использование функций Win32 API даже при использовании стандарта PKCS #11
| (см. пример ССЫЛКА)- ;
- отсутствие функции выбора и управления криптопровайдерами. Так как PKCS #11 представляет собой API, а не архитектуру, в случае, если приложению необходимо использовать несколько криптопровайдеров, то оно само должно определять, как с ними работать.
|
|
Microsoft CryptoAPI иCryptography API: Next Generation
Microsoft CryptoAPI (MS CAPI) представляет собой интерфейс прикладного программирования, разработанный корпорацией Microsoft для обеспечения криптографическими функциями разработчиков Windows-приложений и входящий в состав операционных систем Windows. Криптографические алгоритмы реализуются криптопровайдером – независимым модулем, содержащим библиотеку криптографических функций со стандартизованным интерфейсом, а CryptoAPI лишь предоставляет унифицированный интерфейс работы с криптопровайдером. Подобная архитектура позволяет переходить от одного провайдера к другому с минимальными изменениями исходного кода, так как интерфейс (т. е. сами функции) не меняется. Подробная информация o CryptoAPI доступна по ссылкам http://technet.microsoft.com/en-us/library/cc962093.aspx и https://msdn.microsoft.com/en-us/library/windows/desktop/aa380255(v=vs.85).aspx.
Начиная с Windows Vista, Microsoft предлагает новый интерфейс Cryptography API: Next Generation (CNG), предназначенный для замены устаревшего интерфейса CryptoAPI. Служба CNG предоставляет набор интерфейсов API для выполнения основных криптографических операций и благодаря своей модульной архитектуре позволяет создавать, обновлять и использовать собственные алгоритмы шифрования в таких приложениях и технологиях, как служба сертификации Active Directory, технологии SSL и IPsec. CNG поддерживает все алгоритмы, предоставляемые CryptoAPI, а также новые алгоритмы, включая алгоритмы шифрования, цифровых подписей, обмена ключами и хеширования, в том числе и алгоритмы на основе эллиптических кривых (ECC). Интерфейс CNG является гораздо более гибким, тем самым обеспечивая разработчикам больший контроль над способом выполнения криптографических операций и совместной работой алгоритмов при выполнении различных операций.Более подробная Подробная информация o CryptoAPI CNG доступна на сайте MSDN Library по ссылке httpпо ссылкe https://technetmsdn.microsoft.com/en-us/library/cc962093.aspx./windows/desktop/aa376210(v=vs.85).aspx
Column |
---|
|
Panel |
---|
borderColor | #669966 |
---|
bgColor | #CCFFCC |
---|
title | (+) Достоинства CryptoAPI |
---|
| - глубокая интеграция в Windows и прикладное программное обеспечение под Windows;
- простой интерфейс;
- более высокий уровень абстракции по сравнению с PKCS #11;
- легкая портируемость программного обеспечения в пределах ОС Windows;
- автоматический доступ к любому установленному криптопровайдеру.
|
|
Column |
---|
|
Panel |
---|
borderColor | #FF6666 |
---|
bgColor | #FFCCCC |
---|
title | (-) Недостатки CryptoAPI |
---|
| - невозможность использования в ОС, отличных от Windows;
- отсутствие возможности управления несколькими устройствами Рутокен одновременно. Так как в CryptoAPI нет понятия физического устройства, то для одновременного использования нескольких устройств Рутокен на одном и том же компьютере потребуется использование особой техники
| , описанной в разделе ССЫЛКА- ;
- отсутствие специальной функции ожидания подключения/отключения токена (реализация возможна через Win32 API);
- невозможность хранения объектов данных вместе с RSA ключами и сертификатами на устройстве Рутокен;
- установка криптопровайдера требует наличия прав администратора в ОС.
|
|