自製CA證書,自製客戶端,服務端證書

2021-09-09 08:47:27 字數 2123 閱讀 4256

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...