Certificates – цифровые сертификаты
<< Click to Display Table of Contents >> Объектная модель > CoreEntities – администрирование Certificates – цифровые сертификаты |
Для подписания документов усиленной ЭП у сотрудника в системе должен быть зарегистрирован цифровой сертификат ЭП. Если зарегистрировано несколько сертификатов, то при подписании документа ЭП система предлагает выбрать сертификат. Подробнее см. в руководстве пользователя Directum RX, раздел «Подписание документов».
Для программной работы с цифровыми сертификатами предназначен класс Sungero.CoreEntities.Certificates. Например, с помощью класса можно создавать сертификаты определенного вида, получать сведения о сертификатах, удалять просроченные. Наследник от Sungero.CoreEntities.DatabookEntry.
У класса есть общие методы и свойства как у всех классов, например, Copy(), Get(), Delete(). Если создать объект класса – сертификат Sungero.CoreEntities.Certificates.Create(), то для объекта станут доступны собственные методы и свойства:
Методы
Имя |
Описание |
---|---|
GetValidationErrors() |
Получить список ошибок проверки сертификата |
Показать сведения о сертификате |
ПРИМЕЧАНИЕ. Если используется список сертификатов IEnumerable<ICertificate>, то для выбора нужного сертификата применяется метод ShowSelectCertificate().
Свойства
Имя |
Тип |
Описание |
---|---|---|
Description |
string |
Сведения о сертификате |
Enabled |
Nullable<bool> |
Признак действующего сертификата. Свойство возвращает true, если сертификат действующий, иначе false |
Issuer |
string |
Издатель сертификата (кем выдан) |
NotAfter |
Nullable<DateTime> |
Дата завершения срока действия сертификата |
NotBefore |
Nullable<DateTime> |
Дата начала срока действия сертификата |
Owner |
Владелец сертификата (кому выдан) |
|
Subject |
string |
Сведения о владельце сертификата. Например, наименование организации, должность, ИНН |
Thumbprint |
string |
Отпечаток сертификата |
X509Certificate |
byte[] |
Цифровой сертификат X.509 |
Пример. Получение списка действующих сертификатов определенного сотрудника
/// <summary>
/// Найти сертификаты, зарегистрированные на сотрудника.
/// </summary>
/// <param name="employee">Сотрудник.</param>
/// <returns>Сертификаты пользователя.</returns>
public IQueryable<ICertificate> GetCertificatesOfEmployee(IEmployee employee)
{
return Certificates.GetAll()
.Where(x => Equals(x.Owner, employee))
.Where(d => d.Enabled == true)
.Where(d => !d.NotAfter.HasValue || d.NotAfter.Value > Calendar.Now);
}
© Компания Directum, 2024 |