1.建立目錄並授予許可權:
進入ca目錄:cd ca
2. 為伺服器端和客戶端準備公鑰、私鑰:
① 生成伺服器端私鑰:
② 生成伺服器端公鑰:openssl rsa -in server.key -pubout -out server.pem
④ 生成客戶端公鑰:openssl rsa -in client.key -pubout -out client.pem
3.生成 ca 證書
① 生成 ca 私鑰:openssl genrsa -out ca.key 1024
② 生成請求檔案:openssl req -new -key ca.key -out ca.csr
注意,這裡的 organization name (eg, company) [internet widgits pty ltd]: 後面生成客戶端和伺服器端證書的時候也需要填寫,不要寫成一樣的!!!
可以隨意寫如:myca, myserver, myclient。
然後 common name (e.g. server fqdn or your name) : 這一項,是最後可以訪問的網域名稱,我這裡為了方便測試,寫成 localhost
③ 生成ca證書:openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt
4.生成伺服器端證書和客戶端證書
① 伺服器端需要向 ca 機構申請簽名證書,在申請簽名證書之前依然是建立自己的 csr 檔案:openssl req -new -key server.key -out server.csr
② 向自己的 ca 機構申請證書,簽名過程需要 ca 的證書和私鑰參與,最終頒發乙個帶有 ca 簽名的證書:openssl x509 -req -ca ca.crt -cakey ca.key -cacreateserial -in server.csr -out server.crt
③ 生成client端csr:openssl req -new -key client.key -out client.csr
④ client 端得到 ca 簽名生成client端證書:openssl x509 -req -ca ca.crt -cakey ca.key -cacreateserial -in client.csr -out client.crt
我們的 ca 資料夾下已經有如下內容了:
HTTPS 客戶端驗證 服務端證書流程
網上的文章很多,但是對摘要的驗證流程不夠通俗易懂 1 客戶端瀏覽器會預置根證書,裡面包含ca公鑰 2 伺服器去ca申請乙個證書 3 ca用自己的簽名去籤乙個證書,指紋資訊儲存在證書的數字摘要裡面,然後傳送給伺服器 1 客戶端 sayhello 2 伺服器返回證書 3 1 客戶端驗證證書內容有效性 過...
Python UDP客戶端 服務端
udpclient.py coding utf 8 from socket import servername 127.0.0.1 伺服器位址,本例中使用一台遠端主機 serverport 12000 伺服器指定的埠 clientsocket socket af inet,sock dgram 建立...
python udp客戶端,服務端
客戶端1 建立套接字 2 收發資料 3 關閉套接字 import socket 建立套接字 socket socket.socket socket.af inet,socket.sock dgram 傳送資料 傳送資料的型別必須是位元組型別 data 你猜 encode gbk addr 192.1...