真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

openssl+http實(shí)現(xiàn)https

openssl詳解及實(shí)現(xiàn)https

openssl詳解及實(shí)現(xiàn)https

OpenSSL 是一個(gè)安全套接字層密碼庫(kù),囊括主要的密碼算法、常用的密鑰和證書(shū)封裝管理功能及SSL協(xié)議,并提供豐富的應(yīng)用程序供測(cè)試或其它目的使用。

成都創(chuàng)新互聯(lián)專(zhuān)業(yè)提供服務(wù)器機(jī)柜租用服務(wù),為用戶提供五星數(shù)據(jù)中心、電信、雙線接入解決方案,用戶可自行在線購(gòu)買(mǎi)服務(wù)器機(jī)柜租用服務(wù),并享受7*24小時(shí)金牌售后服務(wù)。

秘鑰算法和協(xié)議:

  • 對(duì)稱加密:
    加密和解密使用同一個(gè)密鑰,原始數(shù)據(jù)分成固定大小塊,算法不同
    秘鑰過(guò)多,秘鑰分發(fā)困難
    DES,3DES  AES  Blowfish  Twofish  IDEA  RC6 CAST5

  • 公鑰加密:
       分公鑰與私鑰
           公鑰:從私鑰中提取產(chǎn)生,可公開(kāi)給所有人;pubkey
           私鑰:通過(guò)工具創(chuàng)建,使用者自己留存保證其私密性;secret key
       數(shù)字簽名:(私鑰加密的特征碼)接受方確認(rèn)發(fā)送方身份
       秘要交換:發(fā)送方用對(duì)方公鑰加密一個(gè)對(duì)稱秘鑰 發(fā)送給對(duì)方
       數(shù)據(jù)加密:不常用公鑰進(jìn)行數(shù)據(jù)加密 慢,RSA,DSA

    發(fā)送方:

    接收方:

  1. 用自己的私鑰解密對(duì)稱秘鑰

  2. 用對(duì)稱秘鑰解密整段數(shù)據(jù)–保密性

  3. 用發(fā)送方的公鑰解密特征碼–驗(yàn)證發(fā)送方身份

  4. 計(jì)算特征碼與接收的特征碼作比較–保證數(shù)據(jù)完整性
    可能出現(xiàn)中間人。要可靠的拿到對(duì)方公鑰:CA

  1. 計(jì)算數(shù)據(jù)的特征碼

  2. 用自己的私鑰加密這段特征碼

  3. 生成臨時(shí)對(duì)稱秘鑰(一次性),用其加密整段數(shù)據(jù)(包括加密的特征碼)

  4. 用接收方的公鑰加密臨時(shí)對(duì)稱秘鑰附加在數(shù)據(jù)后

單向加密: 提取數(shù)據(jù)指紋,只能加密不能解密 定長(zhǎng)輸出,雪崩效應(yīng) 保證數(shù)據(jù)完整性 算法: md5  固定128位輸出 sha1 160,224,256,384,512

秘要交換:公鑰交換
 DH:利用 已知大質(zhì)數(shù)的高次方的結(jié)果   反求次方極難
 協(xié)商生成p,g   本機(jī)生成x,將 p^x%g 的結(jié)果發(fā)送
 接收方本機(jī)生成y   求 (p^x%g)^y   對(duì)方 (p^y%g)x  結(jié)果相同
 RSA ECDH ECDHE

PKI: Public Key Infrastructure

  • 簽證機(jī)構(gòu):CA(Certificate Authority)
    注冊(cè)機(jī)構(gòu):RA
    證書(shū)吊銷(xiāo)列表:CRL
    證書(shū)存取庫(kù):

X.509:定義了證書(shū)的結(jié)構(gòu)以及認(rèn)證協(xié)議標(biāo)準(zhǔn)

  • 版本號(hào)
    序列號(hào)
    簽名算法
    頒發(fā)者
    有效期限
    主體名稱
    主體公鑰
    CRL分發(fā)點(diǎn)
    擴(kuò)展信息
    發(fā)行者簽名

SSL:Secure Socket Layer
TLS: Transport Layer Security

數(shù)據(jù)保密性
數(shù)據(jù)完整性
安全驗(yàn)證


OpenSSL:開(kāi)源項(xiàng)目,三個(gè)組件

  • openssl: 多用途的命令行工具

  • libcrypto: 加密算法庫(kù)

  • libssl:加密模塊應(yīng)用庫(kù),實(shí)現(xiàn)了ssl及tls

# openssl
標(biāo)準(zhǔn)命令,消息摘要命令,加密命令

openssl enc
   -e:加密
   -d:解密
   -a:文本編碼格式
   -salt:鹽
   -in:要處理的文件
   -out:要輸出的文件
]# openssl enc -e -rc4 -a -salt -in fstab -out fstab.en 加密

單向加密:計(jì)算特征碼

openssl dgst -   FILE
   md2 md4 md5 rmd160  sha sha1

]# md5sum FILE
]# openssl dgst -md5 FILE   md5加密

生成用戶密碼:

openssl passwd -1 -salt SALT

生成隨機(jī)數(shù):

openssl rand [base64|hex] #
   base64:
   hex:16進(jìn)制編碼
   #:長(zhǎng)度
]# openssl rand -base64 10  使用時(shí)去掉尾部?jī)蓚€(gè)“==”
GyA/hYBNH20RAQ==

https:http+openssl

環(huán)境:
Web:CentOS 6.8,10.1.235.6
CA:CentOS 7,10.1.235.7
關(guān)閉防火墻及selinux

CentOS 7,10.1.235.7:
建立私有CA:

    生成私鑰:指定位置
]# (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
   生成字簽證書(shū):
]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650
   -new:生成新證書(shū)簽署請(qǐng)求
   -x509:生成自簽格式證書(shū),用于創(chuàng)建私有CA,其它情況不加
   -key:生成請(qǐng)求時(shí)用到的私鑰路徑
   -out:生成的請(qǐng)求文件路徑,若自簽操作將直接生成簽署過(guò)的證書(shū)
   -days:證書(shū)的有效時(shí)長(zhǎng)
...
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:Class
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server's hostname) []:www.zjj.com
Email Address []:

創(chuàng)建所需文件:
]# touch /etc/pki/CA/{serial,index.txt}
]# echo 01 > /etc/pki/CA/serial

CentOS 6.8,10.1.235.6:
安裝配置http服務(wù):

安裝http及mod_ssl模塊
]# yum install httpd mod_ssl
]# vi /etc/httpd/conf/httpd.conf
#ServerName www.example.com:80
取消注釋更改 ServerName www.zjj.com:80

DocumentRoot "/var/www/html"
注釋該行 #DocumentRoot "/var/www/html"
保存退出

生成證書(shū)請(qǐng)求:

]# mkdir /etc/httpd/ssl
]# cd /etc/httpd/ssl

   生成私鑰:
]# (umask 077;openssl genrsa -out  httpd.key 2048)

   生成證書(shū)請(qǐng)求:
]# openssl req -new -key httpd.key -out httpd.csr
...填入相關(guān)內(nèi)容
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:Class
Organizational Unit Name (eg, section) []:Ops
Common Name (eg, your name or your server's hostname) []:www.eva.com
Email Address []:
...

   將請(qǐng)求發(fā)送至CA主機(jī):
]# scp ../ssl/httpd.csr  10.1.235.7:/
    在CA主機(jī)上簽署:CentOS 7,10.1.235.54
]# openssl  ca -in httpd.csr -out httpd.crt -days 365
   將證書(shū)發(fā)送至Web主機(jī)
]# scp httpd.crt  10.1.235.6:/etc/httpd/ssl

Web主機(jī)配置ssl,找到以下兩行,更改對(duì)應(yīng)的證書(shū)及私鑰文件:

]# vi /etc/httpd/conf.d/ssl.conf

SSLCertificateFile /etc/httpd/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key

在虛擬主機(jī)標(biāo)簽內(nèi)添加:
Documentroot /virtual

   Options None
   AllowOverRide None


]# mkdir /vitual
]# vi /virtual/index.html   創(chuàng)建首頁(yè)文件
https from 10.1.235.6

測(cè)試:

在/etc/hosts文件中添加一條域名解析
10.1.235.6  www.eva.com

可以在Cent 7上指定證書(shū)訪問(wèn):未指定證書(shū)訪問(wèn)https會(huì)報(bào)錯(cuò)
]# curl --cacert /etc/pki/CA/cacert.pem https://www.eva.com
https from 10.1.235.6

windows中可以將證書(shū)導(dǎo)入為受信任的根證書(shū)


名稱欄目:openssl+http實(shí)現(xiàn)https
網(wǎng)頁(yè)URL:http://weahome.cn/article/pepisc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部