2016-11-13 72 views
1

我正在嘗試編寫一個腳本,該腳本將列出鑰匙串中已安裝的所有證書,並將它們與Apple開發人員門戶中證書的創建/截止日期進行比較。枚舉Mac Keychain中的所有證書並比較創建/截止日期

我已經看過securityhttps://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/security.1.html)和openssl的文檔,但我似乎無法通過證書從一個到另一個。

另一種方法是直接使用Security.framework,但我沒有看到任何明顯的轉儲證書創建/失效日期的方法。

任何指導?

+0

檢查* Keychain Dumper *的源代碼。你通常可以在周圍的筆友使用的iOS越獄實用程序中找到它。 – jww

+0

源代碼似乎與'security find-certificate'一樣,它會轉儲您可以在命令行中看到的值。沒有日期。 – ray

回答

0

在命令行中,我認爲你可以做security find-certificate -a -p,然後拆分返回的PEM編碼證書,將它們一一提供給openssl x509 -inform PEM ....

在代碼中,你可以使用SecItemCopyMatchingkSecClass = kSecClassCertificatekSecMatchLimit = kSecMatchLimitAll枚舉證書。您可以使用SecCertificateCopyValues()獲得證書的到期日期,但如果沒有,您可以使用SecCertificateCopyData()獲取證書本身(作爲DER編碼的斑點),並將其傳遞給openssl x509 -inform DER ....