Представляю вашему вниманию две библиотеки, реализующие практически полный спектр требуемого функционала для организации инфраструктуры PKI: PKIjs и вспомогательную библиотеку ASN1js. Библиотеки свободны доступны и распространяются по лицензии, позволяющей использовать их код без особых ограничений, даже в коммерческих продуктах. Полный код данных библиотек доступен на GitHub: PKIjs + ASN1js.
Дабы привлечь читателей прямо во введении приведу краткий список особенностей вышеупомянутых библиотек:
Дабы привлечь читателей прямо во введении приведу краткий список особенностей вышеупомянутых библиотек:
- Объектно-ориентированный код;
- Работа с HTML5 (ArrayBuffer, Promises, WebCrypto (используется «dev nightly build» Google Chrome));
- Возможность создавать, проверять, получать внутренние данные, изменять данные для следующих объектов:
- Сертификаты X.509
- Списки отзыва (CRL) X.509
- Запросы на сертификат (PKCS#10)
- OCSP запросы;
- Ответы OCSP сервера
- Time-stamping (TSP) запросы
- Ответы TSP сервера
- CMS Signed Data
- CMS Enveloped Data
- Реализация собственной «certificate chain validation engine» на JavaScript;
- … И многое другое! Смотрите под катом!