2011-05-15 43 views
5

我們正在使用可在Windows和Mac上運行的多平臺應用程序。我們的應用程序基於OpenSSL作爲SSL和相關材料供應商。它使用客戶端證書建立安全連接並識別最終用戶。OpenSSL和Apple Keychain集成

我們希望使用Windows和Mac本機證書存儲以確保最大的安全性。 Openssl有一個與Windows'證書存儲(CAPI引擎)交互的引擎。但是,我們沒有設法爲Mac的鑰匙串找到這樣的解決方案。

OpenSSL和Apple Keychain之間是否有整合?

如果不是,您有什麼建議?

+0

我們只是偶然發現了這個鏈接(http://www.mentby.com/wim-lewis-2/using-cdsacssm-modules-as-openssl-engines.html)某種openssl引擎的實現,蘋果電腦。我們正在檢查它是否滿足我們的需求。 – Guy 2011-06-16 11:54:35

回答

0

除了處理客戶端證書外,您還需要驗證服務器證書。

爲此,您必須爲OpenSSL提供一個使用Mac OS X安全框架驗證服務器證書的回調。使用OpenSSL功能SSL_CTX_set_cert_verify_callback設置您的自定義證書驗證回調。您的回撥必須將OpenSSL證書轉換爲SecCertificateRef,爲SSL連接創建SecPolicyRef,創建SecTrustRef並對其進行評估。有關更多詳細信息,請參見Certificate, Key, and Trust Services Reference

0

我認爲「最簡單」的解決方案是爲CSSM編寫OpenSSL引擎(CDSA的API,security architecture used by Mac OS X)。你應該在openssl-dev郵件列表上詢問是否有人對幫助感興趣(並且可能已經開始)。