Кроссплатформенная высокоуровневая библиотека NSSCryptoWrapperБиблиотека NSSCryptoWrapper, созданная на базе библиотеки LSNSS, обеспечивает работу с сертификатами с учетом требований Федерального закона от 6 апреля 2011 г. № 63-ФЗ «Об электронной подписи»и предназначена для использования в системах защищенного документооборота. Это одна из библиотек, которая может использоваться в криптоплагине LCSignPlugin. Библиотека является платформонезависимой и функционирует на различных операционных системах (MS Windows, Linux, OS X, Android и др.). Библиотека позволяет работать с электронной подписью (ЭП) как по ГОСТ Р 34.10-2001, так и по ГОСТ Р 34.10-2012. В качестве средств криптографической защиты информации (СКЗИ) в библиотеке используются программные, программно-аппаратные и аппаратные токены с интерфейсом PKCS#11 и расширением данного стандарта с поддержкой российских криптографических алгоритмов («Расширение стандарта PKCS#11 для российских криптографических алгоритмов»). Библиотека имеет интуитивно понятный высокоуровневый интерфейс полностью идентичный библиотеке LirCryptoWrapper, где входными и выходными параметрами являются строки и/или массивы строк: typedef struct { При
вызове функций cw_rv_t
(*CW_CreateCertificateRequestFile)(char *token, char *subject, char *keyusage,
int keyparams, char *outfile, int pem)
и cw_rv_t
(*CW_CreateCertificateRequestBuffer)(char *token, char *subject, char
*keyusage, int keyparams, unsigned char **outbuf, unsigned int *outlen,
int pem) параметр keyparams
определяет тип ключевой пары (ГОСТ Р 34.10-2001 или ГОСТ Р 34.10-2012),
длину ключа (256 или 512), параметры ключевой пары (A,B,C,XA,XB для
ГОСТ Р 34.10-2001 и ГОСТ Р 34.10-2012 с длиной ключа 256 бит, параметры A
или B для ГОСТ Р 34.10-2012 с длиной ключа 512 бит) и возможность
экспорта закрытого ключа. Тип ключа задается следующим образом: #define key_2001 0x0000 /*Генерация ключевой пары по ГОСТ Р 34.10-2001 */ #define key_2012_256 0x2000 /*Генерация ключевой пары по ГОСТ Р 34.10-2012 с длиной ключа 256 бит */ #define key_2012_512 0x4000 /*Генерация ключевой пары по ГОСТ Р 34.10-2012 с длиной ключа 512 бит */ Параметры ключевой пары задаются следующим образом: #define param_A 0x00 #define param_B 0x01 #define param_C 0x02 Экспортируемость закрытого ключа задается следующим образом: #define key_not_exportable0x8000 #define key_exportable0x0000 Например, при задании keyparams=0xC0001 (key_not_exportable | key_2012_512 | param_B) будет сгенерирована ключевая пара по ГОСТ Р 34.10-2012 с длиной ключа 512 бит с параметрами B и невозможностью экспорта закрытого ключа. Подробное описание библиотеки входит в комплект разработчика (SDK). Получить (заказать) библиотеку NSSCryptoWrapper можно здесь. Метки: NSSCryptoWrapper.
|
© 2002-2018. ООО "ЛИССИ-Софт". Все права защищены Телефон: +7(495) 589-99-53 Техническая поддержка: +7(499) 110-90-40 E-mail: [email protected] |