2014-08-28 86 views
5

我瞭解SSL如何工作,但我的問題更多地是關於客戶端證書的存儲。要了解確切的上下文,你可以假設我有點寫我自己的瀏覽器。 我的渲​​染部分將由WebKit完成,http請求處理部分將由libCurl完成。 libCurl有一個叫做CURLOPT_CAPATH的選項,我可以通過這個選項將一個文件夾位置告訴libCurl,這也是libCurl可能會參考的可能是可信的證書頒發機構。但我不知道哪個位置?它是特定於操作系統的,我的瀏覽器類應用程序假設可以在多個平臺上工作。SSL證書的存儲位置在哪裏?

  1. OSx和Windows在哪裏保存證書?
  2. 它是一個統一的目錄嗎?或者分裂在多個地點?
  3. Windows將它們保存在註冊表中不在目錄中?
  4. 同一操作系統上的多個瀏覽器使用相同的證書存儲區,或者所有的瀏覽器都有其證書存儲區?

  5. 我需要擔心nss嗎?

回答

2

凡OSX和Windows保持自己的證書嗎?

OS X將證書存儲在鑰匙串中。 Windows將證書存儲在證書存儲中。

它是一個統一的目錄嗎?

或其在多個位置分裂?

是的。

Windows將它們保存在註冊表中不在目錄中?

Windows將證書存儲在證書存儲區中。它由文件支持,但不直接在文件上操作。

在同一操作系統上的多個瀏覽器使用相同的證書存儲區,或者所有的瀏覽器都有其證書存儲區?

這要看情況。

Firefox和Opera攜帶自己的信任錨(CA Certifcates)集合。

Chrome使用操作系統提供的商店。

Safari使用鑰匙串中的證書。

IE使用的證書使用證書存儲區中的證書。

我不確定其他瀏覽器的功能。例如,我不知道Iceweasel和Dillo從哪裏獲取信任錨的列表。

我需要擔心nss嗎?

這要看情況。你有什麼考慮?


... CURLOPT_CAPATH ...

當使用捲曲,經常使用的 「CA-證書」 的文件。見Automatically converted CA Certs from mozilla.org

+0

謝謝我如何接受它作爲答案? – iOSMonkey 2014-09-04 11:48:35

+0

@iOSMonkey - 請參閱[幫助中心>回答](http://stackoverflow.com/help/answering)或[接受答案如何工作?](http://meta.stackexchange.com/questions/5234/how -does接受-的回答工作)。 – jww 2014-09-04 11:51:08