Создание самоподписанного сертификата (сертификата местного центра сертификации)
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Этот метод может быть использован в интрасетях или в организациях, которые используют или планируют использовать собственный центр сертификации (СА - 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, просмотров: 162.