Подпись и проверка подписи

Описание и примеры представлены в разделе Работа с электронной подписью.

signData

GOST
PRO
signData
Подписать данные.
Возвращает подпись в формате PKCS#7.
Передавать на подпись можно либо данные (аргумент data), либо имя файла (аргумент fileName). Если одновременно передать аргументы data и fileName, то fileName игнорируется.
Работает при состоянии аутентификации выше, чем JCWebClient2.Vars.AuthState.notBinded.
Текущее состояние аутентификации можно получить с помощью команды getLoggedInState.

Примеры в разделе Формирование электронной подписи.

Аргументы:
contID
Тип: Integer
Идентификатор контейнера. Получить можно с помощью writeUserCertificate, generateUserSelfSignedCertificate или getContainerList.

Примечание

Значение идентификатора не постоянно, но в рамках сессии не меняется.

attachedSignature (По-умолчанию: false)
Тип: Boolean
Включать ли данные в подпись PKCS#7 (true - включать).

Примечание

Если установлен в true и подписываются данные из файла (аргумент fileName), то будет сгенерировано исключение.

useHardwareHash (По-умолчанию: false)
Тип: Boolean
Признак использования аппаратного хэширования.
data (Необязательный)
Тип: Array
Данные для подписи в виде массива байт.
fileName (Необязательный)
Тип: String
Имя файла, содержимое которого требуется подписать.

Примечание

Если аргумент data установлен, то fileName игнорируется.

Результат:
Array – массив байт с подписью в формате PKCS#7.

signBase64EncodedData

GOST
PRO
signBase64EncodedData
Подписать данные.
Возвращает подпись в формате PKCS#7, закодированную в Base64.
Передавать на подпись можно либо данные (аргумент data), либо имя файла (аргумент fileName). Если одновременно передать аргументы data и fileName, то fileName игнорируется.
Работает при состоянии аутентификации выше, чем JCWebClient2.Vars.AuthState.notBinded.
Текущее состояние аутентификации можно получить с помощью команды getLoggedInState.

Примеры в разделе Формирование электронной подписи.

Аргументы:
contID
Тип: Integer
Идентификатор контейнера. Получить можно с помощью writeUserCertificate, generateUserSelfSignedCertificate или getContainerList.

Примечание

Значение идентификатора не постоянно, но в рамках сессии не меняется.

attachedSignature (По-умолчанию: false)
Тип: Boolean
Включать ли данные в подпись PKCS#7 (true - включать).

Примечание

Если установлен в true и подписываются данные из файла (аргумент fileName), то будет сгенерировано исключение.

useHardwareHash (По-умолчанию: false)
Тип: Boolean
Признак использования аппаратного хэширования.
data (Необязательный)
Тип: String
Данные для подписи в виде строки, закодированной в Base64.
fileName (Необязательный)
Тип: String
Имя файла, содержимое которого требуется подписать.

Примечание

Если аргумент data установлен, то fileName игнорируется.

Результат:
String – подпись в формате PKCS#7, закодированная в Base64.

signHash

GOST
PRO
signHash
Подписать данные без хэширования (т.е. подписать хэш).
Возвращает подпись в формате PKCS#7.
Работает при состоянии аутентификации выше, чем JCWebClient2.Vars.AuthState.notBinded.
Текущее состояние аутентификации можно получить с помощью команды getLoggedInState.
Аргументы:
contID
Тип: Integer
Идентификатор контейнера. Получить можно с помощью writeUserCertificate, generateUserSelfSignedCertificate или getContainerList.

Примечание

Значение идентификатора не постоянно, но в рамках сессии не меняется.

hash
Тип: Array
Хэш в виде массива байт.

Примечание

Длина должна быть равна:

  • GOST – 32 байта.
  • PRO – 20 байт.
base64Encoded (По-умолчанию: true)
Тип: Boolean
Признак кодирования результата в Base64 (true - вернуть строку с подписью в формате PKCS#7, закодированную в Base64).
Результат:
Если аргумент base64Encoded был равен true:
String – строка с подписью в формате PKCS#7, закодированная в Base64.
Если аргумент base64Encoded был равен false:
Array – массив байт с подписью в формате PKCS#7

signDataInByte

signDataInByte
Подписать данные.
Возвращает подпись в виде массива байт.
Результат:
Array – массив байт с подписью.

signHashInByte

GOST
PRO
signHashInByte

Подписать данные без хэширования (т.е. подписать хэш).

Работает при состоянии аутентификации выше, чем JCWebClient2.Vars.AuthState.notBinded.
Текущее состояние аутентификации можно получить с помощью команды getLoggedInState.
Аргументы:
contID
Тип: Integer
Идентификатор контейнера. Получить можно с помощью writeUserCertificate, generateUserSelfSignedCertificate или getContainerList.

Примечание

Значение идентификатора не постоянно, но в рамках сессии не меняется.

hash
Тип: Array
Данные для подписи в виде массива байт.

Примечание

Длина должна быть равна:

  • GOST – 32 байта.
  • PRO – 20 байт.
Результат:
Array – массив байт с подписью.

verifyData

verifyData

Проверить подпись PKCS#7.

Примеры в разделе Проверка электронной подписи.

Результат:
Boolean – результат проверки.

verifyBase64EncodedData

verifyBase64EncodedData

Проверить подпись PKCS#7 с данными и подписью, закодированными в Base64.

Примеры в разделе Проверка электронной подписи.

Результат:
Boolean – результат проверки.

verifyDataInByte

verifyDataInByte

Проверить подпись в виде массива байт.

Результат:
Boolean – результат проверки.

verifyHashInByte

GOST
PRO
verifyHashInByte

Проверить подпись хэша в виде массива байт.

Работает при любом состоянии аутентификации.
Аргументы:
signature
Тип: Array
Массив байт с подписью.
hash
Тип: Array
Хэш данных в виде массива байт.

Примечание

Длина должна быть равна:

  • GOST – 32 байта.
  • PRO – 20 байт.
publicKey
Тип: Array
Массив байт с публичным ключем.
Результат:
Boolean – результат проверки.

digest

GOST
PRO
digest

Посчитать хэш от данных.

Если указан аргумент tokenID, то работает при любом состоянии аутентификации, в противном случае - выше, чем JCWebClient2.Vars.AuthState.notBinded.
Текущее состояние аутентификации можно получить с помощью команды getLoggedInState.

Примечание

Алгоритм вычисления хэш-функции:

  • GOSTGOST R 34.11-94;
  • PROSHA-1.
Аргументы:
data
Тип: Array
Массив байт с данными для хэширования.
useHardwareHash (По-умолчанию: false)
Тип: Boolean
Признак использования аппаратного хэширования.
tokenID (Необязательный)
Тип: Integer
Идентификатор токена. Получается с помощью команды getAllSlots.

Примечание

Значение идентификатора не постоянно, но в рамках сессии не меняется.

Результат:
Array – результаты работы хэш-функции.

Оглавление