Https 公鑰 私鑰 證書

2021-09-08 11:57:52 字數 2682 閱讀 2377

一般的數字證書產品的主題通常含有如下字段:

證書申請單位所在地:

所在城市 (locality) 簡稱:l 字段

所在省份 (state/provice) 簡稱:s 字段

所在國家 (country) 簡稱:c 字段,只能是國家字母縮寫,如中國:cn

其他一些字段:

電子郵件 (email) 簡稱:e 字段

多個姓名字段 簡稱:g 字段

介紹:description 字段

**號碼:phone 字段,格式要求 + 國家區號 城市區號 **號碼,如: +86

73288888888

顯示其他內容 簡稱:ou 字段

4、keytool -import -alias serverkey -file server.crt -keystore tclient.bks -storetype bks -provider org.bouncycastle.jce.provider.bouncycastleprovider

private static final string key_store_type_bks = "bks";//證書型別 固定值

private static final string key_store_trust_password = "123456";//客戶端證書庫密碼

數字證書包含的內容:1、證書頒發機構;2、使用機構;3、公鑰;4、有效期;5、簽名演算法;6、簽名hash演算法;7、指紋演算法;8、指紋

a、證書生成過程:  

證書的生成原理:公司abc 自己生成一對公鑰、私鑰以及對應的加密演算法,還有公司相關資訊,提供給證書頒發機構ca。ca根據提供的資訊生成證書(或者自己生成,這裡不是重點)

指紋演算法:

使用指紋演算法(sha1或者是md5)對證書全文提取指紋(簡單點就是計算對應的hash值)。ps:指紋的目的是校驗證書是否被修改,但指紋本身也可以被修改;例如,修改證書之後,用對應的指紋演算法重新提取指紋。

簽名hash演算法:

為了解決上述問題,ca機構用自己的私鑰,使用證書中指定的簽名hash演算法,對指紋進行加密。ps:這樣其他人因為不知道,ca機構的私鑰,就無法對修改後證書的指紋進行再次簽名

b、證書的驗證過程

1、提取證書發布機構;ps:這個是微軟、gongle整合在系統中的,他們選擇的一些公信力高的機構的證書整合到系統中。

2、從系統中查詢該ca機構的證書,並且提取公鑰,使用公鑰對指紋進行解密,對應的簽名演算法從abc公司的證書中提取;

3、從abc公司的證書中提取指紋演算法,從新對證書進行指紋提取,然後和上一步提取的指紋進行對比,如果相同表示沒有被修改。

客戶端拿到證書之後,

簽名演算法:

客戶端從伺服器獲取公司abc的簽名證書之後,從中提取公鑰和簽名演算法,對需要傳送的明文,使用公鑰和簽名演算法進行加密;

伺服器端接收到密文後,使用私鑰對密文解密;

伺服器傳送的訊息,使用私鑰加密,不能保證不可見性,所以後續會和客戶端協商選擇乙個對稱加密演算法來加密資料傳輸。

證書鏈:

公司abc的證書需要ca機構的證書進行驗證,ca機構的證書是收到微軟信任的,可以不用驗證。但是其中可能存在多級驗證比如,abc的證書需要ca驗證,ca需要ba驗證,aa才是微軟信任的,無需驗證的證書。這樣就形成了乙個信任鏈條

另外常用的rsa為非對稱加密演算法,並且公鑰、私鑰都可以用來加密、解密

公鑰私鑰證書與https

非對稱加密 在乙個過程中使用兩個金鑰,公共金鑰用於加密資訊,私用金鑰用於解譯加密的資訊。這種加密方法稱為非對稱加密,也稱為公鑰加密,因為其中乙個金鑰是公開的 另乙個私鑰則需要自己保密 私鑰簽名 如果我用私鑰加密一段資料 當然只有我可以用私鑰加密,因為只有我知道我的私鑰 結果所有的人都看到我的內容了,...

公鑰 私鑰 證書 HTTPS那些事兒

如今流行的加密主要分為對稱加密和不對稱加密兩種.對稱加密指的是通訊雙方加密解密使用事先約定好的同乙個金鑰.常用的演算法有aes,des等.其優點是加密解密速度快,運算開銷低.但缺點也很明顯,安全的將這個金鑰傳輸到另一方的手中可能會是乙個很困難的事情.在不安全的環境中,有可能是一件高風險的事情.事實上...

https 公鑰,私鑰,數字證書

https是http與ssl的結合,為了解決http明文傳輸導致資訊洩露的問題。ssl通過公鑰和私鑰保證客戶端和伺服器之間的通訊加密,由權威機構辦法的數字證書杜絕了中間人攻擊的可能。http是處於應用層的傳輸協議,ssl是處於與tcp同層的傳輸層和應用層之間的協議,由於http使用明文傳輸,就會導致...