我为iOS / OSX开发创建了密钥对+签名证书。在某个地方,我丢失了与我的私钥一起使用的公钥。也许是因为Keychain Access没有将私钥和公钥组合在一起,就像它与证书和私钥一样(这太刺激了!为什么(不)这样做!)
在Keychain Access中,我仍然可以右键单击私钥 - > “申请证书”;但没有公钥可用,我收到错误“无法在钥匙串中找到指定的项目”。我非常确保公钥可以恢复,但是如何?显然,Keychain Access不够智能,无法自动完成。
我最终想出了这一点,几天之后我的答案会更正,除非有人在答案中添加了新内容。
答案 0 :(得分:55)
我记得模糊地能够在.pem文件上使用openssl这样做,这就是我的方向。
private.p12
。是否应用密码。openssl pkcs12 -in private.p12 -out private.pem
。输入上一步的密码。您被迫将密码应用于.pem。openssl rsa -in private.pem -pubout > public.pem
。输入上一步的密码。security import public.pem -k login.keychain
。如果您没有指定钥匙串,则导入似乎已完成,但我无法找到该项目的放置位置。