HTTPS簡介
HTTPS(Hyper Text Transfer Protocol Secure),是一種基于SSL/TLS的HTTP,所有的HTTP數據都是在SSL/TLS協議封裝之上進行傳輸的。HTTPS協議是在HTTP協議的基礎上,添加了SSL/TLS握手以及數據加密傳輸,也屬于應用層協議。Https使用的默認端口是443。更多HTTPS原理可以參考阮一峰老師的文章:http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html
SSL證書
證書類型簡介
要設置安全服務器,使用公共鑰創建一對公私鑰對。大多數情況下,發送證書請求(包括自己的公鑰),你的公司證明材料以及費用到一個證書頒發機構(CA)。CA驗證證書請求及您的身份,然后將證書返回給您的安全服務器。
但是內網實現一個服務器端和客戶端傳輸內容的加密,可以自己給自己頒發證書,只需要忽略掉瀏覽器不信任的警報即可!
由CA簽署的證書為您的服務器提供兩個重要的功能:
多數支持ssl的web服務器都有一個CA列表,它們的證書會被自動接受。當一個瀏覽器遇到一個其授權CA并不在列表中的證書,瀏覽器將詢問用戶是否接受或拒絕連接。
制作CA證書
ca.key CA私鑰:
openssl genrsa -des3 -out ca.key 2048
ca.crt CA根證書(公鑰):
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
制作網站的證書并用CA簽名認證
這里,假設網站域名為www.example.com,生成com.example.com證書私鑰:
openssl genrsa -des3 -out www.example.com.pem 1024
制作解密后的www.example.com證書私鑰:
openssl rsa -in www.example.com.pem -out www.example.com.key
生成簽名請求:
openssl req -new -key www.example.com.pem -out www.example.com.csr
可以在Common Name中填入網站域名,即可生產該網站的證書。
用CA進行簽名:
解決方法:
mkdir -p demoCA/newcerts touch demoCA/index.txt touch demoCA/serial echo "01" > demoCA/serial
新聞熱點
疑難解答