HTTPS原理、アプリケーション

HTTPS基本原則

                                           CA認証センター(/発行された証明書を失効さ)
                                              /                     \ \      
                         CA認証局(CA公開鍵)     /             WEBのCA証明書の要求で、\ \を送る
                                            /                   証明書の\ \の
                                    クライアント <デジタル証明書-------- ------ WEB 
                             (CA秘密鍵(署名))、WEBアイデンティティ、WEB公開鍵)  
                                      
1台の.webサーバ、非対称暗号鍵ペア(公開ウェブ、ウェブプライベート)を生成する
 2 証明書要求ウェブサーバ.webサーバを生成するために、ウェブのウェブ+パブリックアイデンティティ情報を使用して、CAにサーバ証明書要求
 。3 、CA WebサーバーのCAの秘密鍵証明書を使用してサーバーは、Webサーバーのデジタル証明書を取得するためにデジタル署名を要求し、Webサーバ、Webサーバのデジタル証明書を授与されます。
4 .clientウェブデジタル証明書をダウンロードし、Webサーバ、要求https接続にアクセスする
 5 (上位CAによって発行されたCA + CA公開鍵の識別情報は、また、自己署名発行できます).clientダウンロードCAデジタル証明書を、ウェブ、デジタル証明書(CAの検証デジタル証明書、CA秘密鍵署名を使用してデジタル証明書ウェブ)とCAの公開鍵
 。6 ウェブと.client対称暗号化アルゴリズムのネゴシエーション、およびクライアントが使用してWebサーバーに送信された公開鍵暗号ウェブ、Webサーバを使用して対称暗号鍵を生成し、秘密鍵ウェブ解読するための
 7対称暗号鍵を使用して送信されるデータの整合性を、そしてデータをチェック

私たちは、クライアントとサーバーの間で、この認証モードをシミュレートします。

実験前の準備:; CAサーバと1つのためのサーバ、クライアント我々は、試験すべき2台の仮想マシンを使用します。

まずCA +サーバーの設定します。

1.設定CA、CA自身の公開鍵、秘密鍵を生成し、CA証明書は、自分の署名を行うためにあります

[ルートの@ host4を〜]#のVimの/etc/pki/tls/openssl.cnf

 2.自己署名証明書を生成します

[ルート@ host4を〜]#は/ etc / PKI / 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服务器;

おすすめ

転載: www.cnblogs.com/loganSxb/p/11266083.html