+7 (495) 797-12-09
ОБСЛУЖИВАНИЕ
компьютеров и серверов

Авторизация клиентов с помощью SSL сертификатов

1. Создание самоподписного доверенного сертификата

Самоподписный доверенный сертификат (Certificate Authority или CA) необходим для подписи серверных и клиентских сертификатов, для их проверки при авторизации вашим веб-сервером.

Создаем самоподписанный сертификат и ключ.

openssl req -new -newkey rsa:1024 -nodes -keyout ca.key -x509 -days 365\ 
-subj/C=RU/ST=Msc/L=Msk/O=ItFree/OU=User/CN=it-free.ru/emailAddress=info@it-free.ru -out ca.crt

Описание аргументов:

req
запрос на создание нового сертификата.

-new 
создание запроса на сертификат (CSR).

-newkey rsa:1024 

создаем закрытый RSA ключ длиной 1024 бита, длина ключа по Вашему усмотрению.

-nodes
не шифровать закрытый ключ

-keyout ca.key
сохраняем ключ в файл ca.key.

-x509 
вместо создания запроса на сертификат, создаем самоподписанный сертификат.

-days 350 
срок действия сертификата 350 дней.

-subj/C=RU/ST=Msc/L=Msk/O=ItFree/OU=User/CN=it-free.ru/emailAddress=info@it-free.ru -out ca.crt

параметры:

С - код страны (Country). 
ST - название региона/области/края/республики/... (StateName). 
L - название города/поселка/... (LocalityName). 
O - название организации (OrganizationName).
OU - название отдела (OrganizationUnit). 
CN - имя сертификата, при создании серверных сертификатов используется доменное имя сайта, для клиентских
сертификатов может быть использовано что угодно (CommonName). Обязательный параметр.
emailAddress - почтовый адрес (E-mail address).

2. Создаем сертификат для веб-сервера

Создаем зашифрованный ключ и запрос на сертификат

openssl genrsa -des3 -out server.key 1024
openssl req -new -key server.key -out server.csr

Подпишем запрос и получим сертификат

openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

Если не хотите чтобы веб-сервер спрашивал пароль после перезагрузки

openssl rsa -in server.key -out server.nopass.key

3. Настройка веб-сервера (Apache)

Найдите в настройках Вашего веб-сервера соответствующую запись для вашей защищаемой страницы и поместите следующие строки

SSLCACertificateFile /path/to/youcakey/ca.crt

<Directory /path/to/web/>

 SSLVerifyClient require
 SSLRequireSSL

</Directory>

4. Создание клиентских сертификатов

Создаем файл ca.config

[ ca ]
default_ca = CA_CLIENT # использовать секцию CA_CLIENT

[ CA_CLIENT ]
dir = ./db # рабочий каталог
certs = $dir/certs # каталог для создаваемых сертификатов
new_certs_dir = $dir/newcerts # каталог для новых сертификатов

database = $dir/index.txt # база данных подписанных Вами сертификатов
serial = $dir/serial # серийный номер сертификата в шестнадцатиричном формате
certificate = ./ca.crt # файл сертификата CA
private_key = ./ca.key # файл закрытого ключа CA

default_days = 365 # срок действия подписываемого сертификата
default_crl_days = 7 # срок действия CRL
default_md = md5 # алгоритм подписи

policy = policy_anything # название секции с описанием политики в отношении данных сертификата

[ policy_anything ]
countryName = optional # поля optional - не обязательны, supplied - обязательны
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = optional
emailAddress = optional

Создаем рабочие каталоги и файлы указанные в ca.config

mkdir db
mkdir db/certs
mkdir db/newcerts
touch db/index.txt
echo "01" > db/serial

Создаем шифрованный ключ и запрос на сертификат

openssl req -new -newkey rsa:1024 -nodes -keyout client01.key\ 
-subj /C=RU/ST=Msc/L=Msc/O=ItFree/OU=User/CN=Client01/emailAddress=info@it-free.ru -out client01.csr

Подписываем запрос и создаем сертификат

openssl ca -config ca.config -in client01.csr -out client01.crt -batch

Для раздачи сертификата клиента создаем p12 с паролем q1w2e3

openssl pkcs12 -export -in client01.crt -inkey client01.key -certfile ca.crt -out client01.p12 -passout pass:q1w2e3

Быстрый выезд мастера
Быстрый выезд мастера
Гарантия на все услуги
Гарантия на все услуги
Бесплатный выезд мастера
Бесплатный выезд мастера
Бесплатная доставка в сервис
Бесплатная доставка в сервис

Алексей16 Jan 2017

Пользуемся услугами компании It-Free более года, основные задачи - IT-аутсорсинг, поддержка и обслуживание сервера, приходящий администратор, обслуживание переферийной техники и т.д., в общем полный пакет. Работой очень довольны, персонал квалифицированный, стрессоустойчивый, вежливый. Все задачи решаются достаточно оперативно, консультации - неотъемлемая часть работы, удобство при закупке расходников и комплектующих. Можно уверенно рекомендовать друзьям!

Евгения25 Aug 2016

Отличная команда, серьезный партнер и настоящие профессионалы своего дела! Очень довольна сотрудничеством, надеюсь, мы и дальше сможем работать вместе!

Сергей11 Aug 2016

Посоветовал друг когда у меня на компе полетела система. Мастер быстро переустановил систему и еще смог вытащить почти все данные что меня конечно же очень порадовало. Весь ремонт занял немного времени совсем я очень доволен!

Телефон для связи: +7 (495) 797-12-09
Почта: info@it-free.ru
cхема проезда