OpenSSL中的一些概念

2022-06-21 19:30:12 字數 2344 閱讀 6378

ca機構:負責證書驗證和簽發機構,客戶端和服務端都絕對信任他,相當於裁判員,他擁有自己的公私鑰對和證書;

1.因他所持有的證書是用來簽發和驗證客戶端和服務端的證書的,在這個過程中起到了證書衍生者的作用,所以稱為根證書;

2.根證書通常需要儲存在需要執行驗證的地方的,比如瀏覽器所在的pc或手機,一般是由作業系統廠商windows、android內建打包的。

3.如果我們採用【自簽】證書的方式,此時ca機構的角色就由我們自己擔當,相當於自己當裁判,但裁判的公私鑰對和證書生成過程仍不可少。

服務端:需要自己的公私鑰對和證書,公私鑰在本地生成,然後提交自己的公鑰和身份資訊到ca機構申請證書。

客戶端:需要自己的公私鑰對和證書,公私鑰在本地生成,然後提交自己的公鑰和身份資訊到ca機構申請證書。

如果是單向認證,比如純瀏覽器應用,瀏覽器方就不需要證書;

一些系統性接入介面往往需要雙向證書,比如支付sdk,客戶端需要申請證書。

自簽ca證書(自我授予裁判身份)

#生成根證書私鑰(pem檔案)                                         

openssl genrsa -out cakey.pem 2048

#生成根證書簽發申請檔案(csr檔案)

openssl req -new -key cakey.pem -out ca.csr -subj "/c=cn/st=myprovince/l=mycity/o=myorganization/ou=mygroup/cn=myca"

#自簽發根證書(cer檔案)

openssl x509 -req -days 365 -sha1 -extensions v3_ca -signkey cakey.pem -in ca.csr -out cacert.pem

服務端私鑰和證書

#生成服務端私鑰                                            

openssl genrsa -out key.pem 2048

#生成證書請求檔案

openssl req -new -key key.pem -out server.csr -subj "/c=cn/st=myprovince/l=mycity/o=myorganization/ou=mygroup/cn=myserver"

#使用根證書簽發服務端證書

openssl x509 -req -days 365 -sha1 -extensions v3_req -ca ../ca/cacert.pem -cakey ../ca/cakey.pem -caserial ca.srl -cacreateserial -in server.csr -out cert.pem

#使用ca證書驗證server端證書

openssl verify -cafile ../ca/cacert.pem cert.pem

客戶端私鑰和證書(雙向認證才需要)

#生成客戶端私鑰                                   

openssl genrsa -out key.pem 2048

#生成證書請求檔案

openssl req -new -key key.pem -out client.csr -subj "/c=cn/st=myprovince/l=mycity/o=myorganization/ou=mygroup/cn=myclient"

#使用根證書簽發客戶端證書

openssl x509 -req -days 365 -sha1 -extensions v3_req -ca ../ca/cacert.pem -cakey ../ca/cakey.pem -caserial ../server-cert/ca.srl -in client.csr -out cert.pem

#使用ca證書驗證客戶端證書

openssl verify -cafile ../ca/cacert.pem cert.pem

這是由於自簽名所用的ca機構不在瀏覽器的受信名單中,所以不信任。

將ca根證書安裝到瀏覽器本地的受信ca機構中即可。

還有可能是網域名稱對映問題,需要修改瀏覽器本地hosts檔案,將服務端網域名稱對映到服務端ip上。

攝影中的一些概念

1 什麼叫色別 色別是用以說明彩色和消色的區別。2 什麼叫明度 明度又叫明暗度,是顏色的深淺,也可以說它的明亮程度。3 色調的含義 色調是指顏色的性質即一張 中一定範圍的明亮程度 也稱明暗值 4 什麼叫色彩的飽和度 色彩的飽和度,就是顏色色調的可見程度,也稱色的純度。是指顏色純淨和鮮明的程度。某種顏...

UML中的一些概念

抽象 abstract 封裝 encapsulation 繼承 inheritance 多型 polymorphism 關聯 association 聚合 aggregation 組合 composition 內聚與耦合 cohesion coupling 域模型 domain model 域物件之...

openstack中的一些概念

1 endpoint endpoint,翻譯為 端點 我們可以理解它是乙個服務暴露出來的訪問點,如果需要訪問 乙個服務,則必須知道他的endpoint。因此,在keystone中包含乙個 endpoint 模板 endpoint emplate,在安裝keystone的時候我們可以在conf資料夾下...