Заявка на получение сертификата
Документ, позволяющий пользователю сделать запрос в финорган (владелец базы данных) на получение нового сертификата доступа в комплекс. На основе данного запроса администратор комплекса может сгенерировать средствами сертификат пользователя, который может использоваться для проверки [доступа входа](/obnov/servbs/sertinpo) в комплекс.
Запрос сохраняется в базе с привязкой к организации, к которой принадлежит пользователь, инициировавший запрос (согласно привязке логина к группе в администраторе групп), и подписывается ЭЦП пользователя.
При создании в поле "Наименование отправителя" автоматически вписывается наименование организации, к которой принадлежит пользователь (согласно привязке логина к группе в администраторе групп) , поле "Параметры" отображает значение поля "Субъект" запрашиваемого сертификата и заполняется следующим образом:
- OU = Краткое наименование вышестоящей организации (см. иерархию корерспондентов в администраторе групп), переведенное в латиницу.
- CN = Краткое наименование организации пользователя, инициировавшего запрос, переведенное в латиницу.
-
С, ST, L, O и пр. - согласно настройки документа "Фиксированные данные для сертификатов".
Запросы на получение сертификата обрабатываются уполномоченным пользователем финансового органа (владельца базы данных), который может забраковать заявку или исполнить. При исполнении проверяется ЭЦП заявки, и далее,в случае успеха, формируется сертификат и закрытый ключ (по внутренней почте СМАРТ их можно отослать пользователю).
Редактирование заявок невозможно - ни автором, ни администратором.
Создание сертификатов осуществляется выполнением команд OpenSSL, прописанных в настройке документа "Команда выполнения". Месторасположение созданных сертификатов определяется командами OpenSSL.
Список
- Дата - дата документа заявки.
- Статус - состояние заявки: в ожидании обработки (без статуса), забракована или исполнена.
- Пользователь - логин пользователя, создавшего заявку.
- Наименование отправителя - организация, к которой принадлежит пользователь (согласно привязке логина к группе в администраторе групп).
- Параметры - значения поля "Субъект" сертификата, который будет сформирован по заявке.
Настройки
1. Команда выполнения.
Задается набор команд OpenSSL по созданию закрытого ключа и сертификата.
:openssl req -new -newkey rsa:1024 -nodes -keyout ./db/certs/$1.key -subj {subject} -out ./db/certs/$1.csr
openssl ca -config ca.conf -in ./db/certs/$1.csr -out ./db/certs/$1.crt -batch
openssl pkcs12 -export -in ./db/certs/$1.crt -inkey ./db/certs/$1.key -certfile ./db/ca.crt -out ./db/to_client/$1.p12 -passout pass:$pass
#openssl req -noout -text -in ./db/certs/$1.csr
#openssl x509 -noout -text -in ./db/certs/$1.crt
#echo "$1 $pass"
Где: $1 - при выполнении команд будет подставлено случайно сгенерированное имя файла; $pass - при выполнении команд будет подставлен случайно сгенерированный пароль (8 символов, 2 регистра с цифрами); # - означает вывод результата (ответа) команды в итоговый протокол исполнения заявки; {} - в фигурных скобках поля из заявки на получение сертификата.
При использовании этих команд требуется наличие следующих каталогов, созданных в папке с установленным OpenSSL (см. настройку "Путь"):
- db\ - общая рабочая папка , здесь должен лежать корневой сертификат, которым будут подписываться создаваемые пользовательские сертификаты.
- db\certs\ - промежуточные файлы.
- db\to_client\ - готовый файл сертификата с закрытыми ключами для пользователя.
2. Путь.
Путь к установленной программе OpenSSL.exe. Пример: C:\Openssl\OpenSSL-Win32\bin\ .
3. Фиксированные данные для сертификатов.
Перечисление через символ "\" переменных поля "Субъект" сертификата, имеющих постоянное значение для всех пользователей данной базы данных. Расшифровку переменных см. в разделе описания сертификата. Значение по умолчанию /C=RU/ST=Lip/L=Lipetsk/O=UFLO .