<< Click to Display Table of Contents >> Администрирование (Linux) > Общесистемные настройки > Настройка усовершенствованной электронной подписи Схема работы механизма усовершенствования
|
![]() ![]() ![]() |
Усовершенствованием подписей можно управлять через настройку или разработку. По умолчанию оно выполняется асинхронно в фоновом режиме. Благодаря этому снижается нагрузка на систему и упрощается ее настройка.
Примечание. В системе также поддерживается синхронный режим работы, если усовершенствование настроено программно с помощью методов ImproveToCadesT(), ImproveToCadesXL(), ImproveToCadesA().
Для управления усовершенствованием используется таблица базы данных Sungero_Core_Sign, в параметры которой записывается информация:
•NextUpdate – дата и время следующего этапа усовершенствования;
•LastUpdate – дата и время предыдущего этапа усовершенствования;
•ImproveUnavailable – признак того, что подпись нельзя усовершенствовать;
•ImproveRequested – подпись в процессе усовершенствования;
•CurrentFormat – текущий формат подписи;
•TargetFormat – целевой формат подписи;
•Iteration – количество итераций.
Усовершенствование подписей выполняется поэтапно на сервисе асинхронных событий (Worker):
1.В системе каждую минуту запускается фоновый процесс «Поэтапное усовершенствование подписей» (IncrementalImproveSignaturesManager):
•за один запуск он вычитывает из базы данных 10 000 идентификаторов подписей, готовых к следующему этапу усовершенствования;
•группирует подписи порциями по 100 штук и через очередь сообщений RabbitMQ передает их в асинхронный обработчик. Для этих подписей в таблице базы данных для параметра ImproveRequested (в процессе усовершенствования) устанавливается значение true, чтобы следующий вызов фонового процесса не отправил их на обработку раньше времени.
2.Асинхронный обработчик IncrementalImproveSignaturesWorker усовершенствует каждую полученную подпись до следующего формата:
•к подписи формата CAdES-BES добавляется штамп времени, и она усовершенствуется до СAdES-T;
•к подписи формата СAdES-T добавляются доказательства достоверности сертификата подписания и штамп времени этих доказательств. Для их получения может потребоваться время, тогда в базу данных записывается дата следующей публикации OCSP-ответа или списка отозванных сертификатов (CRL). К этому времени фоновый процесс снова отправляет подпись в очередь на усовершенствование. Когда доказательства получены, подпись усовершенствуется до формата CAdES-XL.
3.После каждого усовершенствования проверяется, является ли формат целевым. Если это СAdES-T или СAdES-XL и формат достигнут, то в параметр NextUpdate записывается значение null и усовершенствование завершается. Если формат еще не целевой, то в параметр записывается дата и время следующего усовершенствования. Подпись снова отправляется в очередь сообщений.
4.Подпись формата CAdES-A усовершенствуется поэтапно. Сначала в нее добавляется архивный штамп времени. При следующем вызове асинхронного обработчика добавляются доказательства достоверности архивного штампа времени. Для их сбора также может потребоваться время. Тогда усовершенствование откладывается.
После добавления доказательств дата следующего усовершенствования записывается в базу данных. За 6 месяцев до истечения срока действия сертификата, которым подписан архивный штамп времени, фоновый процесс снова отправляет подпись на усовершенствование. Если к этой дате сертификат не обновится, то усовершенствование при каждом вызове будет откладываться на неделю.
Дополнительно в механизме усовершенствования:
•добавлена защита от переполнения очередей. В системе проверяется, что общее количество подписей, отправленных на усовершенствование, меньше 100 000. Если подписей больше, то фоновый процесс не отправляет новые порции в асинхронный обработчик;
•увеличивается счетчик итераций в параметре Iteration, когда возникает исключение и усовершенствование подписи откладывается. При достижении 30 итераций подпись больше не усовершенствуется, а в параметре ImproveUnavailable устанавливается значение true – признак того, что подпись нельзя усовершенствовать;
•не используется синхронная установка штампа времени. Фоновый процесс выполняется каждую минуту, поэтому время между созданием подписи и установкой на нее штампа времени сокращено до минимума;
•фоновый процесс по умолчанию всегда включен. Если настройки усовершенствования не заданы, то запуск процесса откладывается на 2 минуты, затем на 4 и т.д., пока не будет достигнуто максимальное время отложенного запуска – 1 раз в час.
© Компания Directum, 2024 |