Препоръки за избор на интерфейс от високо ниво - портал за документация на Rutoken - сървър

СтандартътPKCS #11 е един от семейството стандарти за криптография с публичен ключ (PKCS), разработени от RSA Laboratories, за да осигурят оперативна съвместимост между различни реализации на криптография с публичен ключ.

Стандартът PKCS #11, известен още като Cryptoki (Cryptographic Token Interface Standard), обхваща „криптографски токени“ – устройства, които могат да съдържат криптографска информация и да извършват криптографски трансформации, и дефинира интерфейс за програмиране на приложения (API) за тях. По този начин стандартът описва общ набор от команди за изпълнение на криптографски функции, независимо от конкретната хардуерна реализация на токена и софтуерната среда.

В основата на PKCS #11 е обектно-ориентиран подход, който позволява на стандарта да се разширява през цялото време, за да включва нововъзникващи хардуерни и софтуерни решения. В допълнение, PKCS #11 предоставя на разработчиците възможността да добавят свои собствени дефиниции за онези алгоритми, които все още не са включени в стандарта.

Текстът на стандарта може да бъде намерен подробно на https://www.cryptsoft.com/pkcs11doc/.

  • крос-платформа. PKCS #11 се внедрява лесно на всяка платформа: Windows, Mac OS, Linux, UNIX, Java и др.
  • прост интерфейс за език C;
  • висока степен на абстракция;
  • голямо разпространение сред платформи, различни от Windows;
  • лесна преносимост на софтуера към всяка платформа;
  • поддръжка за управление на множество устройства Rutoken едновременно;
  • поддръжка за едновременно съхранение на ключове, сертификати и обекти с данни на устройството Rutoken;
  • наличието на специална функция за изчакванесвързване/разединяване на токен (C_WaitForSlotEvent).
  • недостатъчна поддръжка на стандарта от операционни системи от семейството на Windows и в резултат на това от приложен софтуер под Windows;
  • липсата на помощни функции за работа със сертификати, в резултат на което анализирането и изучаването на сертификат X.509 може да бъде доста трудна задача. Въпреки това, когато работите в MS Windows, е възможно да използвате функциите на Win32 API дори когато използвате стандарта PKCS #11;
  • липса на функция за избор и управление на крипто доставчици. Тъй като PKCS #11 е API, а не архитектура, ако едно приложение трябва да използва няколко криптографски доставчика, то трябва да определи как да работи с тях.

Microsoft CryptoAPI и API за криптография: следващо поколение