簡體   English   中英

我們可以在 Java trustStore 中的邏輯文件夾結構中組織每個具有多個子項的證書鏈嗎

[英]Can we organize each certificate chain with multiple children in logical folders structure in the Java trustStore

假設對於 SSL/TLS,我有 2 個 rootCA 的 CA1 和 CA2(都是自簽名的),並且每個 CA 都簽署並頒發了 5 個最終實體證書。 我需要將每個 rootCA 及其對應的 5 個子公共證書存儲在 Java trustStore 中的某個邏輯文件夾結構中,這樣在給定父 CA 公共證書或別名的情況下,我想檢索所有相應的子證書頒發。 例如,給定 CA1 別名,我想檢索 CA1,並且只檢索 CA1 頒發的子證書,這同樣適用於 CA2。

我檢查了 Java 的java.security.KeyStore ,它提供了 API 來存儲證書鏈,但它只接受信任鏈,其中一個父級和一個子級可以添加到信任庫。 我們不能將同一級別的多個子證書添加到該父級。 keytool 實用程序也沒有為我的要求提供解決方案。

有什么方法可以將父級證書存儲在信任存儲的邏輯文件夾結構中的多個子級證書中,我可以在其中檢索與特定父級別名相關的所有子級?

您不能將證書按邏輯順序存儲在 java 密鑰庫中。 java 密鑰庫基本上是一個鍵值(別名和條目)存儲。 該條目可以是證書或密鑰或密鑰對(私鑰和相應的證書鏈,其中包括公鑰)。

您必須編寫自己的自定義邏輯來滿足您的要求。 您可以通過查看證書的issuerDNsubjectDN屬性來確定證書是否由給定 CA 簽名。 如果證書是自簽名的(如 CA 證書),則issuerDNsubjectDN將相同。 如果證書是由 CA 簽署的,那么 CA 的 subjectDN 將放在已簽署證書的 issuerDN 中。 這樣您就可以識別證書鏈的層次結構。 但是,如果您使用這種方法,則必須在您的信任庫中多次循環訪問所有證書。

我不確定您的用例是什么,但是如果您需要使用 SSL 連接到服務器的信任庫,那么最好將所有證書存儲在同一個信任庫中並且不用擔心邏輯順序,並且只需將信任庫輸入 JVM,它就會神奇地識別要使用的正確證書。

暫無
暫無

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

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