docker TLS加密通訊

2021-10-24 16:32:07 字數 2658 閱讀 6192

yum install openssl -y

mkdir tls

cd /tls

hostnamectl set-hostname master

suvim /etc/hosts

127.0.0.1 master

//建立ca金鑰

openssl genrsa -aes256 -out ca-key.pem 4096 //輸入123123

#4096 是金鑰長度

//建立ca證書

openssl req -new -x509 -days 1000 -key ca-key.pem -sha256 -subj "/cn=*" -out ca.pem //輸入123123

#req 是指乙個請求,這裡的意思是指傳送乙個請求

#-new 是指乙個新的請求 一般搭配 x509,輸出乙個x509結構,而不是乙個cert. req。

#-subj 新增附加資訊到證書裡

# /cn* 指任意ip位址

#sha256 是單向加密演算法 sha256演算法使用的雜湊值長度是256位。這是乙個抽象類。此類的唯一實現是sha256managed。

如果看命令詳情後面加--help

//建立伺服器私鑰

openssl genrsa -out server-key.pem 4096

//簽名私鑰

openssl req -subj "/cn=*" -sha256 -new -key server-key.pem -out server.csr

//使用ca證書與簽名私鑰和ca金鑰生成伺服器端證書,輸入123123

openssl x509 -req -days 1000 -sha256 -in server.csr -ca ca.pem -cakey ca-key.pem -cacreateserial -out server-cert.pem

## x509 標準

##-days 1000 :證書有效期1000天

##-req

: 生產證書的命令

##-sha256 一種雜湊密碼

//生成客戶端私鑰

openssl genrsa -out key.pem 4096

//簽名客戶端

openssl req -subj "/cn=client" -new -key key.pem -out client.csr

//建立配置檔案

echo extendedkeyusage=clientauth > extfile.cnf

#auth授權

//客戶端簽名證書,輸入123123,需要(簽名客戶端,ca證書,ca金鑰)

openssl x509 -req -days 1000 -sha256 -in client.csr -ca ca.pem -cakey ca-key.pem -cacreateserial -out cert.pem -extfile extfile.cnf

//刪除多餘檔案

rm -rf ca.srl client.csr extfile.cnf server.csr

//配置docker

vim /lib/systemd/system/docker.service

execstart=/usr/bin/dockerd -tlsverify --tlscacert=/tls/ca.pem --tlscert=/tls/server-cert.pem --tkskey=/tls/server-key.pem -h tcp

: -h unix

:///var/run/docker.sock

##在配置檔案末行新增,不然會報錯

#execstart=/usr/bin/dockerd -h fd

:// --containerd=/run/containerd/containerd.sock 將這條命令注釋掉

//重啟程序

systemctl daemon-reload

//重啟docker服務

systemctl restart docker

//將 /tls/ca.pem /tls/cer.pem /tls/key.pem 三個檔案複製到另一台主機(client客戶機)

scp ca.pem [email protected]:/etc/docker/ (ca證書)

scp cert.pem [email protected]:/etc/docker/(客戶端簽名證書)

scp key.pem [email protected]:/etc/docker/(客戶端私鑰)

//本地驗證

docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -h tcp

://master

:2376 version

docker pull nginx

vim /etc/hosts

192.168.75.144 master

客戶端輸入驗證

docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -h tcp

://master

:2376 version

加密通訊原理

wsdl2h.exe d o ibox.h d是為了使用dom 需要import soap12.h wsa.h wsse.h duration.h dom.h soapcpp2.exe c x i 路徑 ibox.h 修改gsoap目錄下的wsa5.h,將如下內容注釋 gsoap soap env ...

通訊加密原理

訊息通訊時都需要加密,如果不加密,在請求和響應的過程中,如果訊息中途被黑客劫持或篡改後果不堪設想。如圖所示 1976年以前,所有的加密方法都是同一種模式 對稱加密 1 客戶端c選擇某一種加密規則k,對資訊進行加密,然後將加密的資訊傳遞給服務端s 2 服務端s接收到加密的資訊後,使用同一種規則k,對加...

APP通訊加密方案

pc版 每次請求無需登入的介面沒有引數限制要求,需登入的介面必須傳userid token,token為草根金融後台生成,與xx平台的token無關,資料傳輸為明文。從上至下,按環節說明 當前裝置的通訊私鑰,由服務端生成 x secret key generate.json 返回值 注 加密演算法 ...