myDSSSDK Documentation

Class DSSCertificates​Manager​Non​Qual

public final class DSSCertificatesManagerNonQual  

Класс для управления сертификатами в DSS со стороны SDK Используется для работы с УНЭП (Неквалифицированная подпись)

Methods

sign(certificate​Request:​user:​key​Info:​pin:​completion:​)

public static func sign(
        certificateRequest: DSSCertificate,
        user: DSSUser,
        keyInfo: DSSKeyInfo,
        pin: String,
        completion: @escaping (_ result: Result<Void, Error>) -> Void
    )  

Подписывает запрос на сертификат и отправляет на сервер

В метод необходимо передать ключевую пару пользователя DSSKeyInfo и экземпляр DSSCertificate, для которого выполняются условия:

certificateRequest.type == .request
   && certificateRequest.state == .signWait
   && certificateRequest.isClient == true

Если условия не будут выполнены, то метод вернёт ошибку DSSError.wrongCertificateRequest

Предварительно необходимо вызвать метод DSSUsersManager.submitPassword(user:callback:). Иначе вернётся ошибка DSSError.handleInvalid.

Parameters

certificate​Request DSSCertificate

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

user DSSUser

Пользователь, которым будет подписан запрос

callback

Замыкание возвращает результат

result

В случае успеха не возвращает ничего. Иначе — возвращает ошибку

sign(certificate​Request:​user:​completion:​)

public static func sign(
        certificateRequest: DSSCertificate,
        user: DSSUser,
        completion: @escaping (_ result: Result<Void, Error>) -> Void
    )  

Подписывает запрос на сертификат и отправляет на сервер

В метод необходимо передать экземпляр DSSCertificate, для которого выполняются условия:

certificateRequest.type == .request
&& certificateRequest.state == .signWait
&& certificateRequest.isClient == true

Если условия не будут выполнены, то метод вернёт ошибку DSSError.wrongCertificateRequest

При вызове метода запустится UI и SDK запросит ПИН-код пользователя.

Для подписи будет создан ключ для данного пользователя. Если ранее уже был создан ключ и им не подписывали ни один запрос, то будет использован он.

Parameters

certificate​Request DSSCertificate

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

user DSSUser

Пользователь, которым будет подписан запрос

callback

Замыкание возвращает результат

result

В случае успеха не возвращает ничего. Иначе — возвращает ошибку

install(certificate:​user:​key​Info:​pin:​)

public static func install(
        certificate: DSSCertificate,
        user: DSSUser,
        keyInfo: DSSKeyInfo,
        pin: String
    ) throws  

Устанавливает сертификат в контейнер приложения

В метод необходимо передать экземпляр DSSCertificate, для которого выполняются условия:

certificate.type == .certificate
   && (certificate.state == .active || certificate.state == .outOfOrder)

Parameters

certificate DSSCertificate

Сертификат для установки

user DSSUser

Пользователь, для которого устанавливается сертификат

key​Info DSSKey​Info

Данные о ключе, которым был подписан запрос на сертификат

pin String

Пин-код для ключа

install(certificate:​user:​)

public static func install(
        certificate: DSSCertificate,
        user: DSSUser
    ) throws  

Устанавливает сертификат в контейнер приложения

В метод необходимо передать экземпляр DSSCertificate, для которого выполняются условия:

certificate.type == .certificate
&& (certificate.state == .active || certificate.state == .outOfOrder)

Parameters

certificate DSSCertificate

Сертификат для установки

user DSSUser

Пользователь, для которого устанавливается сертификат

check​IfInstalled(certificate:​for:​)

public static func checkIfInstalled(
        certificate: DSSCertificate,
        for user: DSSUser
    ) -> Bool  

Проверяет, установлен ли сертификат в хранилище

Parameters

user DSSUser

Пользователь, для которого устанавливается сертификат

certificate DSSCertificate

Проверяемый сертификат

Returns

Возвращает true, если сертификат установлен

check​IfAccessible​OnThis​Device(certificate:​for:​)

public static func checkIfAccessibleOnThisDevice(
        certificate: DSSCertificate,
        for user: DSSUser
    ) -> Bool  

Проверяет, доступен ли данный сертификат для использования на текущем устройстве

Ксли сертификат подписан на сервере или на текущем устройстве, то функция вернёт true. Если вернётся false — то запрос на сертификат был подписан на другом устройстве.

Parameters

user DSSUser

Пользователь, для которого проверяется доступность

certificate DSSCertificate

Проверяемый сертификат

Returns

Возвращает true, если сертификат доступен для использования