无法将公钥导入OSX钥匙串


22

我创建了几个自签名的S / MIME证书(使用OSX钥匙串和OpenSSL),然后将它们导出到3个文件中:

  • 证书(.cer)
  • 私钥(.p12)
  • 公钥(.pem)

尝试将它们重新导入到另一台Mac时,证书和私钥都已导入,没有任何问题。但是无法导入公钥。

相反,我收到以下错误消息:

发生了错误。无法导入项目。

这段时间的内容无法检索

导入公钥时OSX钥匙串错误的屏幕截图

如何导入公钥?是否应将其转换为其他格式以进行导入?


为什么要导入公钥?这是您需要导入的私钥。公钥保留在服务器上,私钥已导出到客户端,仅此而已。
MariusMatutiae 2014年

足够公平-因此无法通过钥匙串手动导入公共密钥(例如,如果有人将其公共密钥作为文件提供给您,而不是向您发送电子邮件)?
Prembo 2014年

1
在允许密码连接的时间内,您可以使用scp将所有文件从一个文件复制到另一个文件。然后,当所有按键都放置到位时,可以禁用密码登录。
MariusMatutiae 2014年

Answers:


31

它是OSX中的错误。您可以按照以下答案从命令行导入:

/programming//a/11979625/59198

该命令是:

security import pub_key.pem -k ~/Library/Keychains/login.keychain

然后,您需要在keychain.app中重命名密钥


它导入到哪里?我仍然在钥匙串中找不到它。
huggie

@huggie它在钥匙串中使用一个真正通用的名称加载它,可能类似于“公钥”,在那里寻找新的东西。
克里斯(Chris

1

证书实际上包含公钥的副本(连同名称,以及来自证书颁发机构的签名,该名称与该公钥一起使用)。通常,如果您使用的是基于证书的系统(如SMIME),则无需将公钥作为单独的项来处理。如果需要,可以使用openssl x509命令从证书中提取公钥的副本。

(我想知道钥匙串是否拒绝导入公钥,因为它认为证书中已经有副本?钥匙串的错误消息通常非常模糊。)


1

.p12文件可以包含您的密钥对。如果密码包含您的私钥,则会提示您输入密码。钥匙串将以嵌套方式显示私钥。如果导入正确,它将显示在“我的证书”下。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.