Интеграция с PKI

genCSR

genCSR(int contID, array dn, array exts)

Создать запрос на сертификат. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState().

Аргументы:
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • dn – в четных строках должен располагаться тип поля в текстовой форме, или OID, например, "CN". В нечетных строках должно располагаться значение поля, например, "User".
  • exts – расширения для включения в запрос. Формат аналогичен dn.
Результат:

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

genCSRAsync

genCSRAsync(int contID, array dn, array exts, JSObjectPtr callback)

Создать запрос на сертификат асинхронно. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState().

Аргументы:
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • dn – в четных строках должен располагаться тип поля в текстовой форме, или OID, например, "CN". В нечетных строках должно располагаться значение поля, например, "User".
  • exts – расширения для включения в запрос. Формат аналогичен dn.
  • callback – callback-функция JavaScript, которая будет выполнена после завершения работы метода.
Результат:

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

genCSRUsingHardwareHash

genCSRUsingHardwareHash(int contID, array dn, array exts)

Создать запрос на сертификат с использованием аппаратного хеширования. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState().

Аргументы:
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • dn – в четных строках должен располагаться тип поля в текстовой форме, или OID, например, "CN". В нечетных строках должно располагаться значение поля, например, "User".
  • exts – расширения для включения в запрос. Формат аналогичен dn.
Результат:

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

genCSRUsingHardwareHashAsync

genCSRUsingHardwareHashAsync(int contID, array dn, array exts, JSObjectPtr callback)

Создать запрос на сертификат асинхронно с использованием аппаратного хеширования. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState().

Аргументы:
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • dn – в четных строках должен располагаться тип поля в текстовой форме, или OID, например, "CN". В нечетных строках должно располагаться значение поля, например, "User".
  • exts – расширения для включения в запрос. Формат аналогичен dn.
  • callback – callback-функция JavaScript, которая будет выполнена после завершения работы метода.
Результат:

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

writeSelfSignedCertificate

writeSelfSignedCertificate(int contID, array dn, array exts, int days)

Сгенерировать и записать самоподписанный сертификат в контейнер. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState().

Аргументы:
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • dn – в четных строках должен располагаться тип поля в текстовой форме, или OID, например, "CN". В нечетных строках должно располагаться значение поля, например, "User".
  • exts – расширения для включения в запрос. Формат аналогичен dn.
  • days – срок действия сертификата в днях с момента выпуска.

writeCertificate

writeCertificate(int contID, array cert)

Записать сертификат в контейнер. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState().

Аргументы:
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • cert – массив байт со значением сертификата в формате DER.

writeCertificateAsync

writeCertificateAsync(int contID, array cert, JSObjectPtr callback)

Записать сертификат в контейнер. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState().

Аргументы:
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • cert – массив байт со значением сертификата в формате DER.
  • callback – callback-функция JavaScript, которая будет выполнена после завершения работы метода.

readCertificate

readCertificate(int contID)

Получить значение сертификата. Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState().

Аргументы:
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
Результат:

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

readCertificateEx

readCertificateEx(int tokenDesc, int contID)

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

Аргументы:
  • tokenDesc – идентификатор электронного ключа. Получается с помощью метода getAllTokens(). Значение идентификатора электронного ключа не постоянно, но в рамках сессии не меняется.
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
Результат:

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

parseCertificate

parseCertificate(array cert)

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

Аргументы:
  • cert – массив байт, представляющий из себя сертификат в формате DER.
Результат:

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

parseCertificateEx

parseCertificateEx(int tokenDesc, int contId)

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

Аргументы:
  • tokenDesc – идентификатор электронного ключа. Получается с помощью метода getAllTokens(). Значение идентификатора электронного ключа не постоянно, но в рамках сессии не меняется.
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
Результат:

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

writeServerPublicKey

writeServerPublicKey(int contID, array serverPublicKey)

Записать открытый ключ сервера в контейнер. Работает при состоянии аутентификации большем, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState().

Аргументы:
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
  • serverPublicKey – массив байт со значением открытого ключа сервера в формате от младшего к старшему (little-endian).

readPublicKey

readPublicKey(int tokenDesc, int contID)

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

Аргументы:
  • tokenDesc – идентификатор электронного ключа. Получается с помощью метода getAllTokens(). Значение идентификатора электронного ключа не постоянно, но в рамках сессии не меняется.
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
Результат:

array – массив байт со значением открытого ключа в формате от младшего к старшему (little-endian).

getCertificateList

getCertificateList(int tokenDesc)

Получить список сертификатов (контейнеров). Выдает как созданные приложением JC-WebClient контейнеры, так и просто хранящиеся на электронном ключе сертификаты. Работает при любом состоянии аутентификации.

Аргументы:
  • tokenDesc – идентификатор электронного ключа. Получается с помощью метода getAllTokens(). Значение идентификатора электронного ключа не постоянно, но в рамках сессии не меняется.
Результат:

array – массив элементов, состоящих из двух полей: идентификатор сертификата (int), описание сертификата (string).

getCertificateListAsync

getCertificateListAsync(int tokenDesc, JSObjectPtr callback)

Получить список сертификатов (контейнеров). Выдает как созданные приложением контейнеры, так и просто хранящиеся на электронном ключе сертификаты. Работает при любом состоянии аутентификации.

Аргументы:
  • tokenDesc – идентификатор электронного ключа. Получается с помощью метода getAllTokens(). Значение идентификатора электронного ключа не постоянно, но в рамках сессии не меняется.
  • callback – callback-функция JavaScript, которая будет выполнена после завершения работы метода.
Результат:

array – массив элементов, состоящих из двух полей: идентификатор сертификата (int), описание сертификата (string).

getCertificateListExAsync

getCertificateListExAsync(int tokenDesc, string serialNumber, string issuerName, string subjectName, JSObjectPtr callback)

Получить список сертификатов (контейнеров) с указанием критериев поиска. Выдает как созданные приложением контейнеры, так и просто хранящиеся на электронном ключе сертификаты. Работает при любом состоянии аутентификации.

Аргументы:
  • tokenDesc – идентификатор электронного ключа. Получается с помощью метода getAllTokens(). Значение идентификатора электронного ключа не постоянно, но в рамках сессии не меняется.
  • serialNumber – cерийный номер сертификата. Ищутся сертификаты, у которых серийный номер совпадает с переданным.
  • issuerName – имя издателя. Ищутся сертификаты, имя издателя которых содержит передаваемую строку.
  • subjectName – имя субъекта. Ищутся сертификаты, имя субъекта которых содержит передаваемую строку.
  • callback – callback-функция JavaScript, которая будет выполнена после завершения работы метода.
Результат:

array – массив элементов, состоящих из двух полей: идентификатор сертификата (int), описание сертификата (string).

getCertificateInfo

getCertificateInfo(int tokenDesc, int contID)

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

Аргументы:
  • tokenDesc – идентификатор электронного ключа. Получается с помощью метода getAllTokens(). Значение идентификатора электронного ключа не постоянно, но в рамках сессии не меняется.
  • contID – идентификатор контейнера (сертификата). Получается при создании контейнера createContainer() / createContainerAsync() или при помощи методов поиска getCertificateList() / getCertificateListEx(). Значение идентификатора контейнера не постоянно, но в рамках сессии не меняется.
Результат:

массив байт с текстовой информацией о сертификате.

getCertificateInfoEx

getCertificateInfoEx(array cert)

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

Аргументы:
  • cert – массив байт, представляющий из себя сертификат в формате X509. Может быть представлен в кодировке DER.
Результат:

массив байт с текстовой информацией о сертификате.

getCertificateListEx

getCertificateListEx(int tokenDesc, string serialNumber, string issuerName, string subjectName)

Получить список сертификатов (контейнеров) с указанием критериев поиска. Выдает как созданные приложением JC-WebClient контейнеры, так и просто хранящиеся на электронном ключе сертификаты. Работает при любом состоянии аутентификации.

Аргументы:
  • tokenDesc – идентификатор электронного ключа. Получается с помощью метода getAllTokens(). Значение идентификатора электронного ключа не постоянно, но в рамках сессии не меняется.
  • serialNumber – cерийный номер сертификата. Ищутся сертификаты, у которых серийный номер совпадает с переданным.
  • issuerName – имя издателя. Ищутся сертификаты, имя издателя которых содержит передаваемую строку.
  • subjectName – имя субъекта. Ищутся сертификаты, имя субъекта которых содержит передаваемую строку.
Результат:

массив элементов, состоящих из двух полей: идентификатор сертификата (тип int), описание сертификата (тип string).

createStandaloneCertificate

createStandaloneCertificate(array cert, string description)

Записать на электронный ключ сертификат, не создавая контейнер (ключевую пару и открытый ключ сервера). Работает при состоянии аутентификации выше, чем STATE_NOT_BINDED (0). Текущее состояние аутентификации получается с помощью метода getLoggedInState().

Аргументы:
  • cert – массив байт, представляющий из себя сертификат в формате DER.
  • description – описание сертификата.

verifyCertificateChain

verifyCertificateChain(int cert, array trustedCertificates, array certificateChain)

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

Аргументы:
Результат:

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

verifyCertificateChainAsync

verifyCertificateChainAsync(int cert, array trustedCertificates, array certificateChain, JSObjectPtr callback)

Асинхронная проверка валидности сертификата по цепочке сертификации.

Аргументы:
Результат:

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

verifyCertificateChainEx

verifyCertificateChainEx(array cert, array trustedCertificates, array certificateChain, array revokedCertificates)

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

Аргументы:
  • cert – массив байт, представляющий из себя сертификат в формате DER.
  • certificateChain – двухмерный массив байт со значениями сертификатов из цепочки. Может быть в формате Base64 или DER.
  • revokedСertificates – двухмерный массив байт, содержащий набор CRL в формате X509. Может быть в формате Base64 или DER. При отсутствии отозванных сертификатов необходимо передавать пустой двухмерный массив.
Результат:

array – код результата (см. Коды ошибок для методов VerifyCertificateChain*) и строка с его описанием.

verifyCertificateChainExAsync

verifyCertificateChainExAsync(array cert, array trustedCertificates, array certificateChain, array revokedCertificates, JSObjectPtr callback)

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

Аргументы:
  • cert – массив байт, представляющий из себя сертификат в формате X509. Может быть представлен в кодировке DER.
  • trustedCertificates – массив из идентификаторов доверенных сертификатов. Получаются при создании контейнера createContainer()/createContainerAsync() или при помощи методов поиска getCertificateList()/getCertificateListEx().
  • certificateChain – двухмерный массив байт со значениями сертификатов из цепочки. Может быть закодирован в Base64 или DER.
  • revokedСertificates – двухмерный массив байт, содержащий набор CRL в формате X509. Может быть закодирован в Base64 или DER. При отсутствии отозванных сертификатов необходимо передавать пустой двухмерный массив.
  • callback – callback-функция JavaScript, которая будет выполнена после завершения работы метода.
Результат:

array – код результата (см. Коды ошибок для методов VerifyCertificateChain*) и строка с его описанием.

verifyCertificateChainExExternalTrustedCerts

verifyCertificateChainExExternalTrustedCerts(array cert, array trustedCertificates, array certificateChain, array revokedCertificates)

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

Аргументы:
  • cert – массив байт, представляющий из себя сертификат в формате X509. Может быть представлен в кодировке DER.
  • trustedCertificates – двухмерный массив байт со значениями доверенных сертификатов в формате X509. Может быть закодирован в Base64 или DER.
  • certificateChain – двухмерный массив байт со значениями сертификатов из цепочки. Может быть закодирован в Base64 или DER.
  • revokedСertificates – двухмерный массив байт, содержащий набор CLR в формате X509. Может быть закодирован в Base64 или DER. При отсутствии отозванных сертификатов необходимо передавать пустой двухмерный массив.
Результат:

array – код результата (см. Коды ошибок для методов VerifyCertificateChain*) и строка с его описанием.

verifyCertificateChainExExternalTrustedCertsAsync

verifyCertificateChainExExternalTrustedCertsAsync(array cert, array trustedCertificates, array certificateChain, array revokedCertificates, JSObjectPtr callback)

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

Аргументы:
  • cert – массив байт, представляющий из себя сертификат в формате X509. Может быть представлен в кодировке DER.
  • trustedCertificates – двухмерный массив байт со значениями доверенных сертификатов в формате X509. Может быть закодирован в Base64 или DER.
  • certificateChain – двухмерный массив байт со значениями сертификатов из цепочки. Может быть закодирован в Base64 или DER.
  • revokedСertificates – двухмерный массив байт, содержащий набор CLR в формате X509. Может быть закодирован в Base64 или DER. При отсутствии отозванных сертификатов необходимо передавать пустой двухмерный массив.
  • callback – callback-функция JavaScript, которая будет выполнена после завершения работы метода.
Результат:

array – код результата (см. Коды ошибок для методов VerifyCertificateChain*) и строка с его описанием.

Оглавление