Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 76 Next »

ВНИМАНИЕ! Примеры использования функций имеются в 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}

Аутентификация по сертификату.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
certIdstring  Идентификатор сертификата
3
saltstring  Аутентификационные данные
4
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
5
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Строка для аутентификации


 cmsDecrypt(deviceId, keyId, cmsData, options, resultCallback, errorCallback) → {string}

Расшифрование данных в формате CMS. Аргумент options принимает параметры расшифрования, пока зарезервирован для будущего использования.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:

 

 NameTypeAttributesDefaultDescription
1deviceIdnumber  Идентификатор устройства
2keyIdstring  Идентификатор ключа для расшифровыания
3cmsDatastring  CMS-сообщение, содержащие зашифрованные данные
4optionsobject  Массив, содержащий параметры расшифрования - объекты вида {параметр:значение} (зарезервирован для будущего использования)
5resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
6errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Расшифрованные данные


cmsEncrypt(deviceId, certId, recipientCert, data, options, resultCallback, errorCallback) → {string}

Шифрование данных в формате CMS. Аргумент options принимает параметры шифрования. Доступны следующие опции (в скобках указано значение по умолчанию):

    • base64:bool (false) - закодированы ли переданные данные в base64
    • useHardwareEncryption:bool (false) - производить шифрование на устройстве

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:

 

 NameTypeAttributesDefaultDescription
1deviceIdnumber  Идентификатор устройства
2certIdstring  Идентификатор сертификата, зарезервированно для будущего использования
3recipientCertstring  Тело сертификата сервера
4datastring  Зашифровываемые данные (текстовая строка или base64-encoded бинарные данные)
5optionsobject  Массив, содержащий параметры шифрования - объекты вида {параметр:значение}
6resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
7errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Зашифрованные данные в формате CMS


createPkcs10(deviceId, keyId, subject, extensions, includeSubjSignTool, resultCallback, errorCallback) → {string}

Формирование самоподписанного PKCS#10 запроса.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
keyIdstring  Идентификатор ключа
3
subjectobject[]  Массив, содержащий объекты вида: {rdn: "commonName", value: "значение"}
4
extensionsobject  Ассоциативный массив, содержащий массивы расширений: {keyUsage: ["digitalSignature",...], extKeyUsage: ["oid", "longName" ]}
5
includeSubjSignToolboolean  Флаг, включать или нет в запрос расширение SubjectSignTool
6
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
7
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

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}

Расшифрование данных.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
keyLabelstring  Метка ключа для шифрования (если такого ключа нет, будет возвращена ошибка)
3
datastring  Расшифровываемые данные
4
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
5
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Расшифрованные данные


deleteCertificate(deviceId, certId, resultCallback, errorCallback)

Удаление сертификата из токена.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
certIdstring  Идентификатор сертификата, полученный в результате вызова enumerateCertificates
3
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
4
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки void

deleteKeyPair(deviceId, keyId, resultCallback, errorCallback)

Удаление ключевой пары

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
keyIdstring  Идентификатор секретного ключа из ключевой пары
3
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
4
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки void

digest(deviceId, hashType, data, options, resultCallback, errorCallback) → {string}

        Вычисление хеш-значения по заданному алгоритму от данных

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1deviceIdnumber  Идентификатор устройства
2hashTypestring  Идентификатор алгоритма хеширования
3datastring  данные для хеширования
4optionsobject  

Массив, содержащий параметры хеширования - объекты вида {параметр:true/false}.

  • useHardwareHash:bool (false) - производить аппаратное хеширование данных 
  • base64:bool (false) - перекодировать ли данные из base64
5resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
6errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки void 
Возвращает:

Хеш-значение в hex


 

encrypt(deviceId, keyLabel, data, resultCallback, errorCallback) → {string}

Шифрование данных.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
keyLabelstring  Метка ключа для шифрования (если такого ключа нет, он будет сгенерирован)
3
datastring  Зашифровываемые данные
4
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
5
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Зашифрованные данные


enumerateCertificates(deviceId, category, resultCallback, errorCallback) → {string}

Получение массива с идентификаторами сертификатов.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
categorynumber  Тип сертификата: "user", "other" или "CA"
3
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
4
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Массив строк с идентификаторами сертификатов


enumerateDevices(resultCallback, errorCallback) → {number[]}

Получение идентификаторов доступных устройств

Параметры:
 NameTypeAttributesDefaultDescription
1
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
2
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Список идентификаторов подключенных устройств


enumerateKeys(deviceId, marker, resultCallback, errorCallback) → {string}

Получение массива с идентификаторами секретных ключей в HEX.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
markerstring  Идентификатор группы ключей, "" - все ключи
3
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
4
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Массив строк с идентификаторами закрытых ключей


generateKeyPair(deviceId, params, marker, options, resultCallback, errorCallback) → {string}

Генерация ключевой пары ГОСТ Р 34.10-2001 на "борту" токена.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
paramsstring  Параметры ключа
3
markerstring  Идентификатор группы ключей
4
optionsobject  

Доступны следующие опции:

  • keyType:enum(KEY_TYPE_COMMON) - тип ключевой пары. Доступные варианты: 
    • KEY_TYPE_COMMON - обычная ключевая пара; 
    • KEY_TYPE_JOURNAL - журнальная ключевая пара (может быть использована только для подписи журнала)

Для ключевой пары типа KEY_TYPE_COMMON так же доступны следующие атрибуты:

  • needPin:bool(false) - если ключевая пара создана на PINPad 2, для каждого ее использования потребуется ввести PIN на устройстве;
  • needConfirm:bool(false) - если ключевая пара создана на PINPad 2, для каждого ее использования потребуется подтверждение на устройстве.
5
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
6
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

ID ключа в HEX


getCertificate(deviceId, certId, resultCallback, errorCallback) → {string}

Получение тела сертификата в PEM.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
certIdstring  Идентификатор сертификата
3
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
4
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Строку, содержащую сертификат в PEM-формате.


 getDeviceInfo(deviceId, option, resultCallback, errorCallback) → {object}

Получение информации об устройстве.

 

Параметры:
 NameTypeAttributesDefaultDescription
1deviceIdnumber  Идентификатор устройства
2optionnumber  

Тип запрашиваемой информации:

  • TOKEN_INFO_MODEL - модель устройства;
  • TOKEN_INFO_READER - название ридера, через который подключено устройство;
  • TOKEN_INFO_LABEL - метка устройства;
  • TOKEN_INFO_DEVICE_TYPE - тип устройства;
  • TOKEN_INFO_SERIAL - серийный номер устройства;
  • TOKEN_INFO_IS_LOGGED_IN - произведена ли авторизация на устройстве;
  • TOKEN_INFO_FORMATS - форматы входных данных, обработка которых доступна на устройстве;
  • TOKEN_INFO_FEATURES - аппаратные возможности устройства.
3resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
4errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Текстовая строка для метки и серийного номера, число для типа устройства.

В случае передачи в качестве параметра 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}

Получение метки устройства

Параметры:
 NameTypeAttributesDefaultDescription
1deviceIdnumber  Идентификатор устройства
2resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
3errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Метка устройства


getDeviceModel(deviceId, resultCallback, errorCallback) → {string}

Получение строки с моделью устройства, понятной для человека. Внимание: возвращаемая строка может меняться в будущем.

 

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
3
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Тип устройства в виде человеко-понятной строки


getDeviceType(deviceId, resultCallback, errorCallback) → {void}

Получение константы, обозначающей тип устройства.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
3
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Тип устройства в виде числовой константы. Возможные типы устройства:

  • 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

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1deviceIdnumber  Идентификатор устройства
2keyIdstring  Идентификатор ключа
3optionsobject  Зарезервировано для будущего использования
4resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
6errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Ассоциативный массив с полями journal и signature


 

getKeyByCertificate(deviceId, certId, resultCallback, errorCallback) → {string}

Получение ключа по сертификату.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
certIdstring  Идентификатор сертификата
3
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
4
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Идентификатор ключа


getKeyLabel(deviceId, keyId, resultCallback, errorCallback) → {string}

Получение метки секретного ключа.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
keyIdstring  Идентификатор ключа
3
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
4
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Метку закрытого ключа



getPublicKeyValue(deviceId, keyId, options, resultCallback, errorCallback) → {string}

Получение значения открытого ключа.

Для выполнения этой функции требуется авторизоваться на устройстве.

 

Параметры:
 NameTypeAttributesDefaultDescription
1deviceIdnumber  Идентификатор устройства
2keyIdstring  Идентификатор ключа
3optionsobject  Массив, содержащий дополнительные параметры - объекты вида {параметр:значение} (зарезервирован для будущего использования)
4resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
5errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Открытый ключ (hex-строка)



importCertificate(deviceId, certificate, category, resultCallback, errorCallback) → {string}

Импорт сертификата на токен.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
certificatestring  Тело сертификата в формате BASE64
3
categorynumber  Тип сертификата: "user", "other" или "CA"
4
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
5
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Идентификатор сертификата


login(deviceId, pin, resultCallback, errorCallback)

Авторизация на устройстве

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
pinstring  PIN-код доступа к устройству
3
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
4
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки void

logout(deviceId, resultCallback, errorCallback)

Закрытие сессии с устройством

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
3
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки void

parseCertificate(deviceId, certId, resultCallback, errorCallback) → {object}

Получение ассоциативного массива с разобранными полями из сертификата.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
certIdstring  Идентификатор сертификата, полученный в результате вызова enumerateCertificates
3
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
4
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Ассоциативный массив объектов


parseCertificateFromString(text, resultCallback, errorCallback) → {object}

Получение ассоциативного массива с разобранными полями из сертификата.

Параметры:
 NameTypeAttributesDefaultDescription
1
textstring  Тело сертификата в BASE64
2
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
3
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Ассоциативный массив объектов


rawSign(deviceId, keyId, data, options, resultCallback, errorCallback) → {string}

Подпись на ключе. Аргумент options принимает параметры подписи.

Параметры:
 NameTypeAttributesDefaultDescription
1deviceIdnumber  Идентификатор устройства
2keyIdstring  Идентификатор ключа
3datastring  Подписываемый хеш (hex-строка) или текстовые данные
4optionsobject  

Массив, содержащий параметры подписи - объекты вида {параметр:true/false}.

Доступны следующие параметры:

  • computeHash:bool (false) - производить хеширование переданных данных
  • useHardwareHash:bool (false) - производить аппаратное хеширование данных (только если computeHash = true)
  • invisible:bool (false) - производить подпись данных в режиме без отображения на PINPad 2 
2resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
3errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

Электронно-цифровая подпись в hex-формате.


 

removePin(deviceId, resultCallback, errorCallback) 

Удаление закешированного PIN-кода из файла.

 

Параметры:
 NameTypeAttributesDefaultDescription
1deviceIdnumber  Идентификатор устройства
2resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
3errorCallbackfunction  Функция обратного вызова для случая возникновения ошибкиboolean

 savePin(deviceId, resultCallback, errorCallback) 

Сохранение PIN-кода в файл для автоматической аутентификации.

 Параметры:

 

 NameTypeAttributesDefaultDescription
1deviceIdnumber  Идентификатор устройства
2resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
3errorCallbackfunction  Функция обратного вызова для случая возникновения ошибкиvoid

 

setKeyLabel(deviceId, keyId, label, resultCallback, errorCallback)

Установка метки секретного ключа.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
keyIdstring  Идентификатор ключа
3
labelstring  Новая метка закрытого ключа
4
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
5
errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки void

sign(deviceId, certId, data, isBase64, object, resultCallback, options) → {string}

Вычисление цифровой подписи.

Для выполнения этой функции требуется авторизоваться на устройстве.

Параметры:
 NameTypeAttributesDefaultDescription
1
deviceIdnumber  Идентификатор устройства
2
certIdstring  Идентификатор сертификата
3
datastring  Подписываемые данные (текстовая строка или base64-encoded бинарные данные)
4
isBase64boolean  Флаг, данные передаются в кодировке base64 или нет
5
object   options Параметры подписи - объект {параметр:true/false} (по умолчанию все значение false) доступны следующие параметры: detached - генерировать отсоединенную подпись addUserCertificate - включить в подпись сертификат пользователя addSignTime - включить в подпись время подписи useHardwareHash - производить хеширование на "борту" токена
6
resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
7
optionsstring[]  undefined
Возвращает:

Электронную подпись в формате CMS в base64


verify (deviceId, cms, options, resultCallback, errorCallback) → {bool}

Проверка цифровой подписи. Аргумент options принимает параметры проверки подписи. Доступны следующие опции (в скобках указано значение по умолчанию):

    • data:string (null) - подписанные данные, только в случае detached подписи;
    • base64:bool (false) - указывает, закодированы ли даные, переданные в data в base64. Будет произведено декодирование данных;
    • certificates:string[] (null) - набор сертификатов, на которых необходимо проверять подпись. При этом сертификаты содержащиеся в cms будут проигнорированы;
    • CA:string[] (null) - список дополнительных корневых сертификатов для проверки сертификата. Кроме них берутся корневые сертификаты с устройства;
    • CRL:string[] (null) - набор списков отзыва сертификатов. Каждый список отзыва в PEM.
    • useHardwareHash:bool (false) - производить хеширование на устройстве;
    • verifyCertificate:bool (true) - проверять ли сертификат пользователя (выстраивать цепочку до корневого);

 

Параметры:
 NameTypeAttributesDefaultDescription
1deviceIdnumber  Идентификатор устройства
2cmsstring  Контейнер с цифровой подписью
3optionsobject  Массив, содержащий параметры проверки подписи - объекты вида {параметр:значение}
4resultCallbackfunction  Функция обратного вызова для случая успешного выполнения
5errorCallbackfunction  Функция обратного вызова для случая возникновения ошибки
Возвращает:

true - подпись верна / false - не верна

  • No labels