2009-09-09 106 views
1

我正在开发一个应用程序,在该应用程序中我必须在我的Mac笔记本电脑上显示所有可用的数字证书。 我应该使用钥匙串来获取这些证书吗? 这些证书的物理位置在哪里?cocoa + keychain api

我想列出他们的名字到一个标准输出。请用几个链接回答我的例子(如果可能的话),我可以看看,了解它并将其用于我的应用程序。我已经查看了证书,密钥和信任服务参考API,但它确实令人困惑。

感谢

回答

1

如果你只需要已经显示证书则是一个应用程序 - 钥匙扣Access.app

证书可以是物理上的非文件系统设备,如智能卡。

你最有可能感兴趣的是用户证书而不是CA证书?您应该查看Keychain参考,最有可能的是证书列表功能。

0

我写了一个Ruby Gem来完成与钥匙串访问应用程序的接口。它提供了关于如何使用命令行程序security的示例,您可以使用它来编写钥匙串脚本。

这里是描述宝石的博客帖子:Automating Mac OS X Keychain App

您可以在这里浏览这里:Keychain Manager source code。它会给你如何使用security命令行应用程序的例子。

所以,要列出钥匙扣,你只是这样做:

security list-keychains 

将输出这样的事情:

"/Users/jprichardson/Library/Keychains/login.keychain" 
"/Users/jprichardson/Library/Keychains/Microsoft_Intermediate_Certificates" 
"/Library/Keychains/System.keychain" 

然后,你可以做这样的事情:

security find-certificate "/Users/jprichardson/Library/Keychains/login.keychain" -c Apple 

如需更多帮助,请执行:

security -? 
security list-keychains -? 
security find-certificate -? 

阅读本太:Apple's Man page on Security

希望有所帮助。