Класс Cert
Класс управляет действиями по работе с сертификатами.
Метод createCert
Создание запроса на сертификат ключа проверки электронной подписи.
public func createCert(
kid: String, caId: Int, tId: String, dn: [String: String]) async throws -> DSSCertificate
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
caId | Int | Идентификатор обработчика УЦ |
tId | String | Идентификатор шаблона сертификата |
dn | [String: String] | Различительное имя субъекта в формате {"OID компонента имени", "Значение компонента имени"} |
Возвращаемые параметры:
Параметр | Тип | Описание |
---|---|---|
cert | DSSCertificate | Сведения о созданном запросе на сертификат |
Метод setCert
Установка сертификата ключа проверки электронной подписи на сервер для синхронизации.
public func setCert(kid: String, crt: String) async throws -> DSSCertificate
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
сrt | String | Сертификат, закодированный в base64 |
Возвращаемые параметры:
Параметр | Тип | Описание |
---|---|---|
cert | DSSCertificate | Сведения о сертификате |
Метод getCertList
Получение списка запросов на сертификаты и списка сертификатов ключей проверки электронной подписи.
public func getCertList(kid: String) async throws -> [DSSCertificate]
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
Возвращаемые параметры:
Параметр | Тип | Описание |
---|---|---|
certs | [DSSCertificate] | Список сертификатов и запросов на сертификат пользователя |
Метод setNameCert
Установка отображаемого имени сертификата ключа проверки электронной подписи.
public func setNameCert(kid: String, cid: String, friendlyName: String) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cid | String | Идентификатор сертификата |
friendlyName | String | Отображаемое имя сертификата |
Метод suspendCert
Приостановление действия сертификата ключа проверки электронной подписи.
public func suspendCert(
kid: String, cid: String, holdDate: Int32, unholdDate: Int32) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cid | String | Идентификатор сертификата |
holdDate | Int32 | Дата приостановления сертификата. 0 — если требуется немедленное приостановление сертификата, конкретная дата — если требуется отложенное приостановление сертификата |
unholdDate | Int32 | Дата возобновления действия сертификата |
Метод resumeCert
Возобновление действия сертификата ключа проверки электронной подписи.
public func resumeCert(kid: String, cid: String) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cid | String | Идентификатор сертификата |
Метод revokeCert
Отзыв сертификата ключа проверки электронной подписи.
public func revokeCert(
kid: String, cid: String, reason: DSSCertRevokeReason, date: Int32) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cid | String | Идентификатор сертификата |
reason | DSSCertRevokeReason | Причина отзыва сертификата |
date | Int32 | Дата отзыва сертификата. 0 - если требуется немедленный отзыв сертификата, конкретная дата - если требуется отложенный отзыв. |
Метод setDefaultCert
Метод устанавливает сертификат как сертификат по умолчанию.
public func setDefaultCert(kid: String, cid: String, isDefault: Bool) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cid | String | Идентификатор сертификата |
isDefault | Bool | Флаг использования сертификата как сертификата по умолчанию |
Метод deleteCert
Метод удаляет сертификат ключа проверки электронной подписи.
public func deleteCert(kid: String, cid: String, pinCode: String? = nil) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cid | String | Идентификатор сертификата |
pinCode | String | ПИН-код ключевого контейнера |
Метод deleteReqCert
Метод удаляет запрос на сертификат.
public func deleteReqCert(kid: String, rid: String, pinCode: String? = nil) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
rid | String | Идентификатор запроса на сертификат |
pinCode | String | ПИН-код ключевого контейнера |
Метод createUnsignedCert
Создание неподписанного запроса на сертификат и отправка его на сервер для синхронизации.
public func createUnsignedCert(
kid: String, caId: Int, tId: String, dn: [String: String]) async throws -> DSSCertificate
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
rid | String | Идентификатор запроса на сертификат |
caId | Int | Идентификатор обработчика УЦ |
tId | String | Идентификатор шаблона сертификата |
dn | [String: String] | Различительное имя субъекта в формате {"OID компонента имени", "Значение компонента имени"} |
Возвращаемые параметры:
Параметр Описание |
---|
DSSCertificate |
Метод signAndSendCertificateRequest
Создание ключа подписи на мобильном устройстве или внешнем носителе, подписание запроса на сертификат и отправка подписанного запроса на сервер для синхронизации.
public func signAndSendCertificateRequest(
kid: String, cert: DSSCertificate,
providerInfo: DSSCryptoProviderInfo,
cred: DSSCryptoProviderInfoCreds) async throws -> DSSCertificate
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cert | DSSCertificate | Сведения о созданном неподписанном запросе на сертификат |
providerInfo | DSSCryptoProviderInfo | Сведения о криптопровайдере |
cred | DSSCryptoProviderInfoCreds | Учётные данные для криптопровайдера (NFC) |
Возвращаемые параметры:
Параметр | Тип | Описание |
---|---|---|
cert | DSSCertificate | Подписанный сертификат (запрос на сертификат для офлайн-режима) |
Метод signRequest
Создание ключа подписи на мобильном устройстве или внешнем носителе и подписание запроса на сертификат без отправки на сервер.
public func signRequest(
kid: String, cert: DSSCertificate,
providerInfo: DSSCryptoProviderInfo,
cred: DSSCryptoProviderInfoCreds) async throws -> Data
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cert | DSSCertificate | Сведения о созданном неподписанном запросе на сертификат |
providerInfo | DSSCryptoProviderInfo | Сведения о криптопровайдере |
cred | DSSCryptoProviderInfoCreds | Учётные данные для криптопровайдера (NFC) |
Возвращаемые параметры:
Параметр | Тип | Описание |
---|---|---|
Data | Data | Подписанный запрос на сертификат, закодированный в Base64 |
Метод sendClientSignedCertificate
Отправка подписанного запроса на сертификат на сервер для синхронизации.
public func sendClientSignedCertificate(
kid: String, caId: Int, rid: String, content: Data) async throws -> DSSCertificate
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
rid | String | Идентификатор запроса на сертификат |
caId | Int | Идентификатор обработчика УЦ |
content | Data | Подписанный запрос на сертификат, закодированный в Base64 |
Возвращаемые параметры:
Параметр | Тип | Описание |
---|---|---|
cert | DSSCertificate | Сведения о подписанном сертификате (запросе на сертификат для офлайн-режима) |
Метод installCertificate
Установка сертификата в ключевой контейнер на мобильном устройстве или внешнем носителе.
public func installCertificate(
kid: String, cert: DSSCertificate, rid: String,
cred: DSSCryptoProviderInfoCreds) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cert | DSSCertificate | Сведения и содержимое сертификата, который требуется установить |
rid | String | Идентификатор запроса на сертификат |
cred | DSSCryptoProviderInfoCreds | Учётные данные для криптопровайдера (NFC) |
Метод installCertificateExternal
Установка сертификата в мобильное устройство с внешнего носителя (NFC) и отправка его на сервер для синхронизации.
public func installCertificateExternal(
kid: String, crt: DSSCertificate, keyInfo: DSSSigningKeyInfo) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
crt | DSSCertificate | Сведения и содержимое сертификата, который требуется установить |
keyInfo | DSSSigningKeyInfo | Сведения о ключевом контейнере (ключе подписи), установленном на мобильное устройство |
Метод changeRutokenPin
Смена ПИН-кода внешнего носителя (Рутокен).
Внимание!
Метод недоступен в silent-режиме.
public func changeRutokenPin(
kid: String, cid: String?, rid: String?) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
rid | String | Идентификатор запроса на сертификат |
cid | String | Идентификатор сертификата |
Метод removeRutokenPin
Удаление ПИН-кода внешнего носителя (Рутокен).
Внимание!
Метод недоступен в silent-режиме.
public func removeRutokenPin(
kid: String, cid: String?, rid: String?) throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
rid | String | Идентификатор запроса на сертификат |
cid | String | Идентификатор сертификата |
Метод checkIfInstalled
Проверка, установлен ли сертификат в ключевой контейнер на мобильном устройстве.
public func checkIfInstalled(kid: String, certificate: DSSCertificate) -> Bool
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
certificate | DSSCertificate | Сведения о сертификате |
Возвращаемые параметры:
- True/False
Метод checkIfAccessibleOnThisDevice
Проверка доступности ключа подписи (существования ключевого контейнера).
[!NOTE Требуется указывать и
cid
, иrid
одновременно. При наличии хотя бы в одном из параметров пустой строки или nil метод возвращает False.
public func checkIfAccessibleOnThisDevice(kid: String, cid: String?, rid: String?) -> Bool
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
rid | String | Идентификатор запроса на сертификат |
cid | String | Идентификатор сертификата |
Возвращаемые параметры:
- True/False
Архивирование ключа подписи
Метод deletePFX
Удаление архивного ключа подписи с сервера.
public func deletePFX(kid: String, cid: String) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cid | String | Идентификатор сертификата |
Метод importPFX
Импорт архивного ключа подписи с сервера в ключевой контейнер устройства.
public func importPFX(
kid: String, cid: String, pin: String,
keyContainerType: DSSCryptoKeyContainerType) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cid | String | Идентификатор сертификата |
pin | String | ПИН-код архивного ключа подписи |
keyContainerType | DSSCryptoKeyContainerType | Тип ключевого контейнера |
Метод isExportable
Проверка экспортируемости ключа подписи, предназначенного для архивирования.
/// Функция проверки эскпортируемости ключа
/// - Parameters:
/// - kid: Идентификатор набора ключей myDSS
/// - cid: Идентификатор сертификата
/// - Returns: Значение этого поля
public func isExportable(kid: String, cid: String) async throws -> Bool
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cid | String | Идентификатор сертификата |
Возвращаемые параметры:
- True/False
Метод exportPFX
Архивирование ключа подписи на сервере.
public func exportPFX(kid: String, cid: String, pin: String) async throws
Параметры:
Параметр | Тип | Описание |
---|---|---|
kid | String | Идентификатор набора ключей пользователя |
cid | String | Идентификатор сертификата |
pin | String | ПИН-код архивного ключа подписи |