Формулировка проблемы: необходима возможность указать, какие поля сертификата и в какой комбинации будут отображаться в столбце "Имя, организация на сертификате". Кроме этого, нужна возможность отображения всех полей сертификата (по кнопке "?").
Используется: функциональность работы с ЭЦП:
подписывание документов с помощью ЭЦП;
просмотр полей сертификата, которым был подписан документ.
Решение:
Во-первых, необходимо добавить в
конфигурационный файл
configuration/arta/security/digital-signature.xml
новый параметр
configuration → ca → description-cert :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration xmlns="http://www.arta.kz/xml/ns/as/digital-signature"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.arta.kz/xml/ns/as/digital-signature
digital-signature.xsd">
аа
<!-- Включить использование цифровой подписи -->
<enable>
true
</enable>
<!-- Блок, описывающий доверенный сертификационный центр -->
<!-- Таких блоков может быть несколько -->
<ca>
<description-cert>${KEY_CN}, ${KEY_O}</description-cert>
<!-- Описание CA -->
<description>Корневой сертификат НУЦ РК</description>
<!-- Поддерживаемые схемы URI: file и http -->
<!-- Путь до файла с корневым сертификатом -->
<certificate-uri>
file:///etc/ssl/certs/synergy/pki.gov.kz.crt
</certificate-uri>
<!-- Алгоритм цифровой подписи, который использует
этот сертификационный центр. Название алгоритма
чувствительно к регистру. -->
<!-- Поддерживаемые ARTA Synergy алгоритмы:
SHA1withRSA
MD5WithRSA
SHA256withRSA
SHA512withRSA
ECGOST3410
-->
<algorithm>
SHA512withRSA
</algorithm>
<!-- Основной список CRL -->
<base-crl>
<!-- Включить использование основного CRL -->
<enable>
true
</enable>
<!-- Путь до основного CRL -->
<uri>
file:///etc/ssl/certs/synergy/pki.gov.kz.crl
</uri>
<!-- Период обновления основного CRL, в минутах
Значение по умолчанию - 1 неделя -->
<period>
10080
</period>
</base-crl>
<!-- Список Delta CRL -->
<delta-crl>
<!-- Включить использование Delta CRL -->
<enable>
true
</enable>
<!-- Путь до Delta CRL -->
<uri>
file:///etc/ssl/certs/synergy/pki.gov.kz-delta.crl
</uri>
<!-- Период обновления основного CRL, в минутах -->
<period>
60
</period>
</delta-crl>
</ca>
</configuration>
Значения данного параметра необходимо отображать в столбце
"Имя, организация на сертификате" в окне проверки таблицы
проверки ЭЦП. По умолчанию выбраны параметры
KEY_CN и KEY_O
Параметры поля должны выбираться из следующего списка:
| Параметр | Описание |
|---|---|
|
|
Алгоритм, с которым созданы ключи |
|
|
Формат сертификата |
|
|
Серийный номер сертификата |
|
|
Основное имя |
|
|
Организация |
|
|
Подразделение |
|
|
Местоположение |
|
|
Штат |
|
|
Страна |
|
|
Электронная почта |
|
|
Отчество |
|
|
Фамилия |
|
|
Индивидуальный идентификационный номер (ИИН) |
|
|
Сертификат, закодированный в |
Формат записи:
${%KEY_1%}, ${%KEY_2%}, ... ${%KEY_N%}, где
%KEY_1%, %KEY_2%,
%KEY_N% - параметр поля сертификата. Нотация
данного формата:
Если указан неверный (несуществующий) параметр - не отображать его в таблице проверки подписей.
Формат записи параметра должен быть регистронезависимым.
Наличие внутри тега параметра пробелов не должно являться признаком некорректности тега.
Необходимо отображать все символы, введенные в параметре
description-cert вне тегов в качестве
подстановки.
| Введенный параметр | Отображение в основном приложении |
|---|---|
|
|
, , АСТАНА |
|
|
САРСЕМБАЕВА МЕРУЕРТ, АСТАНА, KZ |
|
|
САРСЕМБАЕВА МЕРУЕРТ, KZ |
|
Пользователь |
Пользователь САРСЕМБАЕВА МЕРУЕРТ, зарегистрированный за номером IIN910511450249 |
Во-вторых, необходимо добавить возможность просмотра всех параметров сертификата, которым была осуществлена ЭЦП.
Для этого в таблице проверки ЭЦП в ячейках со значениями столбца
"Имя, организация на сертификате" необходимо добавить
кнопку ?. По нажатию на кнопку необходимо
отображать поп-ап с полной информацией по сертификату (название
параметра и его значение согласно таблице, указанной выше).
Примечание
Необходимо отображать названия параметров неизменно вне зависимости от выбранной локали.
Форматирование информации в поп-апе (кнопка ?)
Отступы:
по краям поп-апа - 6 px;
между столбцами параметров и их значений -
8 px;
Выравнивание:
по правому краю - содержимое столбца параметров;
по левому краю - содержимое столбца значений;
Стиль текста:
жирный - содержимое столбца параметров.
Действия при обновлении системы
При обновлении системы во всех документах, подписанных при помощи ЭЦП, необходимо:
в столбце "Имя, организация на сертификате" в таблице
проверки ЭЦП отображать имя и организацию пользователя,
подписавшего документ (поля KEY_CN и
KEY_O);
в таблице проверки ЭЦП в ячейках со значениями столбца
"Имя, организация на сертификате" добавить кнопку
?.