怎麼保證 CA 的公鑰 是真實的?

時間 2021-06-02 16:52:20

1樓:

Windows自帶預設裝好的幾個Root CA和cert chain, 你可以選擇相信,也你可以刪掉,或者新增自己的證書到Root CA裡去,比如搞個自簽名的證書放到Root CA裡,然後再由這個證書給其他證書簽名,搞cert chain出來。

2樓:

為什麼這麼多人懷疑作業系統、瀏覽器,而沒有人懷疑第三方認證機構呢?我想說的是,都別把這些當一回事了。

人與人之間的良好關係是建立在相互信任的基礎之上的,而這種信任又是是建立在道德倫理之上。既然是道德,必然不靠譜。因為聖經說,人人都犯了罪,虧缺了上帝的榮耀。

人的良心被罪玷汙,人的道德不過是一件破舊的衣裳,是談不上可靠的。在沒有上帝對人的保守之下,這種信任都可能會隨時崩塌。

可是,現實更糟糕,因為現在許多人的關係是建立在道德之外的錢財利益之上,而非不靠譜的道德。所以,SSL 協議採用的CA證書都只是相對安全的。

3樓:

僅了解一些皮毛,這裡拋磚引玉,如有錯誤請指出:

首先由於RSA加密演算法的性質,使用錯誤的公鑰是無法解密私鑰加密的資料的,因此想要解密由有效CA私鑰加密的資料,公鑰必須是正確的。

其次,這個「可信」是基於你對於作業系統/瀏覽器的信賴與否,對於使用系統提供的證書管理機制的Chrome等瀏覽器,只要你信任作業系統內建的證書列表(Windows/OSX/Linux etc.),那麼就不存在問題,對於火狐等使用自己的證書管理的瀏覽器,你信任瀏覽器,那麼它儲存的證書就是可信的

然而使用者選擇自己向證書管理列表裡新增證書的話,這可信與否就完全由新增證書的人自己判斷了

4樓:

保證不了,所以如果使用者手賤亂往Cert Store裡加可信任CA,最終就是坑自己。

OS保證給你加好了世界上公認可信的CA,並且把修改Cert Store這個操作加上許可權限制,就已經完成它的目的了,使用者要作死那就讓他死。

人作死就會死,這個道理為什麼就是不明白。。。

SSL根證書裡的公鑰為什麼是密文?

TooBug 公鑰是明文的。你所謂的密文很可能是指的 簽名 簽名的過程是CA對伺服器的公鑰進行確認後使用自己私鑰計算出一段校驗的值 簽名 客戶端拿到這個簽名後,可以用它的公鑰進行驗證,確認是不是合法的。另外,一般HTTPS握手過程中也不會出示CA的公鑰,因為CA一般內建在作業系統 瀏覽器 中了,大部...

擁有A的簽名和A的公鑰是否可以解出A的原文呢?

萌吃吃宇胖胖 不能。Public key是用來verify這條message是屬於Alice的,只能verify但是不能知道原文資訊。Alice用secret key來簽名。 玄星 簽名演算法的校驗子演算法 verification 不是解密!不是解密!不是解密!如果是要校驗簽名,原文就在校驗者自己...

RSA加密的密文,能用已知公鑰依次加密所有可能的明文,與密文進行比較是否一樣,來推算明文嗎

已登出 一般情況我們不用公鑰加密演算法加密我們要傳輸的資訊,因為公鑰加密的過程是確定公開的,當明文本身不在乙個足夠大的空間隨機分布時就會很不安全。此外,公鑰加密一般很費時間。我們一般用公鑰加密演算法傳遞乙個對稱加密演算法的金鑰,這個金鑰足夠長且隨機分布無法列舉攻破,然後用安全的對稱加密演算法比如AE...