Почти год назад я [рассказал][1] о новых библиотеках [PKIjs][2] и [ASN1js][3]. Пришло время рассказать о развитии этих библиотек. Для ASN1js за это время были сделаны в основном «косметические» изменения. Из существенных изменений можно заметить только возможность конвертации любых объектов ASN.1 в JSON формат. А вот с PKIjs произошли более существенные перемены. Итак, текущие основные особенности PKIjs:
* Полная поддержка [Web Cryptography API][4];
* Ограниченная возможность использования как в iPhone (через использование Safari), так и в Android приложениях (Google Chrome);
* Расширилось [количество примеров][5]. В частности, добавились примеры использования PKIjs для проверки подписей в PDF файлах и для проверки подписей в S/MIME;
* Использование всех алгоритмов подписи из Web Cryptography API:
* RSASSA-PKCS1-v1\_5 (PKCS#1 v1.5);
* RSA-PSS (PKCS#1 v2);
* ECDSA (подпись на ECC, Elliptic Curve Cryptography);
* Первая реализация «certificate chain verification engine» (верификация цепочки сертификатов) на чистом JavaScript и проходящая основные тесты NIST;
* Первая и пока единственная реализация [«Suite B»][6] для подписи и шифрования данных в виде CMS (Cryptographic Message Syntax) в «open-source» на чистом JavaScript;
* Подпись CMS с помощью ECDSA;
* Шифрование с применением схем «ephemeral-static» ECDH;
* Использование AES-CBC и AES-GCM;
* Использование расширенного списка алгоритмов хеширования: от SHA-1 до SHA-512;
* Возможность создания зашифрованных сообщений на основе использования пароля с использованием алгоритмов серии AES;
[Читать дальше →][7]
[1]:
http://habrahabr.ru/post/221857/
[2]:
https://github.com/GlobalSign/PKI.js
[3]:
https://github.com/GlobalSign/ASN1.js
[4]:
http://www.w3.org/TR/WebCryptoAPI/
[5]:
https://github.com/GlobalSign/PKI.js/tree/master/examples
[6]:
https://www.nsa.gov/ia/programs/suiteb_cryptography/
[7]:
http://habrahabr.ru/post/255565/#habracut