Речь идет о КриптоПро ЭЦП Browser plug-in.
Разрабатывается универсальная js-библиотека по работе с криптографией на основе CAdES, CAPICOM, WebCryptoAPI.
Необходимо в момент инициализации провести ряд тестов, дабы определить доступные возможности. По философии библиотеки modernizr.
Например: возможность подписи файлов (FileAPI), работа с алгоритмами ГОСТ, поддержка усовершенствованных подписей, поддержка браузеров Gecko.
Выдержка из документации:
Для создания сообщения с усовершенствованной подписью, должны быть выполнены следующие условия:
...
- Должны быть установлены лицензии на КриптоПро TSP Client и КриптоПро OCSP Client.
...
Вопрос № 1.
Есть ли способ проверки: имеются ли такие лицензии (сам факт их наличия) - посредством javascript?
Я рассчитывал, что такую информацию предоставит CAdESCOM.About. Но увы.
Единственное, что сейчас приходит на ум: сделать пробную подпись и, т.к. вызов CadesSignedData.Sign вызовет исключение, по номеру ошибки определить сей файт. Но такую возможность я еще не тестировал.
В любом случае, проблема такого подхода в том, что выполнить это в момент инициализации библиотеки не получится. Ну т.е. получится, но нам придется явно просить пользователя выбрать сертификат и "вставить ключ".
Вопрос № 2.
У пользователя на машине может отсутствовать любая из лицензий на CSP/TSP/OCSP, но при этом такая лицензия может быть прописана в сертификате ключа. Я правильно понимаю?
Как через javascript определить, что такая лицензия есть? Правильно ли я понимаю, что мне необходимо проверять наличие OUID: 1.2.643.2.2.49.2!6 среди атрибутов сертификата?
Достаточно ли этого?
Кажется я прав, здесь это обсуждается:
http://www.cryptopro.ru/...ts&m=42832#post42832
Вопрос № 3.
Как определить, что у пользователя квалифицированная ЭЦП. Подозреваю, что нужно читать Attribute/CPAttibute, KeyUsage/ExtendedKeyUsage.
Здесь:
http://base.garant.ru/70133464/ очень хорошо расписано. Но у меня вопросы остались. Если у вас есть хорошой пример - буду благодарен.
Сориентируейте меня плиз, где взять доку, где описана разница между CADESCOM_CADES_BES, CADESCOM_CADES_DEFAULT и CADESCOM_CADES_X_LONG_TYPE_1.
В каких ситуациях какие стоит использовать?
Отредактировано пользователем 24 сентября 2014 г. 8:38:26(UTC)
| Причина: Не указана