在 OSX 10.10.3 中导入单个证书后出现重复身份

mat*_*scb 2 macos import certificate

尽管只安装了一个,但操作系统似乎错误地列出了多个身份。

这是我的钥匙串(安全列表钥匙串

"/Users/mateuscb/Library/Keychains/login.keychain"
"/Library/Keychains/System.keychain"
Run Code Online (Sandbox Code Playgroud)

我列出了身份,但返回的身份为零。

然后我通过以下命令行导入它:

security import "~/mycert.p12" -k "/Users/mateuscb/Library/Keychains/login.keychain" -t cert -f pkcs12 -P password`
Run Code Online (Sandbox Code Playgroud)

当我列出身份时,我现在得到这个(security find-identity):

Valid identities only
 1) 7E0B7E829EBF27EEC57CC796F948D7C2D9A91330 "Developer ID Application: The Company Inc."
 2) 7E0B7E829EBF27EEC57CC796F948D7C2D9A91330 "Developer ID Application: The Company Inc."
Run Code Online (Sandbox Code Playgroud)

更奇怪的是,如果指定钥匙串,我只得到一个(security find-identity login.keychain)。并且 System.keychain 始终为空。

我还多次休息过我的钥匙串(钥匙串访问)。

mat*_*scb 5

System Keychain事实证明,造成这种情况的原因是由于之前不正确的导入而留下了我的证书的私钥。我去删除了证书,以为System Keychain它会删除私钥,但实际上并没有。

实际上是另一篇文章的答案让我明白了删除证书并不会删除私钥的概念。尽管它在视觉上显示了其下方的私钥。

  • 谢谢你!我一直在用头撞桌子,你的回答让我明白了。所以只是为了确认一下,这就是为我解决的问题... 1)将证书读取到系统钥匙串 2)删除系统钥匙串中证书下方的身份/私钥 3)删除系统钥匙串中的证书。 (2认同)