Class: CryptoPlugin

Navigation

Hiding private elements (toggle)
Showing extended elements (toggle)

Главный класс плагина. Реализует всю функциональность плагина.

Все функции принимают 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");
}
</script>

Резюме

Свойства

errorCodes :boost::weak_ptr< ErrorCodesApi >
Объект с константами ошибок
valid :boolean
Правильно созданный объект всегда возвращает true
version :string
Версия плагина в формате 1.2.3.4

Методы

authenticate(deviceId, certId, salt, resultCallback, errorCallback) → {string}
Аутентификация по сертификату.
cmsEncrypt(deviceId, certId, recipientCert, data, isBase64, object, resultCallback, options) → {string}
Шифрование данных в формате CMS.
createPkcs10(deviceId, keyId, subject, extensions, includeSubjSignTool, resultCallback, errorCallback) → {string}
Формирование самоподписанного PKCS#10 запроса
decrypt(deviceId, keyLabel, data, resultCallback, errorCallback) → {string}
Расшифрование данных.
deleteCertificate(deviceId, certId, resultCallback, errorCallback)
Удаление сертификата из токена.
deleteKeyPair(deviceId, keyId, resultCallback, errorCallback)
Удаление ключевой пары
encrypt(deviceId, keyLabel, data, resultCallback, errorCallback) → {string}
Шифрование данных.
enumerateCertificates(deviceId, category, resultCallback, errorCallback) → {string}
Получение массива с идентификаторами сертификатов.
enumerateDevices(resultCallback, errorCallback) → {number[]}
Получение идентификаторов доступных устройств
enumerateKeys(deviceId, marker, resultCallback, errorCallback) → {string}
Получение массива с идентификаторами секретных ключей в HEX .
generateKeyPair(deviceId, params, marker, specialKey, resultCallback, errorCallback) → {string}
Генерация ключевой пары ГОСТ Р 34.10-2001 на "борту" токена.
getCertificate(deviceId, certId, resultCallback, errorCallback) → {string}
Получение тела сертификата в PEM.
getDeviceLabel(resultCallback, errorCallback, deviceId) → {string}
Получение метки устройства
getDeviceModel(deviceId, resultCallback, errorCallback) → {string}
Получение строки с моделью устройства, понятной для человека. Внимание: возвращаемая строка может меняться в будущем.
getDeviceType(deviceId, resultCallback, errorCallback) → {void}
Получение константы, обозначающей тип устройства.
getKeyByCertificate(deviceId, certId, resultCallback, errorCallback) → {string}
Получение ключа по сертификату.
getKeyLabel(deviceId, keyId, resultCallback, errorCallback) → {string}
Получение метки секретного ключа.
importCertificate(deviceId, certificate, category, resultCallback, errorCallback) → {string}
Импорт сертификата на токен.
isLicensed(deviceId, resultCallback, errorCallback) → {string}
Проверка подлинности лицензии токена.
login(deviceId, pin, resultCallback, errorCallback)
Авторизация на устройстве
logout(deviceId, resultCallback, errorCallback)
Закрытие сессии
parseCertificate(deviceId, certId, resultCallback, errorCallback) → {object}
Получение ассоциативного массива с разобранными полями из сертификата.
parseCertificateFromString(text, resultCallback, errorCallback) → {object}
Получение ассоциативного массива с разобранными полями из сертификата.
setKeyLabel(deviceId, keyId, label, resultCallback, errorCallback)
Установка метки секретного ключа.
sign(deviceId, certId, data, isBase64, object, resultCallback, options) → {string}
Вычисление цифровой подписи.

Подробно

Свойства

errorCodes :boost::weak_ptr< ErrorCodesApi >

Объект с константами ошибок

valid :boolean

Правильно созданный объект всегда возвращает true

version :string

Версия плагина в формате 1.2.3.4

Методы

authenticate(deviceId, certId, salt, resultCallback, errorCallback) → {string}

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

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

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

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

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

Параметры:
Name Type Attributes Default Description
1
deviceIdnumberИдентификатор устройства
2
certIdstringИдентификатор сертификата, зарезервированно для будущего использования
3
recipientCertstringТело сертификата сервера
4
datastringЗашифровываемые данные (текстовая строка или base64-encoded бинарные данные)
5
isBase64booleanФлаг, данные передаются в кодировке base64 или нет
6
objectoptions Параметры подписи - объект {параметр:true/false} (по умолчанию все значение false) доступны следующие параметры: useHardwareEncryption - производить шифрование на токене
7
resultCallbackfunctionФункция обратного вызова для случая успешного выполнения
8
optionsstring[]undefined
Возвращает:

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

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

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

Параметры:
Name Type Attributes Default Description
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}

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

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

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

deleteCertificate(deviceId, certId, resultCallback, errorCallback)

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

Параметры:
Name Type Attributes Default Description
1
deviceIdnumberИдентификатор устройства
2
certIdstringИдентификатор сертификата, полученный в результате вызова enumerateCertificates
3
resultCallbackfunctionФункция обратного вызова для случая успешного выполнения
4
errorCallbackfunctionФункция обратного вызова для случая возникновения ошибки void
deleteKeyPair(deviceId, keyId, resultCallback, errorCallback)

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

Параметры:
Name Type Attributes Default Description
1
deviceIdnumberИдентификатор устройства
2
keyIdstring &Идентификатор секретного ключа из ключевой пары
3
resultCallbackfunctionФункция обратного вызова для случая успешного выполнения
4
errorCallbackfunctionФункция обратного вызова для случая возникновения ошибки void
encrypt(deviceId, keyLabel, data, resultCallback, errorCallback) → {string}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры:
Name Type Attributes Default Description
1
deviceIdnumberИдентификатор устройства
2
paramsstringПараметры ключа
3
markerstringИдентификатор группы ключей
4
specialKeybooleanЗарезервировано для будущего использования, должны быть false
5
resultCallbackfunctionФункция обратного вызова для случая успешного выполнения
6
errorCallbackfunctionФункция обратного вызова для случая возникновения ошибки
Возвращает:

ID ключа в HEX

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

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

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

Описатель сертификата в виде объекта

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

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

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

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

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

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

Внимание: возвращаемая строка может меняться в будущем.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Проверка подлинности лицензии токена.

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

true, если токен лицензирован и false в противном случае

login(deviceId, pin, resultCallback, errorCallback)

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

Параметры:
Name Type Attributes Default Description
1
deviceIdnumberИдентификатор устройства
2
pinstringPIN-код доступа к устройству
3
resultCallbackfunctionФункция обратного вызова для случая успешного выполнения
4
errorCallbackfunctionФункция обратного вызова для случая возникновения ошибки void
logout(deviceId, resultCallback, errorCallback)

Закрытие сессии

Параметры:
Name Type Attributes Default Description
1
deviceIdnumberИдентификатор устройства
2
resultCallbackfunctionФункция обратного вызова для случая успешного выполнения
3
errorCallbackfunctionФункция обратного вызова для случая возникновения ошибки void
parseCertificate(deviceId, certId, resultCallback, errorCallback) → {object}

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

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

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

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

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

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

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

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

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

Параметры:
Name Type Attributes Default Description
1
deviceIdnumberИдентификатор устройства
2
keyIdstringИдентификатор ключа
3
labelstringНовая метка закрытого ключа
4
resultCallbackfunctionФункция обратного вызова для случая успешного выполнения
5
errorCallbackfunctionФункция обратного вызова для случая возникновения ошибки void
sign(deviceId, certId, data, isBase64, object, resultCallback, options) → {string}

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

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

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