有沒有辦法使用一組合理的CA證書設置OpenSSL上下文(SSL_CTX
)而不是自己發佈它們?我不想讓他們保持最新的責任。國際海事組織的任何現代操作系統都應該提供「讓我信任的CA證書」作爲一項服務,但我不知道事實是否如此。我不介意三次(一次用於Windows,一次用於Mac OS X,一次用於Linux)編寫此代碼,但我寧願在此處編寫此代碼。特別是,我寧願不編寫代碼來窺探安裝了哪些瀏覽器並試圖提取他們的可信證書。 (顯然這是easy to get this very wrong。)OpenSSL合理的可信CA證書默認值?
答案爲最新版本的Linux似乎是叫SSL_CTX_load_verify_locations
與/etc/ssl/certs/ca-certificates.crt
(該文件是否存在)。
Windows和Mac OS X有簡單的答案嗎?
您是否知道'certtool'對於顯式標記爲「永不信任」的證書行爲如何? – Bruno 2012-04-26 20:40:38
我不認爲certtool會顯示任何有關信任級別的信息;你會想要使用不同的機制來查詢信任度。如果你真的想要使用命令行工具,那麼試試'man security'是一個好方法。 – 2012-04-26 21:19:48
另請參見MacPorts的certsync實用程序(https://trac.macports.org/browser/trunk/dports/security/certsync/#files,實際代碼位於files/certsync.m中),該程序還導出受信任的紮根到一個文件中並確實注意信任標誌(通過不導出它們)。 – neverpanic 2015-07-03 12:45:59