Для активации объектов КриптоПро ЭЦП Browser plug-in следует подключить к странице файл cadesplugin_api.js:
<script language="javascript" src="cadesplugin_api.js"></script>
Скрипт cadesplugin_api.js добавляет в window обьект cadesplugin. В браузерах которые поддерживают работу с обьектами Promise, cadesplugin имеет тип Promise. По окончанию загрузки плагина в браузер состояние обьекта будет изменено в resolved. При возникновении ошибок при загрузке плагина обьект cadesplugin перейдет в состояние rejected. В браузерах, которые не поддерживают работу с типом Promise, необходимо дождаться сообщения с строкой "plugin_loaded" или "plugin_loaded_error".
Пример создания объектов КриптоПро ЭЦП Browser plug-in:
// Создание объектов КриптоПро ЭЦП Browser plug-in var oStore = cadesplugin.CreateObject("CAdESCOM.Store"); var oSigner = cadesplugin.CreateObject("CAdESCOM.CPSigner"); var oPrivateKey = cadesplugin.CreateObject("X509Enrollment.CX509PrivateKey");
Пример кода страницы для работы с плагином:
var canPromise = !!window.Promise; if(canPromise) { cadesplugin.then(function () { // прикладной код }, function(error) { // сообщение об ошибке } ); } else { window.addEventListener("message", function (event){ if (event.data == "cadesplugin_loaded") { // прикладной код } else if(event.data == "cadesplugin_load_error") { // сообщение об ошибке } }, false); window.postMessage("cadesplugin_echo_request", "*"); }
Подробное описание методов и свойств обьекта cadesplugin доступно на странице описания обьекта cadesplugin. Для пробной работы с КриптоПро ЭЦП Browser plug-in доступна демо-страница.
var canAsync = !!cadesplugin.CreateObjectAsync; if(canAsync) { cadesplugin.async_spawn(function *(args) { var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData"); var dataToSign = "dataToSign"; yield oSignedData.propset_Content(dataToSign); }); }else { var oSignedData = cadesplugin.CreateObject("CAdESCOM.CadesSignedData"); var dataToSign = "dataToSign"; oSignedData.Content = dataToSign; }
Замечание
|
---|
Использование Microsoft CertEnroll в Internet Explorer разрешено только на сайтах со схемой доступа https или включенных в зону безопасности Internet Explorer, в которой разрешено выполнение небезопасных ActiveX. |