Signature

PKCS#10 為什麼在 X.509 證書中保留主題公鑰

  • February 22, 2019

在 pkcs#10 工作流中獲取用於數字簽名的 x.509 證書,在證書請求資訊中,在 CSR 中,我們有主題公鑰。

該主題公鑰將用於驗證 CSR 自主題編寫以來未被修改。在這裡一切都很好。

一旦完成 CSR 的驗證,證書頒發機構就會生成 X.509 證書。在PKCS#103. 概述,有序列表之後的第一段)中,聲明我們在 X.509 證書中給出了主題公鑰。

提供了主題公鑰是因為我們使用主題私鑰簽署了 CSR,但此私鑰之後不會被重用。它可能僅為 CSR 創建而生成,並且 CSR 未保存在 X.509 證書中。

此外,X.509 證書由證書頒發機構使用其自己的私鑰而不是主題私鑰簽名。

所以問題是:為什麼要在 X.509 證書中保留主題公鑰,因為一旦我們驗證了 CSR 就達到了目標,驗證在X.509 證書生成之前完成?

該證書使用證書頒發機構的私鑰進行簽名,但 X.509 公鑰證書的目的是將公鑰與主題實體相關聯。

  • 您生成一個公共/私人對
  • 您生成一個包含 SubjectPublicKeyInfo 的 PKCS#10 CSR,使用私鑰作為所有權證明進行簽名。
  • 您將 PKCS#10 CSR 送出給 CA。
  • CA 會進行他們所做的任何驗證,以確保您是您聲稱在 CSR 中的主題(或您聲稱在 CSR 之外的任何主題)……以及您可能要求的任何擴展。
  • CA 將 SubjectPublicKeyInfo 複製到他們創建的新證書中,並使用他們的私鑰對其進行簽名。
  • 人們現在可以使用證書的信任來了解“來自您”並在證書中的公鑰下驗證的簽名實際上來自您(或使用了您的私鑰的被盜/破解版本)。

或者:您希望他們將誰的公鑰放入您的證書中?如果他們只是為您即時製作一個,他們也會擁有您的私鑰的副本,這顯然不如只有您擁有私鑰的安全。

引用自:https://crypto.stackexchange.com/questions/67533