1

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

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

谢谢

4

2 回答 2

1

如果您只需要显示证书,那么已经有一个应用程序 - Keychain Access.app

证书可以物理地位于非文件系统设备上,例如智能卡。

您很可能对用户证书而不是 CA 证书感兴趣?您应该查看钥匙串参考和最有可能的证书列表功能。

于 2009-11-07T14:23:04.423 回答
0

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

这是描述 gem 的博文:Automating Mac OS X Keychain App

您可以在此处浏览源代码:钥匙串管理器源代码。它将为您提供有关如何使用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 的安全手册页

希望有帮助。

于 2011-10-07T15:57:53.323 回答