NCALayerClient

NCALayerClient

Класс клиента NCALayer.

Constructor

new NCALayerClient(urlopt, allowKmdHttpApiopt)

Description:
  • Конструктор.
Source:
Parameters:
Name Type Attributes Default Description
url String <optional>
'wss://127.0.0.1:13579' опциональный URL для подключения к NCALayer.
allowKmdHttpApi Boolean <optional>
true допустимо ли использовать HTTP API KAZTOKEN mobile/desktop (https://kaztoken.kz/products/kaztoken-desktop/#%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-api-%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D0%BF%D0%BE%D0%B4%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D1%8F-sigex), этот API работает в поточном режиме и позволяет подписывать документы очень больших размеров. На данный момент реализована поддержка этого API только в функции `basicsSignCMS`.

Members

multisignAvailable

Description:
  • Доступна ли функия мультиподписания (подписание нескольких документов одной операцией).
Source:
Доступна ли функия мультиподписания (подписание нескольких документов одной операцией).

(static) basicsCMSParams

Description:
  • Параметры подписания для формирования CMS по умолчанию.
Source:
Параметры подписания для формирования CMS по умолчанию.

(static) basicsCMSParamsAttached

Description:
  • Параметры подписания для формирования CMS с вложенными данными из данных в Base64.
Source:
Параметры подписания для формирования CMS с вложенными данными из данных в Base64.

(static) basicsCMSParamsDetached

Description:
  • Параметры подписания для формирования CMS без вложенных данных из данных в Base64.
Source:
Параметры подписания для формирования CMS без вложенных данных из данных в Base64.

(static) basicsCMSParamsDetachedHash

Description:
  • Параметры подписания для формирования CMS без вложенных данных из хеша данных в Base64.
Source:
Параметры подписания для формирования CMS без вложенных данных из хеша данных в Base64.

(static) basicsSignerAny

Description:
  • Любой сертификат выпущенный боевым УЦ НУЦ.
Source:
Любой сертификат выпущенный боевым УЦ НУЦ.

(static) basicsSignerAuthAny

Description:
  • Любой сертификат для аутентификации выпущенный боевым УЦ НУЦ.
Source:
Любой сертификат для аутентификации выпущенный боевым УЦ НУЦ.

(static) basicsSignerAuthEmployee

Description:
  • Сертификат сотрудника юридического лица для аутентификации выпущенный боевым УЦ НУЦ.
Source:
Сертификат сотрудника юридического лица для аутентификации выпущенный боевым УЦ НУЦ.

(static) basicsSignerAuthHead

Description:
  • Сертификат руководителя юридического лица для аутентификации выпущенный боевым УЦ НУЦ.
Source:
Сертификат руководителя юридического лица для аутентификации выпущенный боевым УЦ НУЦ.

(static) basicsSignerAuthOrg

Description:
  • Сертификат любого сотрудника юридического лица для аутентификации выпущенный боевым УЦ НУЦ.
Source:
Сертификат любого сотрудника юридического лица для аутентификации выпущенный боевым УЦ НУЦ.

(static) basicsSignerAuthPerson

Description:
  • Сертификат физического лица для аутентификации выпущенный боевым УЦ НУЦ.
Source:
Сертификат физического лица для аутентификации выпущенный боевым УЦ НУЦ.

(static) basicsSignerAuthRight

Description:
  • Сертификат лица с правом подписи юридического лица для аутентификации выпущенный боевым УЦ НУЦ.
Source:
Сертификат лица с правом подписи юридического лица для аутентификации выпущенный боевым УЦ НУЦ.

(static) basicsSignerSignAny

Description:
  • Любой сертификат для подписания выпущенный боевым УЦ НУЦ.
Source:
Любой сертификат для подписания выпущенный боевым УЦ НУЦ.

(static) basicsSignerSignEmployee

Description:
  • Сертификат сотрудника юридического лица для подписания выпущенный боевым УЦ НУЦ.
Source:
Сертификат сотрудника юридического лица для подписания выпущенный боевым УЦ НУЦ.

(static) basicsSignerSignHead

Description:
  • Сертификат руководителя юридического лица для подписания выпущенный боевым УЦ НУЦ.
Source:
Сертификат руководителя юридического лица для подписания выпущенный боевым УЦ НУЦ.

(static) basicsSignerSignOrg

Description:
  • Сертификат любого сотрудника юридического лица для подписания выпущенный боевым УЦ НУЦ.
Source:
Сертификат любого сотрудника юридического лица для подписания выпущенный боевым УЦ НУЦ.

(static) basicsSignerSignPerson

Description:
  • Сертификат физического лица для подписания выпущенный боевым УЦ НУЦ.
Source:
Сертификат физического лица для подписания выпущенный боевым УЦ НУЦ.

(static) basicsSignerSignTrusted

Description:
  • Сертификат лица с правом подписи юридического лица для подписания выпущенный боевым УЦ НУЦ.
Source:
Сертификат лица с правом подписи юридического лица для подписания выпущенный боевым УЦ НУЦ.

(static) basicsSignerTestAny

Description:
  • Любой сертификат выпущенный боевым или тестовым УЦ НУЦ.
Source:
Любой сертификат выпущенный боевым или тестовым УЦ НУЦ.

(static) basicsStorageAKey

Description:
  • aKey
Source:
aKey

(static) basicsStorageAll

Description:
  • Любые хранилища.
Source:
Любые хранилища.

(static) basicsStorageEToken5110

Description:
  • eToken 5110
Source:
eToken 5110

(static) basicsStorageEToken72k

Description:
  • eToken 72k
Source:
eToken 72k

(static) basicsStorageHardware

Description:
  • Только аппаратные хранилища.
Source:
Только аппаратные хранилища.

(static) basicsStorageIDCard

Description:
  • Удостоверение личности
Source:
Удостоверение личности

(static) basicsStorageJKS

Description:
  • Файловле хранилище JKS
Source:
Файловле хранилище JKS

(static) basicsStorageJaCarta

Description:
  • JaCarta
Source:
JaCarta

(static) basicsStorageKAZTOKEN

Description:
  • KAZTOKEN
Source:
KAZTOKEN

(static) basicsStoragePKCS12

Description:
  • Файловле хранилище PKCS#12
Source:
Файловле хранилище PKCS#12

(static) basicsXMLParams

Description:
  • Параметры подписания для формирования XML по умолчанию.
Source:
Параметры подписания для формирования XML по умолчанию.

(static) fileStorageType

Description:
  • Константа определяющая имя файлового хранилища.
Source:
Константа определяющая имя файлового хранилища.

Methods

(async) basicsSign(allowedStorages, format, data, signingParams, signerParams, locale) → {Promise.<String>}

Description:
  • Вычислить подпись под данными с указанными параметрами. **Новая функция sign 2022 года из модуля kz.gov.pki.knca.basics (https://github.com/pkigovkz/sdkinfo/wiki/KNCA-Basics-Module)**. Сигнатура функции сложная, поэтому рекомендуем пользоваться функциями помощниками basicsSignXLM и basicsSignCMS.
Source:
Parameters:
Name Type Description
allowedStorages Array | null массив строк с константами допустимых для использования типов хранилищ (см. константы basicsStorage*).
format String тип вычисляемой подписи: 'xml', либо 'cms'.
data String подписываемые данные.
signingParams Object параметры подписания (см. basicsCMSParams* и basicsXMLParams*).
signerParams Object параметры выбора сертификата для подписания (см. константы basicsSigner*).
locale String язык пользовательского интерфейса.
Throws:
NCALayerError
Returns:
подпись.
Type
Promise.<String>

(async) basicsSignCMS(allowedStorages, data, signingParams, signerParams, localeopt) → {Promise.<(String|Array)>}

Description:
  • Вычислить CMS подпись под данными с указанными параметрами, это функция-помощник для упрощения работы с функцией basicsSign. В том случае, если библиотека смогла обнаружить HTTP API KAZTOKEN desktop на локальном компьютере, она будет пробовать использовать его для подписания в том случае, если это не было запрещено при вызове конструктора (параметр `allowKmdHttpApi`).
Source:
Parameters:
Name Type Attributes Default Description
allowedStorages Array | null массив строк с константами допустимых для использования типов хранилищ (см. константы basicsStorage*).
data String | ArrayBuffer | Blob | File | Array.<(String|ArrayBuffer|Blob|File)> данные, которые нужно подписать, в виде строки Base64, либо ArrayBuffer, Blob или File. Так же поддерживается массив строк Base64, ArrayBuffer, Blob или File, но это будет работать только с приложениями KAZTOKEN mobile/desktop, NCALayer не умеет подписывать массив документов.
signingParams Object параметры подписания (см basicsCMSParams*).
signerParams Object параметры выбора сертификата для подписания (см. константы basicsSigner*).
locale String <optional>
'ru' язык пользовательского интерфейса.
Throws:
NCALayerError
Returns:
подпись, либо массив подписей если на подписание был передан массиов документов.
Type
Promise.<(String|Array)>

(async) basicsSignXML(allowedStorages, data, signingParams, signerParams, localeopt) → {Promise.<String>}

Description:
  • Вычислить XML подпись под данными с указанными параметрами, это функция-помощник для упрощения работы с функцией basicsSign.
Source:
Parameters:
Name Type Attributes Default Description
allowedStorages Array | null массив строк с константами допустимых для использования типов хранилищ (см. константы basicsStorage*).
data String подписываемые данные.
signingParams Object параметры подписания (см basicsXMLParams*).
signerParams Object параметры выбора сертификата для подписания (см. константы basicsSigner*).
locale String <optional>
'ru' язык пользовательского интерфейса.
Throws:
NCALayerError
Returns:
подпись.
Type
Promise.<String>

(async) changeLocale(localeId)

Description:
  • Изменить язык интерфейса NCALayer.
Source:
Parameters:
Name Type Description
localeId String новый идентификатор языка.
Throws:
NCALayerError

(async) connect() → {Promise.<String>}

Description:
  • Подключиться к NCALayer.
Source:
Throws:
NCALayerError
Returns:
версию NCALayer.
Type
Promise.<String>

(async) createCAdESFromBase64(storageType, data, keyTypeopt, attachopt) → {Promise.<String>}

Description:
  • Вычислить подпись под данными и сформировать CMS (CAdES).
Source:
Parameters:
Name Type Attributes Default Description
storageType String тип хранилища который следует использовать для подписания.
data String | ArrayBuffer | Blob | File | Array.<(String|ArrayBuffer|Blob|File)> данные, которые нужно подписать, в виде строки Base64, либо ArrayBuffer, Blob или File. Так же поддерживается массив строк Base64, ArrayBuffer, Blob или File, но это будет работать только с приложениями KAZTOKEN mobile/desktop, NCALayer не умеет подписывать массив документов.
keyType String <optional>
'SIGNATURE' каким типом ключа следует подписывать, поддерживаемые варианты 'SIGNATURE' и 'AUTHENTICATION', иное значение позволит пользователю выбрать любой доступный в хранилище ключа.
attach Boolean <optional>
false следует ли включить в подпись подписываемые данные.
Throws:
NCALayerError
Returns:
CMS подпись в виде Base64 строки.
Type
Promise.<String>

(async) createCAdESFromBase64Hash(storageType, hash, keyTypeopt) → {Promise.<String>}

Description:
  • Вычислить подпись под хешем данных и сформировать CMS (CAdES).
Source:
Parameters:
Name Type Attributes Default Description
storageType String тип хранилища который следует использовать для подписания.
hash String | ArrayBuffer | Blob | File | Array.<(String|ArrayBuffer|Blob|File)> хеш данных в виде строки Base64, либо ArrayBuffer, Blob или File. Так же поддерживается массив строк Base64, ArrayBuffer, Blob или File, но это будет работать только с приложениями KAZTOKEN mobile/desktop, NCALayer не умеет подписывать массив хешей.
keyType String <optional>
'SIGNATURE' каким типом ключа следует подписывать, поддерживаемые варианты 'SIGNATURE' и 'AUTHENTICATION', иное значение позволит пользователю выбрать любой доступный в хранилище ключа.
Throws:
NCALayerError
Returns:
CMS подпись в виде Base64 строки.
Type
Promise.<String>

(async) createCMSSignatureFromBase64(storageType, data, keyTypeopt, attachopt) → {Promise.<String>}

Description:
  • Подписать блок данных и сформировать CMS (CAdES) подпись с интегрированной меткой времени TSP. **Не рекомендуется использовать, разработчики NCALayer пометили как DEPRECATED (https://forum.pki.gov.kz/t/podpis-s-metkoj-vremeni-na-js/704/7)!**
Source:
Parameters:
Name Type Attributes Default Description
storageType String тип хранилища который следует использовать для подписания.
data String | ArrayBuffer | Blob | File | Array.<(String|ArrayBuffer|Blob|File)> данные, которые нужно подписать, в виде строки Base64, либо ArrayBuffer, Blob или File. Так же поддерживается массив строк Base64, ArrayBuffer, Blob или File, но это будет работать только с приложениями KAZTOKEN mobile/desktop, NCALayer не умеет подписывать массив документов.
keyType String <optional>
'SIGNATURE' каким типом ключа следует подписывать, поддерживаемые варианты 'SIGNATURE' и 'AUTHENTICATION', иное значение позволит пользователю выбрать любой доступный в хранилище ключа.
attach Boolean <optional>
false следует ли включить в подпись подписываемые данные.
Throws:
NCALayerError
Returns:
CMS подпись в виде Base64 строки.
Type
Promise.<String>

(async) getActiveTokens() → {Promise.<Array.<String>>}

Description:
  • Получить список активных типов устройств.
Source:
Throws:
NCALayerError
Returns:
массив содержащий типы хранилищ экземпляры которых доступны в данный момент.
Type
Promise.<Array.<String>>

(async) getKeyInfo(storageType) → {Promise.<Object>}

Description:
  • Получить информацию об одной записи (ключевой паре с сертификатом).
Source:
Parameters:
Name Type Description
storageType String тип хранилища на экземплярах которого следует искать записи.
Throws:
NCALayerError
Returns:
объект с информацией о записи.
Type
Promise.<Object>

(async) kmdMultisignAvailable() → {Promise.<Boolean>}

Description:
  • Проверить доступность функции мультиподписания через HTTP API KAZTOKEN mobile/desktop.
Source:
Returns:
доступна ли функция.
Type
Promise.<Boolean>

(async) kmdMultisignNext(data) → {Promise.<String>}

Description:
  • Вычислить CMS подпись под данными в рамках процедуры мультиподписания через HTTP API KAZTOKEN mobile/desktop. Можно вызывать только после того как процедура была инициализирована с помощью `StartKmdMultisign` и только для того количества документов, которое было указано при инициализации.
Source:
Parameters:
Name Type Description
data String | ArrayBuffer | Blob | File данные, которые нужно подписать, в виде строки Base64, либо ArrayBuffer, Blob или File.
Throws:
NCALayerError
Returns:
подпись в base64.
Type
Promise.<String>

(async) signXml(storageType, xml, keyTypeopt, tbsElementXPathopt, signatureParentElementXPathopt) → {Promise.<String>}

Description:
  • Вычислить подпись под документом в формате XML.
Source:
Parameters:
Name Type Attributes Default Description
storageType String тип хранилища который следует использовать для подписания.
xml String XML данные которые нужно подписать.
keyType String <optional>
'SIGNATURE' каким типом ключа следует подписывать, поддерживаемые варианты 'SIGNATURE' и 'AUTHENTICATION', иное значение позволит пользователю выбрать любой доступный в хранилище ключа.
tbsElementXPath String <optional>
'' путь к подписываемому узлу XML.
signatureParentElementXPath String <optional>
'' путь к узлу в который необходимо добавить сформированную подпись.
Throws:
NCALayerError
Returns:
XML документ содержащий XMLDSIG подпись.
Type
Promise.<String>

(async) signXmls(storageType, xmls, keyTypeopt, tbsElementXPathopt, signatureParentElementXPathopt) → {Promise.<Array.<String>>}

Description:
  • Вычислить подпись под каждым из массива документов в формате XML.
Source:
Parameters:
Name Type Attributes Default Description
storageType String тип хранилища который следует использовать для подписания.
xmls Array.<String> массив XML данных которые нужно подписать.
keyType String <optional>
'SIGNATURE' каким типом ключа следует подписывать, поддерживаемые варианты 'SIGNATURE' и 'AUTHENTICATION', иное значение позволит пользователю выбрать любой доступный в хранилище ключа.
tbsElementXPath String <optional>
'' путь к подписываемому узлу XML.
signatureParentElementXPath String <optional>
'' путь к узлу в который необходимо добавить сформированную подпись.
Throws:
NCALayerError
Returns:
массив XML документов содержащих XMLDSIG подписи.
Type
Promise.<Array.<String>>

(async) startKmdMultisign(numberOfDocuments, base64, encapsulateContent)

Description:
  • Инициировать процедуру мультиподписания через HTTP API KAZTOKEN mobile/desktop. Не требует предварительного вызова `connect()`.
Source:
Parameters:
Name Type Description
numberOfDocuments Number количество документов которые будут подписаны в рамках процедуры мультиподписания.
base64 Boolean будут ли данные передаваться в base64 или в бинарном виде.
encapsulateContent Boolean следудует ли встраивать подписываемые данные в подписи (не рекомендуется, так как в этом случае требуется значительно больше ОЗУ для обработки).
Throws:
NCALayerError