Рекомендации по выбору интерфейса
По мере развития смарткарточных технологий вокруг них смарт-карт было создано множество технологий, которые описывают описывающих правила взаимодействия их различных систем с различными системаминими.
Самые удачные технологии реализовались в международные стандарты ISO или общепризнанные отраслевые стандарты.
Интерфейсы высокого уровня
...
PKCS#11 благодаря своей логичности и относительной простоте получил широкое распространение и в настоящий момент является де-факто индустриальным стандартом для приложений работающих со смарткартамисмарт-картами.
Ответственность за реализацию интерфейса в виде динамически подгружаемой библиотеки лежит на производителях смарт-карт (usb-токенов).
Рекомендуется к использованию при разработке приложений прикладного уровня для различных платформ, в том числе кроссплатформенных приложений, кроме случаев, когда требуется глубокая интеграция приложения в операционные системы Windows.
Достоинства
- Кроссплатформенный Кроссплатформенность (Windows, Mac OS X, Linux, UNIX, Java и т.п)
- Простой интерфейс для языка Си
- Широко распространен Широкая распространенность (кроме Windows)
- Достаточно высокий уровень абстракции
- Легкая портируемость программного обеспечения
...
Microsoft CryptoAPI можно рассматривать как расширение обширного Windows API в части касающейся криптографии и инфраструктуры открытых ключей.
Фукнции Функции предоставляются либо встроенными криптопровайдерами, входящими в состав Windows, либо внешними поставляемыми производителями смарт-карт или usb-токенов.
Microsoft CryptoAPI глубоко интегрирован в операционные системы Windows и другое прикладное программное обеспечение от Microsoft и является стандартом для Windows-платформы.
Рекомендуется к использованию при разработке приложений прикладного уровня для Windows, когда требуется глубокая интеграция приложения в операционную систему и программное обеспечение Microsoft.
Достоинства
- Глубоко интегрирован Глубокая интеграция в Windows и прикладное программное обеспечение
- Достаточно простой интерфейс
- Высокий уровень абстракции
- Легкая портируемость программного обеспечения (в пределах платформы)
...
- Совершенно не используется вне Windows
- установка Установка криптопровайдера требует наличия административных прав в системе
...
Низкоуровневый программный интерфейс описывающий взаимодействие описывает процесс взаимодействия прикладного программного обеспечения и оборудования смарт-карточного оборудованиякарт.
Общение прикладной программы и смарт-карт (usb-токенов) по большей части представляет собой обмен особыми массивами данных в режиме запрос-ответ.
...
Рекомендуется к использованию только для разработчиков встраиваемых систем, при доработке уже существующего программного обеспечения, либо при острой необходимости использования функций, специфичных только для устройств Рутокен.
Достоинства
- КроссплатформенныйКроссплатформенность
- Широко распространёнШирокая распространённость
- Позволяет задействовать специфичный для конкретной модели смарт-карты (usb-токена) фукнционал.
Недостатки
- Крайне сложен в Высокая сложность реализации
- Требует знания большого количества большое количество специфичных для каждого производителя знаний
- Чрезвычайно высокая сложность портирования
...
Рекомендуется к использованию только для разработчиков аппаратных систем (не совместимых с PC).