ВНИМАНИЕ! Примеры использования функций имеются в SDK Рутокен Плагин. SDK представляет собой набор локальных web-страниц, которые не требуют разворачивания на сервере. SDK доступен для загрузки на странице http://www.rutoken.ru/products/all/rutoken-plugin/ . Так же в нем показана обработка ошибок в плагине.
Способы вызова функций
Интерфейсные функции плагина могут вызываться двумя способами: асинхронно и синхронно. Настоятельно рекомендуется использовать асинхронный интерфейс, поскольку при использовании синхронных вызовов происходит блокирование интерфейса браузера на время выполнения функции.
Асинхронный интерфейс.
Все функции принимают resultCallback и errorCallback двумя последними параметрами и работают асинхронно. Сразу после вызова все функции возвращают управление. Функция вызывает resultCallback в случае успешного выполнения и errorCallback в случае ошибки. resultCallback принимает один параметр - результат выполнения операции. errorCallback - принимает код ошибки первым параметром.
<object type="application/x-rutoken-pki" id="plugin"></object> <script type="text/javascript"> // получение объекта плагина var plugin = document.getElementById("plugin"); if (!plugin.valid) { alert("Couldn't load plugin"); }// использование асинхронного интерфейса plugin.enumerateDevices( function(devices) { console.log(devices); }, function(error) { console.log(error); }); </script>
Cинхронный интерфейс.
Для вызова методов плагина синхронно достаточно не передавать в качестве последних двух параметров функции обратного вызова. На время выполнения метода происходит передача управления плагину, и блокируется пользовательский интерфейс браузера. При успешном завершении функции результат будет возвращен из вызванного метода, в случае ошибки будет создано исключение.
<object type="application/x-rutoken-pki" id="plugin"></object> <script type="text/javascript"> // получение объекта плагина var plugin = document.getElementById("plugin"); if (!plugin.valid) { alert("Couldn't load plugin"); } // использование синхронного интерфейса var devices = Array(); try { devices = plugin.enumerateDevices(); } catch (error) { console.log(error); } </script>
Class: CryptoPlugin
Главный класс плагина. Реализует всю функциональность плагина.
Свойства
errorCodes
Объект с константами ошибок.
errorCodes.UNKNOWN_ERROR: "Неизвестная ошибка";
errorCodes.BAD_PARAMS: "Неправильные параметры";
errorCodes.DEVICE_NOT_FOUND: "Устройство не найдено";
errorCodes.CERTIFICATE_CATEGORY_BAD: "Недопустимый тип сертификата";
errorCodes.CERTIFICATE_EXISTS: "Сертификат уже существует на устройстве";
errorCodes.PKCS11_LOAD_FAILED: "Не удалось загрузить PKCS#11 библиотеку";
errorCodes.NOT_ENOUGH_MEMORY: "Недостаточно памяти";
errorCodes.PIN_LENGTH_INVALID: "Некорректная длина PIN-кода";
errorCodes.PIN_INCORRECT: "Некорректный PIN-код";
errorCodes.PIN_LOCKED: "PIN-код заблокирован";
errorCodes.PIN_CHANGED: "PIN-код был изменен";
errorCodes.SESSION_INVALID: "Состояние токена изменилось";
errorCodes.USER_NOT_LOGGED_IN: "Выполните вход на устройство";
errorCodes.KEY_NOT_FOUND: "Соответствующая сертификату ключевая пара не найдена";
errorCodes.KEY_ID_NOT_UNIQUE: "Идентификатор ключевой пары не уникален";
errorCodes.CERTIFICATE_NOT_FOUND: "Сертификат не найден";
errorCodes.CERTIFICATE_HASH_NOT_UNIQUE: "Хэш сертификата не уникален";
errorCodes.TOKEN_INVALID: "Ошибка чтения/записи устройства. Возможно, устройство было извлечено";
errorCodes.BASE64_DECODE_FAILED: "Ошибка декодирования данных из BASE64";
errorCodes.PEM_ERROR: "Ошибка разбора PEM";
errorCodes.ASN1_ERROR: "Ошибка декодирования ASN1 структуры";
errorCodes.WRONG_KEY_TYPE: "Неправильный тип ключа";
errorCodes.NO_CA_CERTIFICATES_FOUND: "Сертификат УЦ не найден".
valid {bool}
Правильно созданный объект всегда возвращает true
version {string}
Версия плагина в формате 1.2.3.4
Методы
Рутокен Плагин API(deviceId, certId, salt, resultCallback, errorCallback) → {string}
Аутентификация по сертификату.
Для выполнения этой функции требуется авторизоваться на устройстве.
cmsDecrypt(deviceId, keyId, cmsData, options, resultCallback, errorCallback) → {string}
Расшифрование данных в формате CMS.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, certId, recipientCert, data, options, resultCallback, errorCallback) → {string}
Шифрование данных в формате CMS.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, keyId, subject, extensions, includeSubjSignTool, resultCallback, errorCallback) → {string}
Формирование самоподписанного запроса в формате PKCS#10.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, keyLabel, data, resultCallback, errorCallback) → {string}
Расшифрование данных в формате CMS.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, certId, resultCallback, errorCallback)
Удаление сертификата из токена.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, keyId, resultCallback, errorCallback)
Удаление ключевой пары.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, hashType, data, options, resultCallback, errorCallback)
Вычисление хеш-значения по заданному алгоритму от данных.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, keyLabel, data, resultCallback, errorCallback) → {string}
Шифрование данных на симметричном ключе.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, category, resultCallback, errorCallback) → {string[]}
Получение массива с идентификаторами сертификатов.
Рутокен Плагин API(resultCallback, errorCallback) → {number[]}
Получение идентификаторов доступных устройств
Рутокен Плагин API(deviceId, marker, resultCallback, errorCallback) → {string[]}
Получение массива с идентификаторами секретных ключей в HEX .
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, params, marker, specialKey, resultCallback, errorCallback) → {string}
Генерация ключевой пары ГОСТ Р 34.10-2001 на "борту" токена.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, certId, resultCallback, errorCallback) → {string}
Получение тела сертификата в PEM.
Рутокен Плагин API(deviceId, option, resultCallback, errorCallback) → {object}
Получение информации об устройстве.
Рутокен Плагин API(deviceId, resultCallback, errorCallback, deviceId) → {string}
Получение метки устройства
getDeviceModel(deviceId, resultCallback, errorCallback) → {string}
Получение строки с моделью устройства, понятной для человека. Внимание: возвращаемая строка может меняться в будущем.
Рутокен Плагин API(deviceId, resultCallback, errorCallback) → {number}
Получение константы, обозначающей тип устройства.
Рутокен Плагин API(deviceId, keyId, options, resultCallback, errorCallback) → {object}
Получение журнала операций на устройстве и его подписи, сформированной на соответствующем ключе. Если с момента подключения устройства никаких операций не производилось будет возвращен null.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, certId, resultCallback, errorCallback) → {string}
Получение ключа по сертификату.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, keyId, resultCallback, errorCallback) → {string}
Получение метки секретного ключа.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, keyId, options, resultCallback, errorCallback) → {string}
Получение значения открытого ключа.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, certificate, category, resultCallback, errorCallback) → {string}
Импорт сертификата на токен.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, pin, resultCallback, errorCallback)
Авторизация на устройстве.
Рутокен Плагин API(deviceId, resultCallback, errorCallback)
Закрытие сессии с устройством.
Рутокен Плагин API(deviceId, certId, resultCallback, errorCallback) → {object}
Получение ассоциативного массива с разобранными полями из сертификата.
Рутокен Плагин API(text, resultCallback, errorCallback) → {object}
Получение ассоциативного массива с разобранными полями из сертификата.
Рутокен Плагин API(deviceId, keyId, data, options, resultCallback, errorCallback) → {string}
Вычисление "сырой" подписи.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, resultCallback, errorCallback)
Удаление закешированного PIN-кода из файла.
Рутокен Плагин API(deviceId, resultCallback, errorCallback)
Сохранение PIN-кода в файл для автоматической аутентификации.
Рутокен Плагин API(deviceId, keyId, label, resultCallback, errorCallback)
Установка метки секретного ключа.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, certId, data, isBase64, object, resultCallback, options) → {string}
Вычисление цифровой подписи в формате CMS.
Для выполнения этой функции требуется авторизоваться на устройстве.
Рутокен Плагин API(deviceId, cms, options, resultCallback, errorCallback) → {bool}
Проверка цифровой подписи.
Подробнее
authenticate(deviceId, certId, salt, resultCallback, errorCallback) → {string}
Аутентификация по сертификату.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | certId | string | Идентификатор сертификата | ||
3 | salt | string | Аутентификационные данные | ||
4 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
5 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Строка для аутентификации
cmsDecrypt(deviceId, keyId, cmsData, options, resultCallback, errorCallback) → {string}
Расшифрование данных в формате CMS. Аргумент options принимает параметры расшифрования, пока зарезервирован для будущего использования.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | keyId | string | Идентификатор ключа для расшифровыания | ||
3 | cmsData | string | CMS-сообщение, содержащие зашифрованные данные | ||
4 | options | object | Массив, содержащий параметры расшифрования - объекты вида {параметр:значение} (зарезервирован для будущего использования) | ||
5 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
6 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Расшифрованные данные
cmsEncrypt(deviceId, certId, recipientCert, data, options, resultCallback, errorCallback) → {string}
Шифрование данных в формате CMS. Аргумент options принимает параметры шифрования. Доступны следующие опции (в скобках указано значение по умолчанию):
- base64:bool (false) - закодированы ли переданные данные в base64
- useHardwareEncryption:bool (false) - производить шифрование на устройстве
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | certId | string | Идентификатор сертификата, зарезервированно для будущего использования | ||
3 | recipientCert | string | Тело сертификата сервера | ||
4 | data | string | Зашифровываемые данные (текстовая строка или base64-encoded бинарные данные) | ||
5 | options | object | Массив, содержащий параметры шифрования - объекты вида {параметр:значение} | ||
6 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
7 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Зашифрованные данные в формате CMS
createPkcs10(deviceId, keyId, subject, extensions, includeSubjSignTool, resultCallback, errorCallback) → {string}
Формирование самоподписанного PKCS#10 запроса.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | keyId | string | Идентификатор ключа | ||
3 | subject | object[] | Массив, содержащий объекты вида: {rdn: "commonName", value: "значение"} | ||
4 | extensions | object | Ассоциативный массив, содержащий массивы расширений: {keyUsage: ["digitalSignature",...], extKeyUsage: ["oid", "longName" ]} | ||
5 | includeSubjSignTool | boolean | Флаг, включать или нет в запрос расширение SubjectSignTool | ||
6 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
7 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
PKCS#10 запрос
Пример:
* var subject = [ { rdn: "countryName", value: "RU" } ,{ rdn: "stateOrProvinceName", value: "moscow" } ,{ rdn: "localityName", value: "locality" } ,{ rdn: "streetAddress", value: "street" } ,{ rdn: "organizationName", value: "Aktiv" } ,{ rdn: "organizationalUnitName", value: "IT" } ,{ rdn: "title", value: "должность" } ,{ rdn: "commonName", value: "Фамилия Имя Очество" } ,{ rdn: "postalAddress", value: "postal address" } ,{ rdn: "pseudonym", value: "pseudonymus" } ,{ rdn: "surname", value: "surname" } ,{ rdn: "givenName", value: "given name" } ,{ rdn: "emailAddress", value: "example@example.com" } ]; var keyUsageVal = [ "digitalSignature" ,"nonRepudiation" ,"keyEncipherment" ,"dataEncipherment" ,"keyAgreement" ,"keyCertSign" ,"cRLSign" ,"encipherOnly" ,"decipherOnly" ]; var extKeyUsageVal = [ "emailProtection" ,"clientAuth" ,"serverAuth" ,"codeSigning" ,"timeStamping" ,"msCodeInd" ,"msCodeCom" ,"msCTLSign" ,"1.3.6.1.5.5.7.3.9" // OSCP ,"1.2.643.2.2.34.6" // CryptoPro RA user // ,"anyExtendedKeyUsage" ]; var extensions = { "keyUsage": keyUsageVal, "extKeyUsage": extKeyUsageVal }; plugin.createPkcs10(deviceID, keyID, subject, extensions, includeSubjectSignToolExt, this.printResult, this.printError); }
decrypt(deviceId, keyLabel, data, resultCallback, errorCallback) → {string}
Расшифрование данных.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | keyLabel | string | Метка ключа для шифрования (если такого ключа нет, будет возвращена ошибка) | ||
3 | data | string | Расшифровываемые данные | ||
4 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
5 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Расшифрованные данные
deleteCertificate(deviceId, certId, resultCallback, errorCallback)
Удаление сертификата из токена.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | certId | string | Идентификатор сертификата, полученный в результате вызова enumerateCertificates | ||
3 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
4 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки void |
deleteKeyPair(deviceId, keyId, resultCallback, errorCallback)
Удаление ключевой пары
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | keyId | string | Идентификатор секретного ключа из ключевой пары | ||
3 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
4 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки void |
digest(deviceId, hashType, data, options, resultCallback, errorCallback) → {string}
Вычисление хеш-значения по заданному алгоритму от данных
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | hashType | string | Идентификатор алгоритма хеширования | ||
3 | data | string | данные для хеширования | ||
4 | options | object | Массив, содержащий параметры хеширования - объекты вида {параметр:true/false}.
| ||
5 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
6 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки void |
Возвращает:
Хеш-значение в hex
encrypt(deviceId, keyLabel, data, resultCallback, errorCallback) → {string}
Шифрование данных.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | keyLabel | string | Метка ключа для шифрования (если такого ключа нет, он будет сгенерирован) | ||
3 | data | string | Зашифровываемые данные | ||
4 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
5 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Зашифрованные данные
enumerateCertificates(deviceId, category, resultCallback, errorCallback) → {string}
Получение массива с идентификаторами сертификатов.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | category | number | Тип сертификата: "user", "other" или "CA" | ||
3 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
4 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Массив строк с идентификаторами сертификатов
enumerateDevices(resultCallback, errorCallback) → {number[]}
Получение идентификаторов доступных устройств
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
2 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Список идентификаторов подключенных устройств
enumerateKeys(deviceId, marker, resultCallback, errorCallback) → {string}
Получение массива с идентификаторами секретных ключей в HEX.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | marker | string | Идентификатор группы ключей, "" - все ключи | ||
3 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
4 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Массив строк с идентификаторами закрытых ключей
generateKeyPair(deviceId, params, marker, options, resultCallback, errorCallback) → {string}
Генерация ключевой пары ГОСТ Р 34.10-2001 на "борту" токена.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | params | string | Параметры ключа | ||
3 | marker | string | Идентификатор группы ключей | ||
4 | options | object | Доступны следующие опции:
Для ключевой пары типа KEY_TYPE_COMMON так же доступны следующие атрибуты:
| ||
5 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
6 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
ID ключа в HEX
getCertificate(deviceId, certId, resultCallback, errorCallback) → {string}
Получение тела сертификата в PEM.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | certId | string | Идентификатор сертификата | ||
3 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
4 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Строку, содержащую сертификат в PEM-формате.
getDeviceInfo(deviceId, option, resultCallback, errorCallback) → {object}
Получение информации об устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | option | number | Тип запрашиваемой информации:
| ||
3 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
4 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Текстовая строка для метки и серийного номера, число для типа устройства.
В случае передачи в качестве параметра TOKEN_INFO_FORMATS возвращается список форматов, которые поддерживает устройство, в виде массива констант:
- DEVICE_DATA_FORMAT_PLAIN - произвольные данные
- DEVICE_DATA_FORMAT_RAW - неформатированные данные для отображения на PINPad 2
- DEVICE_DATA_FORMAT_PINPAD2 - данные в формате PINPADFILE для отображения на PINPad 2
- DEVICE_DATA_FORMAT_XML - данные в XML формате для отображения на PINPad 2 DEVICE_DATA_FORMAT_SAFETOUCH - данные для отображения на Safetouch
В случае передачи в качестве параметра TOKEN_INFO_FEATURES возвращается ассоциативный массив, определяющий возможности устройства, со следующими полями:
- journal:bool - поддержка журанала операций
- pin2:bool - поддержка ввода PIN2 на устройстве
- visualization:bool - поддержка генерации ключей, требующих визуализации данных на устройстве
В случае передачи в качестве параметра TOKEN_INFO_DEVICE_TYPE возвращает тип устройства в виде числовой константы. Возможные типы устройства:
- TOKEN_TYPE_UNKNOWN - неизвестное устройство;
- TOKEN_TYPE_RUTOKEN_ECP - Рутокен ЭЦП;
- TOKEN_TYPE_RUTOKEN_WEB - Рутокен WEB;
- TOKEN_TYPE_RUTOKEN_PINPAD_2 - Рутокен PINPad;
- TOKEN_TYPE_KAZTOKEN - Казтокен.
getDeviceLabel(deviceId, resultCallback, errorCallback) → {string}
Получение метки устройства
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
3 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Метка устройства
getDeviceModel(deviceId, resultCallback, errorCallback) → {string}
Получение строки с моделью устройства, понятной для человека. Внимание: возвращаемая строка может меняться в будущем.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
3 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Тип устройства в виде человеко-понятной строки
getDeviceType(deviceId, resultCallback, errorCallback) → {void}
Получение константы, обозначающей тип устройства.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
3 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Тип устройства в виде числовой константы. Возможные типы устройства:
- TOKEN_TYPE_UNKNOWN - неизвестное устройство;
- TOKEN_TYPE_RUTOKEN_ECP - Рутокен ЭЦП;
- TOKEN_TYPE_RUTOKEN_WEB - Рутокен WEB;
- TOKEN_TYPE_RUTOKEN_PINPAD_2 - Рутокен PINPad;
- TOKEN_TYPE_KAZTOKEN - Казтокен.
getJournal(deviceId, keyId, options resultCallback, errorCallback) → {object}
Получение журнала операций на устройстве и его подписи, сформированной на соответствующем ключе. Если с момента подключения устройства никаких операций не производилось будет возвращен null
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | keyId | string | Идентификатор ключа | ||
3 | options | object | Зарезервировано для будущего использования | ||
4 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
6 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Ассоциативный массив с полями journal и signature
getKeyByCertificate(deviceId, certId, resultCallback, errorCallback) → {string}
Получение ключа по сертификату.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | certId | string | Идентификатор сертификата | ||
3 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
4 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Идентификатор ключа
getKeyLabel(deviceId, keyId, resultCallback, errorCallback) → {string}
Получение метки секретного ключа.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | keyId | string | Идентификатор ключа | ||
3 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
4 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Метку закрытого ключа
getPublicKeyValue(deviceId, keyId, options, resultCallback, errorCallback) → {string}
Получение значения открытого ключа.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | keyId | string | Идентификатор ключа | ||
3 | options | object | Массив, содержащий дополнительные параметры - объекты вида {параметр:значение} (зарезервирован для будущего использования) | ||
4 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
5 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Открытый ключ (hex-строка)
importCertificate(deviceId, certificate, category, resultCallback, errorCallback) → {string}
Импорт сертификата на токен.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | certificate | string | Тело сертификата в формате BASE64 | ||
3 | category | number | Тип сертификата: "user", "other" или "CA" | ||
4 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
5 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Идентификатор сертификата
login(deviceId, pin, resultCallback, errorCallback)
Авторизация на устройстве
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | pin | string | PIN-код доступа к устройству | ||
3 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
4 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки void |
logout(deviceId, resultCallback, errorCallback)
Закрытие сессии с устройством
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
3 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки void |
parseCertificate(deviceId, certId, resultCallback, errorCallback) → {object}
Получение ассоциативного массива с разобранными полями из сертификата.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | certId | string | Идентификатор сертификата, полученный в результате вызова enumerateCertificates | ||
3 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
4 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Ассоциативный массив объектов
parseCertificateFromString(text, resultCallback, errorCallback) → {object}
Получение ассоциативного массива с разобранными полями из сертификата.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | text | string | Тело сертификата в BASE64 | ||
2 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
3 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Ассоциативный массив объектов
rawSign(deviceId, keyId, data, options, resultCallback, errorCallback) → {string}
Подпись на ключе. Аргумент options принимает параметры подписи.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | keyId | string | Идентификатор ключа | ||
3 | data | string | Подписываемый хеш (hex-строка) или текстовые данные | ||
4 | options | object | Массив, содержащий параметры подписи - объекты вида {параметр:true/false}. Доступны следующие параметры:
| ||
2 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
3 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
Электронно-цифровая подпись в hex-формате.
removePin(deviceId, resultCallback, errorCallback)
Удаление закешированного PIN-кода из файла.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
3 | errorCallback | function | Функция обратного вызова для случая возникновения ошибкиboolean |
savePin(deviceId, resultCallback, errorCallback)
Сохранение PIN-кода в файл для автоматической аутентификации.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
3 | errorCallback | function | Функция обратного вызова для случая возникновения ошибкиvoid |
setKeyLabel(deviceId, keyId, label, resultCallback, errorCallback)
Установка метки секретного ключа.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | keyId | string | Идентификатор ключа | ||
3 | label | string | Новая метка закрытого ключа | ||
4 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
5 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки void |
sign(deviceId, certId, data, isBase64, object, resultCallback, options) → {string}
Вычисление цифровой подписи.
Для выполнения этой функции требуется авторизоваться на устройстве.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | certId | string | Идентификатор сертификата | ||
3 | data | string | Подписываемые данные (текстовая строка или base64-encoded бинарные данные) | ||
4 | isBase64 | boolean | Флаг, данные передаются в кодировке base64 или нет | ||
5 | object | options Параметры подписи - объект {параметр:true/false} (по умолчанию все значение false) доступны следующие параметры: detached - генерировать отсоединенную подпись addUserCertificate - включить в подпись сертификат пользователя addSignTime - включить в подпись время подписи useHardwareHash - производить хеширование на "борту" токена | |||
6 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
7 | options | string[] | undefined |
Возвращает:
Электронную подпись в формате CMS в base64
verify (deviceId, cms, options, resultCallback, errorCallback) → {bool}
Проверка цифровой подписи.
Параметры:
Name | Type | Attributes | Default | Description | |
---|---|---|---|---|---|
1 | deviceId | number | Идентификатор устройства | ||
2 | cms | string | Контейнер с цифровой подписью | ||
3 | options | object | Аргумент options принимает параметры проверки подписи. Доступны следующие опции (в скобках указано значение по умолчанию):
| ||
4 | resultCallback | function | Функция обратного вызова для случая успешного выполнения | ||
5 | errorCallback | function | Функция обратного вызова для случая возникновения ошибки |
Возвращает:
true - подпись верна / false - не верна