1

我已經對此做了一些研究,但仍然存在一些問題,關於當服務器將證書發送到客戶端時,在驗證簽名和根證書方面究竟發生了什麼。驗證SSL證書的確切程度?

  • 當你創建一個CSR,它與它一起生成私鑰,你把它發送到CA生成證書並簽名,但不將CA使用自己的私鑰簽名?那麼您使用CSR生成的私鑰有什麼意義?

  • 當服務器發送其證書以供客戶端驗證時,客戶端如何驗證其是否是有效的CA證書。它有一系列值得信任的CA證書,可以 - 但是他們到底是如何驗證它是使用服務器證書的簽名和公鑰簽署服務器證書的有效CA?比較哪些東西以確保它不是僞造的?

  • 加密你的內部自簽名證書是否有意義?內部根證書怎麼樣?或者是唯一值得加密的私鑰?

  • 如果我們不保持對例如我們的Web服務(通過SSL)加密數據的數據庫,將我們曾經關心存儲我們自己的私鑰一旦我們生成自簽名的證書,如果我們這樣做,他們爲什麼?

回答

3

當你創建一個CSR,它與它

或者你已經生成了自己的私有密鑰一起生成私鑰。

,你將其發送到CA生成證書和簽名

您發送CSR。你不會發送你的私鑰。它是私人的。你不會把它發送給任何人。

但是CA不使用它自己的私鑰來簽名嗎?

是的。

那麼您使用CSR生成的私鑰的要點是什麼?

它與證書中包含的公鑰配對,它是用於證明您和您只擁有該證書的過程的一部分,因爲只有您可以使用可驗證的私鑰生成數字簽名通過證書中的公鑰。

當服務器發送其證書以供客戶端驗證時,客戶端如何驗證它是否是有效的CA證書。它有一系列值得信任的CA證書,可以 - 但是他們到底是如何驗證它是使用服務器證書的簽名和公鑰簽署服務器證書的有效CA?比較哪些東西以確保它不是僞造的?

通過驗證其數字簽名來驗證證書本身;檢查是否在有效期內;然後嘗試使用所謂的證書籤名者(「發行者」)和集合中的可信證書形成證書鏈。

加密你的內部自簽名證書是否有意義?

不是。他們是公開文件。只有私鑰是私密的,並且不在證書中。

內部根證書怎麼樣?

或者是私有密鑰的唯一一個值得加密?

是的。

如果我們不把我們的Web服務(通過SSL),例如加密數據的數據庫,我們會永遠關心存儲我們自己的私鑰一旦我們生成自簽名的證書,如果我們這樣做,他們爲什麼?

因爲它是私人的。這是你身份的關鍵部分。如果你泄漏它,別人可以冒充你。

+0

謝謝您的詳細回覆!還有幾個問題:如何驗證數字簽名,這正是我想要了解的。另外在什麼情況下我們需要保護私鑰的備份副本? – alexfvolk

+0

@alexfvolk使用私鑰創建數字簽名並使用公鑰進行驗證。如果它不驗證,則不是使用與公鑰對應的私鑰創建的,因此其中一個或其他是僞造的。確切的過程太複雜,無法在評論中描述,但這是PKI的基本操作。 (2)總是。 – EJP