HTTPS основные принципы
CA Центр аутентификации (выданные / отозванных сертификатов) / \ \ CA сертификации (CA) открытый ключ / отправить \ \ на запрос сертификата WEB CA / сертификат \ \ Client <цифровой сертификат -------- ------ ВЕБ
(CA закрытый ключ (подпись)), идентичность WEB, WEB открытый ключ)
. 1 .web сервер, создавая асимметричную криптографическую пару ключей (публичный Интернет, веб - частные)
2 с помощью веб - Web + информации Public Identity для генерации запроса на сертификат сервера веб - сервер .web, и запрос на сертификат сервера ЦС
. 3 , СА серверов с помощью сертификата закрытого ключа ЦС для веб - сервер запрашивает цифровую подпись , чтобы получить цифровой сертификат для веб - сервера, и будет присужден цифровой сертификат веб - сервера веб - сервера.
4 .client доступа к веб - сервер, соединение запрос HTTPS, загрузка веб - цифровой сертификат
5 .client загрузить CA цифровой сертификат (CA + CA ключевую информацию общественности личности, выданное вышестоящей CA также может выдавать самоподписанное), проверить веб - цифровой сертификат (CA CA открытый ключ с цифровым сертификатом, цифровой сертификат веб с использованием закрытого ключа подписи CA)
. 6 .client симметричный алгоритм шифрования переговоров с сетью, и клиент генерирует симметричный ключ шифрования с помощью ключа Интернет публичного шифрования, посланный на веб - сервер, веб - сервер с помощью закрытый ключ для расшифровки Web
7 целостности передаваемых данных с помощью симметричного ключа шифрования и проверки данных
Мы моделируем этот режим аутентификации между клиентом и сервером;
Подготовка перед экспериментом: Мы используем два виртуальных машин, которые будут проверены; СА-сервер и сервер для одного клиента;;
Во-первых CA + сервер должен быть настроен;
1. Настройка CA, CA генерировать свой собственный открытый ключ, закрытый ключ, сертификат CA должны вести свою собственную подпись
[Корень @ host4 ~] # ВИМ /etc/pki/tls/openssl.cnf
2. Сформировать самостоятельно подписанный сертификат
[Корень @ host4 ~] # / и т.д. / ИПК / TLS / разное / CA -newca
/etc/pki/CA/private/cakey.pem CA私钥 /etc/pki/CA/cacert.pem CA自签数字证书 /etc/pki/CA/careq.pem CA证书请求
3.配置WEB服务器
[root@sxb-1 httpd]# openssl genrsa -des3 -out /etc/httpd/conf.d/server.key Generating RSA private key, 2048 bit long modulus ........................+++ .......+++ e is 65537 (0x10001) Enter pass phrase for /etc/httpd/conf.d/server.key: Verifying - Enter pass phrase for /etc/httpd/conf.d/server.key:
4.生成证书请求(使用身份表示+公钥)
[root@host4 ~]# openssl req -new -key /etc/httpd/conf.d/server.key -out /etc/httpd/conf.d/server.csr
5.将证书请求发给CA(这里我们用的私同一台虚拟机),CA服务器对证书进行数字签名;将签字后数字证书颁发给WEB
[root@host4 ~]# openssl ca -keyfile /etc/pki/CA/private/cakey.pem -cert /etc/pki/CA/cacert.pem -in /etc/httpd/conf.d/server.csr -out /etc/httpd/conf.d/server.crt
6.配置WEB支持ssl实现https
[root@host4 ~]# yum install mod_ssl
[root@host4 ~]# vim /etc/httpd/conf.d/ssl.conf
7.重启服务
[root@sxb-1 CA]# systemctl restart httpd Enter SSL pass phrase for fe80::20c:29ff:fe88:9d40:443 (RSA) : ******
[root@sxb-1 CA]# ss -anplt | grep 443 LISTEN 0 128 :::443 :::* users:(("httpd",pid=20066,fd=6),("httpd",pid=20065,fd=6),("httpd",pid=20064,fd=6),("httpd",pid=20063,fd=6),("httpd",pid=20062,fd=6),("httpd",pid=20060,fd=6))
8.client下载CA证书并导入到浏览器,然后访问www服务器;