无法将公钥导入 OSX 钥匙串

Pre*_*mbo 29 keychain openssl public-key private-key macos

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

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

当尝试将这些导入回另一台 Mac 时,证书和私钥导入没有任何问题。但是无法导入公钥。

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

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

本次内容无法检索

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

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

Chr*_*ris 44

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

/sf/answers/838573781/

命令是:

security import pub_key.pem -k ~/Library/Keychains/login.keychain
Run Code Online (Sandbox Code Playgroud)

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


小智 2

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

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