2012-05-22 69 views
0

對於我們想要使用SSL實現客戶端認證的管理界面。這個想法是,在註冊過程中,每個用戶都會生成一個SSL證書,該證書在瀏覽器中註冊並用於向服務器驗證客戶端。私鑰永遠不會離開客戶端很重要。因此,在服務器上生成證書並將其發送給客戶端是無法解決的。是否可以在瀏覽器中生成SSL證書?

是否可以使用JavaScript在瀏覽器(例如IE 9 +,Firefox 12+,Chrome)中生成SSL證書?是否可以註冊證書?

+1

我很確定你可以*生成* SSL證書,但我懷疑你能夠註冊它。 –

+0

我以前在金融網站上看到過它。但它更安裝一個ActiveX或運行一個應用程序,它會生成請求,證書並將其安裝在個人證書存儲區中。它也能夠阻止它在計算機或配置文件之間導出。如何,我不確定。 – matthewnreid

+0

您是否試圖在註冊過程中實時生成它?除非用戶安裝了OpenSSL之類的東西,否則我認爲你不能。 –

回答

2

你真的不能生成在瀏覽器中證書,但你可以生成在瀏覽器中證書請求(或同等學歷):密鑰對是瀏覽器和私鑰永遠不會離開內產生它。 (請注意,如果您在瀏覽器中直接生成證書,那麼最好是自簽名的,因爲CA不會爲您提供私鑰,這就是爲什麼您只能獲得證書請求,因爲生成自簽名證書的需求很少,我認爲有一個Firefox擴展可以實現它)

證書請求被髮送到服務器,但格式取決於瀏覽器和使用的方法。你將在服務器端得到的是公鑰,它取決於你實現的將它變成證書的服務(當然,除非你使用現有的服務)。你可以在this answer找到更多的細節。

在服務器上生成證書後,可以將其重新導入回與私鑰相關聯。

+0

這個答案不再正確: https://pkijs.org/ – zaitsman

相關問題