GOST 2 | PKI |
genCSR
Создать запрос на сертификат.
Работает при состоянии аутентификации выше, чем JCWebClient2.Vars.AuthState.notBinded.
Текущее состояние аутентификации можно получить с помощью команды getLoggedInState.
Примеры в разделах:
- Создание контейнера с помощью команды writeUserCertificate;
- Встраивание в инфраструктуру открытых ключей;
- Генерация запроса на квалифицированный сертификат.
Аргументы:
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
Описание результата.