Этот метод может быть использован в интрасетях или в организациях, которые используют или планируют использовать собственный центр сертификации (СА - Certificate Agency). В этом случае местный сертификат СА должен быть установлен на все веб-навигаторы, которые будут соединяться с безопасным web-сервером.
Для использования этого способа необходимо создать:
локальный закритий/відктритий ключ СА;
сертификат СА;
репозиторий СА для новых ключей.
Для обеспечения надежности всей системы сертификации необходимо выполнить
следующие условия:
локальный СА должен быть создан на отдельном сервере, который не имеет соединения
с сетью;
операционная система должна давать доступ только авторизованному персоналу;
сервер СА должен быть под охраной.
Частный СА ключ - самый важный элемент всей системы - если он будет компрометируемый, то все другие сертификаты, подписанные этим СА также будут
компрометируемые.
Алгоритм создания сертификата содержит следующие шаги.
Шаг 1. Подготовить структуру каталога для нового СА:
set SSLDIR=c: \ca
mkdir%SSLDIR%
mkdir%SSLDIR%\certs
mkdir%SSLDIR%\crl
mkdir%SSLDIR%\newcerts
mkdir%SSLDIR%\private
mkdir%SSLDIR%\requests
Создать текстовый файл, например, index. txt, который будет содержать информацию о
созданных сертификатах.
Создать текстовый файл, например, serial, который содержит следующее значение
идентификатору сертификата в hex-формате:
echo 01 >%SSLDIR%\serial
можно создать *. bat файл с данными командами и запустить его.
Шаг 2. Создать основной файл настроек центра сертификации
Название файла, например, openssl. cnf. Пример содержания файла (оптимизировано для
использования с SSL веб-серверами):
# =================================================
# OpenSSL configuration file
# =================================================
RANDFILE = $ENV:: SSLDIR/. rnd
[ca]
default_ca = CA_default
[CA_default]
# Название каталога CA
dir = c: \ca
# Название каталога с сертификатами
сеrts = $dir/certs
# Название каталога с новыми сертификатами, название файла в виде ідентифікатор. pem
(01. pem, 02. pem)new_certs_dir = $dir/newcerts
# Название каталога с CRL-файлами (Certificate Revocation List - Список Аннулированных
Сертификатов)crl_dir = $dir/crl
# Название текстового файла, который будет содержать информацию о созданных
сертификатах
database = $dir/index. txt
# Название текстового файла с секретным ключом CA
private_key = $dir/private/ca. key
# Название текстового файла с сертификатом CA
сеrtificate = $dir/ca. crt
# Название текстового файла, который содержит следующее значение идентификатору
сертификата в hex-формате
serial = $dir/serial
crl = $dir/crl. pem
RANDFILE = $dir/private/. rand
# Период действия сертификата
default_days = 365
# Период обновления CRL-файлов
default_crl_days = 30
# Тип хеш-функции, что используется при установлении подписи
default_md = sha1
# Тип поведения системы при определении значений DN-атрибутов сертификата
preserve = no
# название секции с характеристиками переменных, которые входят к DN-атрибутам
сертификата
policy = policy_anything
name_opt = ca_default
cert_opt = ca_default
# Секция содержит значение переменных, которые входят к DN-атрибутам сертификата менно значение, что и атрибут CA - сертификата. Если значение переменной = 'supplied', то атрибут должен содержаться в сертификате. Если значение переменной = 'optional', то атрибут может содержаться в сертификате. Атрибуты, которые не представлены в секции, будут удалены, если значение переменной preserve = on или опция - preserveDN отсутствует в командной строке.
[policy_anything]
countryName = Karamanov. Bank
stateOrProvinceName = Alexey Karaamnov
localityName = kaa
organizationName = bank
organizationalUnitName = xxx
commonName = xxxx
emailAddress = onpu@i.ua
Шаг 3. Создать пару СА закрытый/открытый ключ и самоподписанный сертификат СА:
ореnssl req \
config $SSLDIR$/openssl. cnf - new - x509 - nodes - days 3652 - sha1 - newkey rsa: 1024 \
keyout $SSLDIR$/private/ca. key - out $SSLDIR$/ca. crt \
subj
'/C=UA/ST=OdessaRegion/L=Odessa/O=Karamanov. Bank /OU=bank /CN=www.karamanov. bank. od.ua'
Команда создает новый (-new) самоподписанный root-сертификат (-x509), который будет
подписан с использованием алгоритма SHA1 (-sha1). Закрытый (частный) ключ RSA будет иметь длину 1024 бит (-newkey rsa: 1024), не будет защищен парольной фразой (-nodes). Запрос на сертификат, что включает открытый ключ, будет содержаться в файле request. pem, а закрытый ключ будет создан в файле "server. key". Параметр "-subj" говорит о том, что сертификат создан для компании, которая расположена в Украине (C=UA), в одесском регионе (ST=OdessaRegion), название компании "ONPU" (O=ONPU), название службы "kaf_SPO" (OU=kaf_SPO), и полностью определенное доменное имя "www.spo. ospu. odessa.ua" #@:. Сертификат может использоваться 10 лет #@;
После выполнения команды будут созданы файлы:
файл ca. key с закрытым ключом центра сертификации;
файл ca. crt с сертификатом.
создали закрытый ключ:
создали сертификат:
Дата: 2019-07-30, просмотров: 191.