Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
  • Astra Linux Special Edition РУСБ.10015-17
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Special Edition РУСБ.10015-16 исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
  • Astra Linux Common Edition 2.12

Введение


XCA представляет собой графическое приложение, предназначенное для организации локального центра сертификации (PKI). XCA предоставляет следующую функциональность:

  • генерация ключей;
  • формирование запросов на сертификаты;
  • выпуск сертификатов;
  • при установке соответствующих пакетов и интерфейсных библиотек поддерживается работа с ключевыми носителями:
    • инициализация ключевых носителей;
    • генерация ключей на ключевых носителях;
    • запись сертификатов на ключевые носители.

Установка пакетов


Инструмент XCA входит в стандартный дистрибутив Astra Linux. Установку инструмента можно выполнить либо из графического менеджера пакетов, либо из командной строки командой:

sudo apt install xca

Для работы с ключевыми носителями дополнительно установить программное обеспечение в соответствии с инструкциями:

Запуск


После установки инструмент доступен в меню «Пуск» в закладке «Утилиты»:

Также инструмент может быть запущен из командной строки командой:

xca

При запуске инструмент автоматически определяет, на каком языке работать, в соответствии с языком операционной системы. В настоящем документе при дальнейшем описании предполагается, что используется русский язык. Выбор языка можно изменить вручную через меню («Файлы» - «Language»).

Первое, что нужно сделать после запуска инструмента — создать новую базу данных, для чего выбрать в меню пункты «Файл»-«Новая база данных»,  указать название и размещение базы данных и нажать «Сохранить».

Перед сохранением базы данных будет запрошен ввод пароля к базе данных. Из соображений безопасности данных рекомендуется указать пароль, но можно просто нажать «Да», при этом база будет создана без пароля.

Типовая схема применения инструмента XCA

Типовая упрощенная схема применения инструмента XCA включает в себя следующие шаги:

  1. Настройка шаблонов.
  2. Создание корневого сертификата удостоверяющего центра (УЦ). Шаг выполняется однократно при создании нового УЦ.
  3. Создание промежуточных сертификатов УЦ, которые далее будут использоваться для подписания сертификатов серверов и клиентов вместо корневого сертификата. Необязательный, но рекомендованный шаг. 
  4. Экспорт сертификатов:
    1. корневого сертификата;
    2. промежуточных сертификатов, если они используются.
  5. Создание закрытого ключа и сертификата открытого ключа сервера. Этот и следующий шаги повторяются для создания каждого нового сервера (службы).
  6. Экспорт для использования сервером:
    1. сертификата удостоверяющего центра;
    2. закрытого ключа сервера;
    3. сертификата открытого ключа сервера;
  7. Создание закрытого ключа и сертификата открытого ключа клиента. Этот и следующий шаги повторяются для создания каждого нового клиента.
  8. .Экспорт для использования клиентом:
    1. сертификата удостоверяющего центра;
    2. закрытого ключа клиента;
    3. сертификата открытого ключа клиента;
  9. Повторная генерация сертификатов по мере истечения их срока действия. Этот шаг повторяется по мере истечения срока действия ранее выпущенных сертификатов.
  10. Отзыв сертификатов. Это шаг повторяется по мере появления недействительных сертификатов. При этом списки отзыва сертификатов должны быть обновлены на всех серверах и клиентах.

Процедура экспорта подразумевает копирование необходимых данных в файлы, и перенос соответствующих файлов на компьютеры сервера и клиентов с использованием процедур, предотвращающих несанкционированный доступ к передаваемой информации (сменные носители, защищенные каналы связи и пр.).

Настройка шаблонов

Перед созданием сертификатов для упрощения дальнейшей работы рекомендуется заполнить и сохранить типовые повторяющиеся значения полей, которые будут применяться в дальнейшем при создании сертификатов. Для этой цели в XCA предусмотрен механизм шаблонов. Особенно использование шаблонов рекомендуется для упрощения повторяющихся операций выпуска клиентских сертификатов.

  1. Для работы с шаблонами:
    1. Выбрать закладку «Шаблоны».
  2. Для создания своего нового шаблона:
    1. Нажать кнопку «Новый шаблон».
    2. Выбрать типовой шаблон из появившегося списка.
    3. Новый шаблон будет создан как копия выбранного предустановленного шаблона. В инструменте предусмотрено три предустановленных шаблона:
      1. CA — предустановленный шаблон сертификата удостоверяющего центра;
      2. HTTPS_client - предустановленный шаблон сертификата клиента;
      3. HTTPS_server - предустановленный шаблон сертификата сервера.
    4. При заполнении информационных полей шаблона не рекомендуется использовать кириллицу. 
    5. Во всех шаблонах в закладке «Владелец» заполнить информационные поля (все поля являются необязательными, однако, в шаблоне, как минимум, обязательно должно быть заполнено либо поле «Внутреннее имя», либо поле «commonName»):
      1. Внутреннее имя — любое имя;
      2. countryName — двухбуквенный код страны (например, RU);
      3. stateOrProvinceName - двухбуквенный код региона (например, MO);
      4. localityName — название города (например, MOSCOW);
      5. organizationName — название организации (например, ASTRA);
      6. organizationalUnitName — название структурной единицы внутри организации (например, OS);
      7. commonName — общедоступное имя;
      8. emailAddress — адрес электронной почты.

Создание корневого (промежуточного) сертификата удостоверяющего центра

Создание УЦ начинается с получения корневого сертификата. Данный сертификат может быть получен от внешней удостоверяющей организации, однако в настоящем документе мы рассмотрим создание самоподписанного собственного корневого сертификата. Промежуточные сертификаты создаются по аналогичной процедуре, только подписываются корневым сертификатом УЦ (или ранее выпущенным промежуточным сертификатом при создании многоуровневой системы).

Для создания корневого сертификата:

  1. В графическом интерфейсе приложения XCA выбрать закладку «Сертификаты»;
  2. Нажать кнопку «Новый сертификат».
  3. В открывшейся форме будет автоматически выбран пункт «Создать самоподписанный сертификат», в поле «Шаблон для нового сертификата» будет автоматически выбран предустановленный шаблон «[default] CA».
    Для создания не самоподписанных (промежуточных) сертификатов выбрать пункт «Use this certificate for signing» и выбрать сертификат для подписания.
  4. Если ранее были созданы собственные шаблоны, то выбрать нужный шаблон.
  5. Нажать кнопку «Применить всё».
  6. Перейдите в закладку «Владелец».
  7. Если применен собственный шаблон, то поля формы будут автоматически заполнены данными из шаблона (кроме поля «Внутреннее имя», которое должно быть указано индивидуально для каждого сертификата).
  8. Заполнить поле «Внутреннее имя»;
  9. В обязательном порядке заполнить поле «commonName». Например, для корневого сертификата в обоих случаях можно  имя «rootCA».
  10. Нажать кнопку «Создать новый ключ», после чего будет предложено создать новый закрытый ключ с именем, совпадающим со значением в поле «Внутреннее имя».
  11. Проверить параметры ключа. Они должны иметь следующие значения:
    1. «Тип Ключа» RSA;
    2. «Длинна ключа» 2048.
  12. Убедившись в правильности параметров, нажать кнопку «Создать».
  13. Появится сообщение об успешном создании ключа, закрыть его нажатием кнопки «Да».
  14. Перейти в закладку «Расширения».
  15. Убедиться, что
    1. выбран «Тип» «Центр сертификации»;
    2. отмечены пункты «Critical» и «Subject Key Identifier»;
  16. Установить нужные «Период действия» и «Срок действия» сертификата.
  17. Перейти в закладку «Область применения ключа».
  18. Убедиться, что в списке применения выбраны пункты:
    1. «Certificate Sign»;
    2. «CRL Sign».
  19. Перейти в закладку «Netscape».
  20. Убедиться, что в списке применения выбраны пункты:
    1. «SSL CA»;
    2. «S/MIME CA»;
    3. «Object signing CA».
  21. После выполнения проверок нажать кнопку «Да» для создания сертификата.
  22. Сообщение об успехе закрыть кнопкой «Да».

После выполнения указанных действий в списке сертификатов появится первый (корневой) сертификат, который в дальнейшем необходимо использовать для подписания других сертификатов.

Создание сертификата сервера (службы)

Создание сертификата сервера (службы) во многом похоже на создание корневого сертификата. Для создания сертификата сервера (службы):

  1. Перейти в закладку «Сертификаты».
  2. Нажать кнопку «Новый сертификат».
  3. В открывшейся форме в закладке «Источник» вместо автоматически выбранного пункта «Создать самоподписанный сертификат» выбрать пункт «Use this certificate for signing».
  4. В соответствующем списке выбрать сертификат для подписи.
  5. В списке применяемых шаблонов выбрать нужный шаблон.
  6. Нажать кнопку «Применить всё».
  7. Перейти в закладку «Владелец»,
  8. Заполнить соответствующие поля. Обязательно указать «commonName».
  9. Создать новый ключ, нажав кнопку «Создать новый ключ». Параметры ключа аналогичны прошлому шагу.
  10. В закладке «Расширения» проверить и по необходимости уточнить параметры.
  11. В закладке «Область применения ключа» проверить и по необходимости уточнить параметры.
  12. Нажать «Да» для создания сертификата.

После создания сертификата сервера он отобразится в общем списке сертификатов. XCA представляет список сертификатов в виде дерева, корнем которого является корневой сертификат удостоверяющего центра.

Создание сертификата клиента

Аналогично с предыдущими сертификатами, создаются и сертификаты клиентов. Для создания клиентского сертификата:

  1. Выбирать шаблон «[default] client», или свой аналогичный.
  2. Нажать кнопку «Применить всё».
  3. В закладке «Владелец» заполнить поля.
  4. Создать новый ключ, параметры ключа такие же, как в предыдущих шагах.
  5. В закладке «Расширения» проверить правильность значений.
  6. В закладке «Область применения ключа» проверить правильность значений.
  7. Нажать «Да» для создания сертификата.

Новый сертификат появится в списке сертификатов.

Типовая схема экспорта сертификатов и ключей

Для работы сервера (службы) и клиентов им должны быть предоставлены правильные комплекты файлов с сертификатами и закрытыми ключами. Сводный список файлов:

Экспорт сертификатов

Для экспорта корневого сертификата:

  1. Перейдите в закладку «Сертификаты».
  2. Выберите в списке нужный сертификат.
  3. Нажмите кнопку «Экспорт».
  4. В открывшейся форме:
    1. Указать место сохранения (имя файла) экспортируемого сертификата;
    2. Выбрить формат экспорта;
    3. Нажмите кнопку «Да».

Экспорт закрытых ключей

Закрытый корневой ключ удостоверяющего центра не должен передаваться в другие системы, однако, его копии следует хранить в системах резервного копирования и восстановления.
Закрытый ключ сервера (службы) должен находиться на сервере, и не должен передаваться клиентам.
Закрытый ключ клиента должен передаваться только этому клиенту.

Для экспорта закрытого ключа сервера (службы) или клиента:

  1. Перейти в закладку «Закрытые ключи».
  2. Выберите в списке нужный ключ.
  3. Нажать кнопку «Экспорт».
  4. Выбрать формат экспорта
  5. Нажать кнопку «Да».

Отзыв сертификатов

Отзыв сертификатов

Для отзыва сертификата:

  1. Перейти в закладку «Сертификаты».
  2. Найдите в списке отзываемый сертификат.
  3. Нажмите правую кнопку мыши.
  4. В открывшемся контекстном меню выбрать пункт «Отозвать».

Аналогично, можно отменить отзыв сертификата. После отмены отзыва необходимо вернуть доверие сертификату — правая кнопка мыши, «Доверие».

Список отозванных сертификатов

Списки отозванных сертификатов привязываются к корневому сертификату подписавшего эти сертификаты удостоверяющего центра. Для просмотра списка отозванных сертификатов, относящихся к корневому сертификату:

  1. Перейти в закладку «Сертификаты».
  2. Выбрать нужный корневой сертификат.
  3. Правой кнопкой мыши открыть контекстное меню.
  4. В контекстном меню выбрать «ЦС» - «Manage revocations».

После выполнения указанных действий откроется список отозванных сертификатов.

Создание и экспорт списка отзыва сертификатов (CRL)

Для создания списка отозванных сертификатов в формате, пригодном для экспорта в другие системы:

  1. В списке сертификатов выбрать нужный корневой сертификат.
  2. Правой кнопкой мыши открыть контекстное менюю
  3. В контекстном меню правой кнопкой мыши выбрать  «ЦС» - «Создать CRL».
  4. В открывшейся форме, при необходимости, уточнить параметры.
  5. Нажать «Да».

Созданные списки отзыва можно просмотреть в закладке «Списки отозванных сертификатов». Из этой же закладки списки отозванных сертификатов можно экспортировать (кнопка «Экспорт», формат экспорта PEM).

Настройка работы XCA с ключевыми носителями

Загрузка интерфейсных библиотек

Для того, чтобы XCA мог работать с ключевыми носителями должны быть установлены и зарегистрированы интерфейсные библиотеки.

Порядок установки интерфейсных библиотек, см. в статьях:

Для регистрации интерфейсных библиотек:

  1. Перейти в меню "Файл" - "Опции" - "Провайдер PKCS#11".
  2. Нажать кнопку "Добавить" и выбрать нужную библиотеку.
  3. Предыдущий шаг повторить для всех добавляемых библиотек:


Создание ключевых пар на ключевых носителях


Для создания ключевой пары:

  1. Перейти во вкладку "Закрытые ключи".
  2. Выбрать "Новый ключ".
  3. В "типе ключа" выбрать:
    1. Ключевой носитель.
    2. Тип защитного преобразования.
  4. Нажать "Создать".
  5. По запросу ввести PIN-код ключевого носителя.

Создание запроса на сертификат


Для создания запроса на сертификат:

  1. Перейти во вкладку "Новый запрос".
  2. Заполнить информационные поля Владельца, область применения.
  3. Выбрать ранее созданный ключ:
  4. В "типе ключа" выбрать:
    1. Ключевой носитель.
    2. Тип защитного преобразования.
  5. Нажать "Создать".
  6. По запросу ввести PIN-код ключевого носителя.
  7. Для создания сертификата по запросу:
    1. Выбрать нужный запрос на сертификат.
    2. Выбрать пункт "подпись":
    3. XCA предложит сохранить сертификат на ключевой носитель, подтвердить сохранение.