2014-01-30 42 views
0

我讀過很多關於證書導入的文章,但我對一些事情還不清楚。可以使用簽名證書而不明確導入?

從Java應用程序[在本例中爲JBOSS Web應用程序]連接到SSL站點時,客戶端證書是否需要事先明確安裝在應用程序服務器上?

我可以手動安裝客戶端證書,但有一個到期日期。因此,我需要管理應用服務器上所有客戶端安裝的證書的到期日期,並停止更新每個證書。 感覺應該有更好的方法。 應用程序不應該自動接受有效的簽名證書嗎? [在這種情況下,它是由威瑞信簽署]

我們正在嘗試從應用程序訪問https網址時沒有明確安裝證書,目前得到一個異常。 API代理庫吞嚥內部異常,所以我不知道細節。

如果證書應自動接受,那麼這裏可能有一個不同的問題...

+0

我想是的,你需要更新它們。如果您觀察到瀏覽器的行爲,您是否在需要的時候單擊「是」來明確地安裝它們?如果你不想手動操作,你可以編寫腳本。 – kosa

+1

您可以通過使用IO操作讀取它們來完成此操作。 –

+0

謝謝。這聽起來像我需要去API代理中的內部異常。 – Jeremy

回答

0

能簽署的證書,但不導入明確地使用?

是的,它不需要在使用前安裝。事實上,如果您事先知道期望什麼,那麼您可以將該信息包含到應用程序中。這有助於改善應用程序的安全狀況。

要避免導入證書,請使用自定義X509TrustManager並覆蓋checkServerTrusted。在checkServerTrusted中,確保預計服務器的公鑰(即pin the server's certificate or public key);或驗證服務器的證書是否有效(即,在有效性範圍內並形成您的受信任根的鏈)。


當連接到一個SSL網站從Java應用程序[在這種情況下,一個JBoss Web應用程序],請問客戶端證書需要先在應用服務器上明確安裝?

在客戶端證書的情況下,服務器通告它依賴的頒發者頒發客戶端證書。因此,服務器需要知道發佈客戶端證書以進行客戶端身份驗證的信任點。


在這種情況下,它是由VeriSign

這簽署可能是非常糟糕的。在這種情況下,您將相信所有在Verisign PKI下簽名的客戶,以及Verisign的所有其他客戶在Verisign PKI下簽名。

在這種情況下,最好避免使用公共CA並運行自己的PKI(即成爲您自己的CA)。在這種情況下,拿起Network Security with OpenSSL的副本。本書將向您展示如何使用openssl命令和編程方式完成常規任務。

+0

謝謝!我錯過了這個更新,並且已經手動安裝了這些證書,但我會看看這個參考資料。 – Jeremy