FMPDSS

Описание

Класс FMPDSS предназначен для работы с цифровыми подписями.

class FMPDSS

Свойства

Свойство Описание

certificate

Текущий сертификат.
var certificate: FMPDSS.Certificate? { get set }

Методы

Метод Описание

certs(completion:)

Получение списка доступных пользователю сертификатов.
func certs(completion: @escaping FMPCertsHandler)

Параметры:

  • completion. Замыкающее выражение, содержащее результат выполнения метода.

signs(completion:) Получение списка DSS-подписей.
func signs(completion: @escaping FMPSignsHandler)

Параметры:

  • completion. Замыкающее выражение, содержащее результат выполнения метода.

sign(table:columnName:rowId:completion:) Подпись ячейки таблицы с текущим сертификатом.
func sign(table: FMPTable, columnName: String, rowId: String, completion: @escaping FMPSignHandler)

Параметры:

  • table. Таблица;

  • columnName. Название столбца;

  • rowId. Номер строки;

  • completion. Замыкающее выражение, содержащее результат выполнения метода.

unsign(_:completion:) Удаление подписи.
func unsign(_ signature: FMPDSS.Signature, completion: @escaping FMPRequestResponseHandler)

Параметры:

  • signature. Подпись;

  • completion. Замыкающее выражение, содержащее результат выполнения метода.

Примеры

Установка текущего сертификата:

// Построим экземпляр класса FMPDSS. Подробнее в примерах к FMPDSS.Builder.
let dss: FMPDSS = fmp.dss.build()
 
// Построим экземпляр класса FMPDSS.Certificate. Подробнее в примерах к FMPDSS.Certificate.Builder.
let certificate: FMPDSS.Certificate = fmp.certificate
  
// Установим текущий сертификат
dss.certificate = certificate

Получение списка доступных сертификатов:

// Построим экземпляр класса FMPDSS. Подробнее в примерах к FMPDSS.Builder.
let dss: FMPDSS = fmp.dss.build()
  
// Получим список доступных сертификатов
dss.certs { (success, error, certs) in
    if success {
        // Выведем список идентификаторов доступных сертификатов
        print(certs.map {$0.id})
    } else {
        // Выведем код и описание ошибки
        print(error?.code, error?.description)
    }
}

Получение списка DSS-подписей:

// Построим экземпляр класса FMPDSS. Подробнее в примерах к FMPDSS.Builder.
let dss: FMPDSS = fmp.dss.build()
  
// Получим список подписей
dss.signs { (success, error, signs) in
    if success {
        // Выведем список идентификаторов подписей
        print(signs.map {$0.id})
    } else {
        // Выведем код и описание ошибки
        print(error?.code, error?.description)
    }
}

Подпись ячейки таблицы на сервере:

// Построим экземпляр класса FMPDSS. Подробнее в примерах к FMPDSS.Builder.
let dss: FMPDSS = fmp.dss.build()
  
// Построим экземпляр класса FMPTable. Подробнее в примерах к FMPTable.Builder.
let table: FMPTable = fmp.table.build()
  
// Подпишем ячейку таблицы на сервере
dss.sign(table: table, columnName: "column", rowId: "rowId") { (success, error, sign) in
    if success {
        // Выведем идентификатор сделанной подписи
        print(sign?.id)
    } else {
        // Выведем код и описание ошибки
        print(error?.code, error?.description)
    }
}

Удаление подписи:

// Построим экземпляр класса FMPDSS. Подробнее в примерах к FMPDSS.Builder.
let dss: FMPDSS = fmp.dss.build()
  
let sign: FMPDSS.Signature // Инициализация приватная
  
// Подпишем ячейку таблицы на сервере
dss.unsign(sign) { (response) in
    if response.success {
        // Выведем ответ сервера
        print(response.result)
    } else {
        // Выведем код и описание ошибки
        print(response.error?.code, response.error?.description)
    }
}

См. также:

Фреймворк FMPWrapper | Классы