Кваліфікований Електронний Підпис
Кваліфікований Електронний Підпис, або Кваліфіклована Електронна Печатка --- це набір стандартів криптографічного захисту ДСТУ 4145, та міжнародних стандартів які визначають його конверт: X.501, X.509, X.511, X.520.
Серія міжнародних стандартів X.500, групується по категоріям, кожна з яких має свій перелік ASN.1 файлів. Аби підключити усі визначення необхідні для КЕП використані наступі компоненти стандартів (виділені болдом): X.501 --- BasicAccessControl, InformationFramework, UsefulDefinitions; X.509 --- SpkmGssTokens, PkiPmiExternalDataTypes, AttributeCertificateDefinitions, AlgorithmObjectIdentifiers, AuthenticationFramework, CertificateExtensions; X.511 --- SpkmGssTokens, DirectoryAbstractService, X.520 --- PasswordPolicy, UpperBounds, SelectedAttributeTypes. Можно було би винести необхідні визначення одразу в KEP.asn1, однак цим хотілося підкреслити сумісність з міжнародними стандартами. Окрім серії протоколів X.500, КЕП ще визначає також запити та відповіді OCSP, також у ASN.1 форматі.
На відміну від самого алгоритму КЕП, який визначено ДСТУ 4145, конверти визначаються не стандартами, а наказами міністерства юстиції: Проект наказу Адміністрації Держспецзв'язку та Держкомінфоматизації (2009), Наказ Міністерства юстиції України 1236/5/453. Керуючись цими нормативними документами було створено файл KEP.asn1, який є одним з трьох top-level файлів необхідниї для компіляції ASN.1 компілятором.
Існує небагато безкоштовних та повних компіляторів (генераторів парсерів) ASN.1 специфікацій. Erlang є прикладом системи, до складу якої входить першокласний безкоштовний з відкритою ліценцією ASN.1 компілятор, де файли в ASN.1 нотації можуть бути зкомпільовані безпосередньо Erlang компілятором:
Створити файл підпису PKCS-7 можна за допомогою будь якої програми сертифікованої в Україні. Найпростіше отримати свою КЕП печатку будучи клієнтом ПриватБанку. За допомогою "Користувача ЦСК" компанії ІІТ ви можете підписувати файли використовуючи безкоштовну форму приватного ключа у вигляді звичайного файлу.
Щоб показати як користуватися КЕП, та прочитати атрибутивну інформацію з сертифікату, який вшитий в PCKS-7 повідомлення з криптографічним підписом, покажемо 5 функцій:
У результаті отримуємо наступний високорівневий інтерфейс:
Даний код можна знайти як частину нашої synrc/ca бібліотеки: 🛡️ CA: Certificate Authority — ca.erp.uno