Развернуть все
Свернуть все

Список методов и свойств обьекта cadesplugin

Название метода или свойства Описание
CreateObject(objname) Cоздает и возвращает обьект типа objname. Доступен в браузерах с поддержкой NPAPI и Internet Explorer.
CreateObjectAsync(objname) Cоздает обьект типа objname и возвращает Promise на созданный обьект. Доступен в браузерах Chrome(Chromium), Opera и Яндекс.Браузер.
async_spawn(function*(){}) Функция принимающая на вход функцию генератор и позволяющая "синхронизировать" асинхронную работу с Promise при использовании совместно с ключевым словом yield.
set_log_level(log_level) Устанавливает уровень ведения логов в log_level. Аргумент может принимать значения cadesplugin.LOG_LEVEL_DEBUG (отладочные, информационные сообщения и ошибки), cadesplugin.LOG_LEVEL_INFO(информационные сообщения и ошибки), cadesplugin.LOG_LEVEL_ERROR(только ошибки).
getLastError(exception) Возвращает строку с описанием ошибки из исключения, порождённого плагином. Для Firefox данный метод является единственным способом получения кода ошибки и её текстового описания от плагина.
JSModuleVersion Возвращает версию JavaScript-модуля.
ReleasePluginObjects() Удаляет объекты, созданные плагином. В случае успеха возвращает true.

Для удобства в объект cadesplugin добавлены свойства, содержащие значения констант, используемых в различных вызовах плагина.

Название свойства Описание
CADESCOM_STRING_TO_UCS2LE = 0x00 Данные будут перекодированы в UCS-2 little endian.
CADESCOM_BASE64_TO_BINARY = 0x01 Данные будут перекодированы из Base64 в бинарный массив.
CAPICOM_LOCAL_MACHINE_STORE = 1 Локальное хранилище компьютера.
CAPICOM_CURRENT_USER_STORE = 2 Хранилище текущего пользователя.
CADESCOM_LOCAL_MACHINE_STORE = 1 Локальное хранилище компьютера.
CADESCOM_CURRENT_USER_STORE = 2 Хранилище текущего пользователя.
CADESCOM_CONTAINER_STORE = 100 Хранилище сертификатов в контейнерах закрытых ключей. В данный Store попадут все сертификаты из контейнеров закрытых ключей которые доступны в системе в момент открытия.
CAPICOM_MY_STORE = "My" Хранилище персональных сертификатов пользователя.
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2 Открывает хранилище на чтение/запись, если пользователь имеет права на чтение/запись. Если прав на запись нет, то хранилище открывается за чтение.
CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED = 0 Вложенная подпись.
CADESCOM_XML_SIGNATURE_TYPE_ENVELOPING = 1 Оборачивающая подпись.
CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE = 2 Подпись по шаблону.
XmlDsigGost3410UrlObsolete = "http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411" Алгоритм подписи для XmlDsig, ГОСТ 2001.
XmlDsigGost3411UrlObsolete = "http://www.w3.org/2001/04/xmldsig-more#gostr3411" Алгоритм хеширования для XmlDsig, ГОСТ 2001.
XmlDsigGost3410Url = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411" Алгоритм подписи для XmlDsig, ГОСТ 2001.
XmlDsigGost3411Url = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411" Алгоритм хеширования для XmlDsig, ГОСТ 2001.
XmlDsigGost3410Url2012256 = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256" Алгоритм подписи для XmlDsig, ГОСТ 2012 (256).
XmlDsigGost3411Url2012256 = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256" Алгоритм хеширования для XmlDsig, ГОСТ 2012 (256).
XmlDsigGost3410Url2012512 = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-512" Алгоритм подписи для XmlDsig, ГОСТ 2012 (512).
XmlDsigGost3411Url2012512 = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-512" Алгоритм хеширования для XmlDsig, ГОСТ 2012 (512).
CADESCOM_CADES_DEFAULT = 0 Тип подписи по умолчанию (CAdES-X Long Type 1).
CADESCOM_CADES_BES = 1 Тип подписи CAdES-BES.
CADESCOM_CADES_T = 0x5 Тип подписи CAdES-T.
CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d Тип подписи CAdES-X Long Type 1.
CADESCOM_PKCS7_TYPE = 0xffff Тип подписи PKCS7.
CADESCOM_ENCODE_BASE64 = 0 Кодировка BASE64.
CADESCOM_ENCODE_BINARY = 1 Бинарные данные.
CADESCOM_XADES_DEFAULT = 0x00000010 Тип подписи по умолчанию (XAdES-X Long Type 1).
CADESCOM_XADES_BES = 0x00000020 Тип подписи XAdES-BES.
CADESCOM_XADES_T = 0x00000050 Тип подписи XAdES-T.
CADESCOM_XADES_X_LONG_TYPE_1 = 0x000005d0 Тип подписи XAdES-X Long Type 1.
CADESCOM_XADES_A = 0x000007d0 Тип подписи XAdES-A.
CADESCOM_XMLDSIG_TYPE = 0 Тип подписи XMLDSIG.
CAPICOM_CERTIFICATE_INCLUDE_CHAIN_EXCEPT_ROOT = 0 Сохраняет все сертификаты цепочки за исключением корневого.
CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN = 1 Сохраняет полную цепочку.
CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME = 0 Возвращает имя наименования сертификата.
CAPICOM_CERT_INFO_ISSUER_SIMPLE_NAME = 1 Возвращает имя издателя сертификата.
CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0 Возвращает сертификаты соответствующие указанному хэшу SHA1.
CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1 Возвращает сертификаты, наименование которого точно или частично совпадает с указанным.
CAPICOM_CERTIFICATE_FIND_ISSUER_NAME = 2 Возвращает сертификаты, наименование издателя которого точно или частично совпадает с указанным.
CAPICOM_CERTIFICATE_FIND_ROOT_NAME = 3 Возвращает сертификаты, у которых наименование корневого точно или частично совпадает с указанным.
CAPICOM_CERTIFICATE_FIND_TEMPLATE_NAME = 4 Возвращает сертификаты, у которых шаблонное имя точно или частично совпадает с указанным.
CAPICOM_CERTIFICATE_FIND_EXTENSION = 5 Возвращает сертификаты, у которых имеется раcширение, совпадающее с указанным.
CAPICOM_CERTIFICATE_FIND_EXTENDED_PROPERTY = 6 Возвращает сертификаты, у которых идентификатор раcширенного свойства совпадает с указанным.
CAPICOM_CERTIFICATE_FIND_CERTIFICATE_POLICY = 8 Возвращает сертификаты, содержащие указанный OID политики.
CAPICOM_CERTIFICATE_FIND_TIME_VALID = 9 Возвращает действующие на текущее время сертификаты.
CAPICOM_CERTIFICATE_FIND_TIME_NOT_YET_VALID = 10 Возвращает сертификаты, время которых невалидно.
CAPICOM_CERTIFICATE_FIND_TIME_EXPIRED = 11 Возвращает просроченные сертификаты.
CAPICOM_CERTIFICATE_FIND_KEY_USAGE = 12 Возвращает сертификаты, содержащие ключи, которые могут быть использованны указанным способом.
CAPICOM_DIGITAL_SIGNATURE_KEY_USAGE = 128 Ключ может быть использован для создания цифровой подписи.
CAPICOM_PROPID_ENHKEY_USAGE = 9 EKU.
CAPICOM_OID_OTHER = 0 Объект не соответствует ни одному из предуставленных типов.
CAPICOM_OID_KEY_USAGE_EXTENSION = 10 Расширение сертификата, содержащее информацию о назначении открытого ключа.
CAPICOM_EKU_OTHER = 0 Сертификат может быть использован для чего-то, что не предустановлено.
CAPICOM_EKU_SERVER_AUTH = 1 Сертификат может быть использован для аутентификации сервера.
CAPICOM_EKU_CLIENT_AUTH = 2 Сертификат может быть использован для аутентификации клиента.
CAPICOM_EKU_CODE_SIGNING = 3 Сертификат может быть использован для создания цифровой подписи.
CAPICOM_EKU_EMAIL_PROTECTION = 4 Сертификат может быть использован для защиты электронной подписи.
CAPICOM_EKU_SMARTCARD_LOGON = 5 Сертификат может быть использован для входа со смарт карты.
CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0 Время подписи. Совпадает с CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME
CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1 Название документа. Совпадает с CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME
CAPICOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION = 2 Описание документа. Совпадает с CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION
CADESCOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME = 0 Время подписи.
CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_NAME = 1 Название документа.
CADESCOM_AUTHENTICATED_ATTRIBUTE_DOCUMENT_DESCRIPTION = 2 Описание документа.
CADESCOM_ATTRIBUTE_OTHER = -1 Прочие атрибуты.
CADESCOM_DISPLAY_DATA_NONE = 0 Данные не будут пересылаться в устройство.
CADESCOM_DISPLAY_DATA_CONTENT = 1 Отображаемые данные лежат в теле сообщения.
CADESCOM_DISPLAY_DATA_ATTRIBUTE = 2 Отображаемые данные лежат в подписанном атрибуте сообщения.
CADESCOM_ENCRYPTION_ALGORITHM_RC2 = 0 Алгоритм RSA RC2.
CADESCOM_ENCRYPTION_ALGORITHM_RC4 = 1 Алгоритм RSA RC4.
CADESCOM_ENCRYPTION_ALGORITHM_DES = 2 Алгоритм DES.
CADESCOM_ENCRYPTION_ALGORITHM_3DES = 3 Алгоритм 3DES.
CADESCOM_ENCRYPTION_ALGORITHM_AES = 4 Алгоритм AES.
CADESCOM_ENCRYPTION_ALGORITHM_GOST_28147_89 = 25 Алгоритм ГОСТ 28147-89.
CADESCOM_HASH_ALGORITHM_SHA1 = 0 Алгоритм SHA1.
CADESCOM_HASH_ALGORITHM_MD2 = 1 Алгоритм MD2.
CADESCOM_HASH_ALGORITHM_MD4 = 2 Алгоритм MD4.
CADESCOM_HASH_ALGORITHM_MD5 = 3 Алгоритм MD5.
CADESCOM_HASH_ALGORITHM_SHA_256 = 4 Алгоритм SHA1 с длиной ключа 256 бит.
CADESCOM_HASH_ALGORITHM_SHA_384 = 5 Алгоритм SHA1 с длиной ключа 384 бита.
CADESCOM_HASH_ALGORITHM_SHA_512 = 6 Алгоритм SHA1 с длиной ключа 512 бит.
CADESCOM_HASH_ALGORITHM_CP_GOST_3411 = 100 Алгоритм ГОСТ Р 34.11-94.
CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256 = 101 Алгоритм ГОСТ Р 34.11-2012.
CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512 = 102 Алгоритм ГОСТ Р 34.11-2012.
CADESCOM_HASH_ALGORITHM_CP_GOST_3411_HMAC = 110 Алгоритм ГОСТ Р 34.11-94 HMAC.
CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256_HMAC = 111 Алгоритм ГОСТ Р 34.11-2012 HMAC.
CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512_HMAC = 112 Алгоритм ГОСТ Р 34.11-2012 HMAC.
LOG_LEVEL_DEBUG = 4 Уровень ведения логов DEBUG.
LOG_LEVEL_INFO = 2 Уровень ведения логов INFO.
LOG_LEVEL_ERROR = 1 Уровень ведения логов ERROR.
CADESCOM_AllowNone = 0x00 Флаг запрета установки недоверенных сертификатов или сертификатов, для которых нет соответствующего запроса.
CADESCOM_AllowNoOutstandingRequest = 0x01 Флаг создания закрытого ключа из ответа на запрос.
CADESCOM_AllowUntrustedCertificate = 0x02 Флаг установки недоверенных сертификатов конечного пользователя и центров сертификации.
CADESCOM_AllowUntrustedRoot = 0x04 Флаг установки сертификата, даже если корневой центр сертификации для него не является доверенным.
CADESCOM_SkipInstallToStore = 0x10000000 Флаг пропуска установки сертификата в хранилище сертификатов.
ENABLE_CARRIER_TYPE_CSP = 0x01 Обычный криптоконтейнер (HDIMAGE, REGISTRY).
ENABLE_CARRIER_TYPE_FKC_NO_SM = 0x02 ФКН без SM.
ENABLE_CARRIER_TYPE_FKC_SM = 0x04 ФКН с SM.
ENABLE_ANY_CARRIER_TYPE = 0x07 ENABLE_CARRIER_TYPE_CSP | ENABLE_CARRIER_TYPE_FKC_NO_SM | ENABLE_CARRIER_TYPE_FKC_SM.
DISABLE_EVERY_CARRIER_OPERATION = 0x00 Запрещенные виды носителей полностью запрещены.
ENABLE_CARRIER_OPEN_ENUM = 0x01 На запрещенных видах носителей можно открывать и перечислять контейнеры.
ENABLE_CARRIER_CREATE = 0x02 На запрещенных видах носителей можно создавать контейнеры.
ENABLE_ANY_OPERATION = 0x03 ENABLE_CARRIER_OPEN_ENUM | ENABLE_CARRIER_CREATE.
MEDIA_TYPE_REGISTRY = 0x00000001 Реестр.
MEDIA_TYPE_HDIMAGE = 0x00000002 Жесткий диск.
MEDIA_TYPE_CLOUD = 0x00000004 Облачный носитель.
MEDIA_TYPE_SCARD = 0x00000008 Смарт-карта или любое другое устройство с интерфейсом смарт-карты.
XCN_CRYPT_STRING_BASE64HEADER = 0 Кодировка base64 с использованием открывающего и закрывающего заголовков сертификата.
AT_KEYEXCHANGE = 1 Использование ключа для подписывания и шифрования.
AT_SIGNATURE = 2 Использование ключа только для подписывания.

Обьект cadesplugin при инициализации может использовать константы у обьекта window.

Название свойства обьекта window Назначение
cadesplugin_load_timeout Таймаут для ожидания загрузки плагина КриптоПро ЭЦП Browser plug-in в мс. По умолчанию 20000.

Перечень вызовов и методов, использование которых при разработке систем на основе ПО «КриптоПро ЭЦП Browser plug-in» версия 2.0, может привести к необходимости дополнительных тематических исследований:

  • использование объекта CPHashedData для вычисления HMAC с помощью вызова метода Hash при выборе пользователем идентификатора алгоритма ключевого хэширования (CADESCOM_HASH_ALGORITHM_CP_GOST_3411_HMAC, CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256_HMAC, CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_512_HMAC)
  • установка значения хеша для объекта CPHashedData с помощью вызова метода SetHashValue
  • вызовы метода SignHash и VerifyHash обьекта RawSignature для создании ЭП
  • вызовы метода CoSignHash, SignHash и VerifyHash обьекта SignedData для создании ЭП
  • использование обьекта SymmetricAlgorithm

В системах, требующих контроля поддерживаемых криптопровайдеров, рекомендуется устанавливать параметр ProviderTypeStrictMode ветки реестра "HKLM\\Software\\Crypto Pro\\CAdES" типа DWORD ("\\config\\CAdES\\ProviderTypeStrictMode" типа long для Unix платформ) в значение 1, предназначенный для проверки соответствия используемого типа криптопровайдера одному из типов криптопровайдера, поддерживаемых СКЗИ «КриптоПро CSP» (PROV_GOST_2001_DH, PROV_GOST_2012_256, PROV_GOST_2012_512).