摘要:帶入基于的證書認(rèn)證原文地址帶入基于的證書認(rèn)證項(xiàng)目地址前言在上一章節(jié)中,我們提出了一個(gè)問題。其遵守標(biāo)準(zhǔn)根證書根證書是屬于根證書頒發(fā)機(jī)構(gòu)的公鑰證書。目標(biāo)是基于進(jìn)行認(rèn)證
帶入gRPC:基于 CA 的 TLS 證書認(rèn)證
原文地址:帶入gRPC:基于 CA 的 TLS 證書認(rèn)證
項(xiàng)目地址:https://github.com/EDDYCJY/go...
在上一章節(jié)中,我們提出了一個(gè)問題。就是如何保證證書的可靠性和有效性?你如何確定你 Server、Client 的證書是對(duì)的呢?
CA為了保證證書的可靠性和有效性,在這里可引入 CA 頒發(fā)的根證書的概念。其遵守 X.509 標(biāo)準(zhǔn)
根證書根證書(root certificate)是屬于根證書頒發(fā)機(jī)構(gòu)(CA)的公鑰證書。我們可以通過驗(yàn)證 CA 的簽名從而信任 CA ,任何人都可以得到 CA 的證書(含公鑰),用以驗(yàn)證它所簽發(fā)的證書(客戶端、服務(wù)端)
它包含的文件如下:
公鑰
密鑰
生成 Keyopenssl genrsa -out ca.key 2048生成密鑰
openssl req -new -x509 -days 7200 -key ca.key -out ca.pem填寫信息
Country Name (2 letter code) []: State or Province Name (full name) []: Locality Name (eg, city) []: Organization Name (eg, company) []: Organizational Unit Name (eg, section) []: Common Name (eg, fully qualified host name) []:go-grpc-example Email Address []:Server 生成 CSR
openssl req -new -key server.key -out server.csr
Country Name (2 letter code) []: State or Province Name (full name) []: Locality Name (eg, city) []: Organization Name (eg, company) []: Organizational Unit Name (eg, section) []: Common Name (eg, fully qualified host name) []:go-grpc-example Email Address []: Please enter the following "extra" attributes to be sent with your certificate request A challenge password []:
CSR 是 Cerificate Signing Request 的英文縮寫,為證書請(qǐng)求文件。主要作用是 CA 會(huì)利用 CSR 文件進(jìn)行簽名使得攻擊者無法偽裝或篡改原有證書
基于 CA 簽發(fā)openssl x509 -req -sha256 -CA ca.pem -CAkey ca.key -CAcreateserial -days 3650 -in server.csr -out server.pemClient 生成 Key
openssl ecparam -genkey -name secp384r1 -out client.key生成 CSR
openssl req -new -key client.key -out client.csr基于 CA 簽發(fā)
openssl x509 -req -sha256 -CA ca.pem -CAkey ca.key -CAcreateserial -days 3650 -in client.csr -out client.pem整理目錄
至此我們生成了一堆文件,請(qǐng)按照以下目錄結(jié)構(gòu)存放:
$ tree conf conf ├── ca.key ├── ca.pem ├── ca.srl ├── client │?? ├── client.csr │?? ├── client.key │?? └── client.pem └── server ├── server.csr ├── server.key └── server.pem
另外有一些文件是不應(yīng)該出現(xiàn)在倉庫內(nèi),應(yīng)當(dāng)保密或刪除的。但為了真實(shí)演示所以保留著(敲黑板)
gRPC接下來將正式開始針對(duì) gRPC 進(jìn)行編碼,改造上一章節(jié)的代碼。目標(biāo)是基于 CA 進(jìn)行 TLS 認(rèn)證
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/29473.html
摘要:帶入對(duì)方法做自定義認(rèn)證原文地址帶入對(duì)方法做自定義認(rèn)證項(xiàng)目地址前言在前面的章節(jié)中,我們介紹了兩種證書算一種可全局認(rèn)證的方法證書認(rèn)證基于的證書認(rèn)證而在實(shí)際需求中,常常會(huì)對(duì)某些模塊的方法做特殊認(rèn)證或校驗(yàn)。 帶入gRPC:對(duì) RPC 方法做自定義認(rèn)證 原文地址:帶入gRPC:對(duì) RPC 方法做自定義認(rèn)證項(xiàng)目地址:https://github.com/EDDYCJY/go... 前言 在前面的章...
摘要:帶入證書認(rèn)證原文地址帶入證書認(rèn)證項(xiàng)目地址前言在前面的章節(jié)里,我們介紹了的四種使用方式。 帶入gRPC:TLS 證書認(rèn)證 原文地址:帶入gRPC:TLS 證書認(rèn)證項(xiàng)目地址:https://github.com/EDDYCJY/go... 前言 在前面的章節(jié)里,我們介紹了 gRPC 的四種 API 使用方式。是不是很簡(jiǎn)單呢
閱讀 1413·2021-09-22 10:02
閱讀 1992·2021-09-08 09:35
閱讀 4097·2021-08-12 13:29
閱讀 2639·2019-08-30 15:55
閱讀 2289·2019-08-30 15:53
閱讀 2330·2019-08-29 17:13
閱讀 2786·2019-08-29 16:31
閱讀 2978·2019-08-29 12:24