GOST 2

PKI

genCSR

Создать запрос на сертификат.

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

Примеры в разделах:

Аргументы:


id
ТипInteger
Идентификатор. Получается с помощью команд createKeyPair, getKeyPairList, deleteUserCertificate, writeUserCertificate, generateUserSelfSignedCertificate, getContainerList.

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


dn
ТипPlainObject

Объект, содержащий элементы ключ-значение. В качестве ключа задаются элементы типа String, а в качестве значения:

  • String
  • массив из String, если необходимо установить несколько значений - значения будут объеденены через запятую

(см. Генерация запроса на квалифицированный сертификат).


exts
ТипPlainObject
Расширения для включения в запрос. Формат аналогичен dn.

Для добавления нескольких расширений с одинаковым ключом, в качестве значения ключа можно использовать:

  • PlainObject с полем "multi", содержащим массив из String

customSignedAttributes
ТипPlainObject
Атрибуты для включения в запрос.


useHardwareHash (По умолчанию: false)
ТипBoolean
Признак использования аппаратного хэширования.

Результат:


Array – запрос на сертификат в формате PKCS#10.

GOST 2

PKI

createCertificateRenewal

Создать запрос на переиздание сертификата.

Работает при состоянии аутентификации выше, чем JCWebClient2.Vars.AuthState.notBinded.

Текущее состояние аутентификации можно получить с помощью команды getLoggedInState.

Аргументы:


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

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


newID
Тип: Integer
Новый идентификатор. Получается с помощью команд createKeyPair, getKeyPairList, deleteUserCertificate, writeUserCertificate, generateUserSelfSignedCertificate, getContainerList.

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

Результат:


Array – запрос на переиздание сертификата в формате CMC.

GOST 2

PKI

getCertificateBody

Получить значение сертификата.

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

Аргументы:


id
Тип: Integer
Идентификатор. Получить можно с помощью writeStandaloneCertificate, getStandaloneCertificateList, writeUserCertificate, generateUserSelfSignedCertificate или getContainerList.

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


tokenID (Необязательный)
Тип: Integer
Идентификатор токена. Получается с помощью команды getAllSlots.

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

Результат:


Array – массив байт со значением сертификата в формате DER.

parseX509Certificate

Получить значения полей сертификата.
Тело сертификата либо передается в аргумент cert, либо берется с токена при помощи аргументов tokenID и id.

Работает при любом состоянии аутентификации.

Аргументы:


cert (Необязательный)
ТипArray | String
Значение сертификата в формате X509 (может быть закодирован в PEM или DER, см. Поддержка PEM и DER форматов).

Если аргумент установлен, то аргументы tokenID и id игнорируются.


tokenID (Необязательный)
ТипInteger
Идентификатор токена. Получается с помощью команды getAllSlots.

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

id (Необязательный)
ТипInteger
Идентификатор. Получить можно с помощью writeStandaloneCertificate, getStandaloneCertificateList, writeUserCertificate, generateUserSelfSignedCertificate или getContainerList.

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

Результат:


PlainObject – объект, включающий в себя значения всех полей сертификата.

PKI

writeServerCertificate

Записать сертификат сервера в контейнер.

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

Аргументы:


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

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

cert
Тип: Array | String
Значение сертификата в формате X509 (может быть закодирован в PEM или DER, см. Поддержка PEM и DER форматов).

PKI

readServerObject

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

Работает при состоянии аутентификации выше, чем JCWebClient2.Vars.AuthState.notBinded.

Текущее состояние аутентификации можно получить с помощью команды getLoggedInState.

Аргументы:


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

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

Результат:


Array – массив из объектов со следующими параметрами:


isCertificate
Тип: Boolean
Признак является ли объект сертификатом.


body
Тип: Array
Массив байт со значением сертификата/публичного ключа сервера в формате DER.

GOST 2

PKI

readPublicKey

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

Работает при любом состоянии аутентификации.

Аргументы:


tokenID
Тип: Integer
Идентификатор токена. Получается с помощью команды getAllSlots.

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

id
Тип: Integer
Идентификатор. Получается с помощью команд createKeyPair, getKeyPairList, deleteUserCertificate, writeUserCertificate, generateUserSelfSignedCertificate, getContainerList.

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

Результат:


Array – массив байт со значением открытого ключа в формате:

  • токен GOST 2: от младшего к старшему (little-endian).
  • токен PKI, алгоритм ключа:
    • RSA: PKCS#1
    • ECDSA: X.509-структура SubjectPublicKeyInfo в представлении ASN.1

GOST 2

PKI

verifyCertificateChainOnToken

Проверка валидности сертификата.
Проверка осуществляется по цепочке сертификации. Доверенные сертификаты должны находиться на токене.

Работает при состоянии аутентификации выше, чем JCWebClient2.Vars.AuthState.notBinded.

Текущее состояние аутентификации можно получить с помощью команды getLoggedInState.

Аргументы:


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

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

trustedCertificates
Тип: Array
Массив из идентификаторов доверенных сертификатов. Получить можно с помощью getStandaloneCertificateList.


certificateChain
Тип: Array
Массив из идентификаторов доверенных сертификатов. Получить можно с помощью getStandaloneCertificateList.

Результат:


Boolean  true, если сертификат прошел проверку.

GOST 2

PKI

verifyCertificateChain

Расширенная проверка валидности сертификата.
Проверка осуществляется по цепочке сертификации и списку отозванных сертификатов. Доверенные сертификаты должны находиться на токене.

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

Аргументы:


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

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

trustedCertificates
ТипArray
Массив из идентификаторов доверенных сертификатов (получить можно с помощью getStandaloneCertificateList) или из значений доверенных сертификатов в формате X509 (может быть закодирован в PEM или DER, см. Поддержка PEM и DER форматов).


certificateChain
ТипArray
Двухмерный массив из значений сертификатов из цепочки в формате X509 (может быть закодирован в PEM или DER, см. Поддержка PEM и DER форматов).


revokedCertificates (Необязательный)
ТипArray
Двухмерный массив, содержащий набор CRL в формате X509 (может быть закодирован в PEM или DER, см. Поддержка PEM и DER форматов).

Результат:


PlainObject – объект с параметрами:


code
ТипInteger
Код результата (см. Результирующие коды команды VerifyCertificateChain).


description
ТипString
Описание результата.