簡體   English   中英

Java 驗證證書與密鑰關聯

[英]Java verify Certificate is associated with a Key

我有從不同地方收到的證書和私鑰。 僅給定這兩個抽象對象,我可以驗證證書是否與給定的 PrivateKey 關聯,或者是否是給定 PrivateKey 的證書?

我知道這些是否用於 RSA 密鑰,我可以將它們轉換為 RsaPublicKey / RsaPrivateKey 並驗證指數和模數是否匹配,但如果它們是 ECDSA 怎么辦? 其他類型呢?

我最終想將密鑰存儲到以證書作為其證書鏈的密鑰庫中,如果我嘗試使用另一個密鑰的證書加載密鑰,我希望這會引發異常或導致某種錯誤。 但這似乎並不重要?

首先,可以肯定的是,您可以使用您的私鑰對隨機數據塊進行簽名,並使用公鑰對其進行驗證。 公鑰是證書的一部分。 它適用於所有簽名算法。

私鑰結構包含匹配的公鑰也很常見。 您應該檢查它 - 搜索匹配的密鑰會更容易。

不應該有私鑰。 它是私人的。 您只需要他們的公鑰,然后通過 Certificate.verify(PublicKey key) 驗證證書。

誰把私鑰給了你,就已經嚴重損害了他們的安全。 他們需要創建一個新的私鑰、簽名證書等,並部署它,並停止對先前密鑰的所有使用。 他們還需要將新的私鑰保密。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM