Mac OS X 安全导出不接受密码

Mac OS X 安全导出不接受密码

我正在尝试导出钥匙串上的某些项目,如下所示:

hostname:~ username$ security export -k login.keychain -t all -P "passphrase"

但我总是收到这个错误:

security: SecKeychainItemExport: Passphrase is required for import/export

是什么赋予了?

澄清:我通过 SSH 登录。

答案1

当我跑步时

security export -t identities

我收到相同的错误信息:

security: SecKeychainItemExport: Passphrase is required for import/export.

但是,如果我使用 -f open 指定格式(并将二进制输出流放入文件),它就可以工作:

security export -P testing -f pkcs12 -t identities -o test.p12

产生一个我可以通过处理的文件openssl

在我看来,security这里只是使用了错误的错误消息,因此看起来该功能不起作用。它可能应该是“您必须指定导出私钥的格式”,或类似的话。

真正的见解来自于这条推文

答案2

在我看来,这简直是坏了。如果您尝试导出私钥并使用 SSH 登录,则“安全导出”的行为非常糟糕。当您从 GUI 登录时,相同的命令有效。这是故意的吗?

根据您的需要,您可能能够使用“security find-certificates”或“security export -t certs”来解决这个问题。只要您不导出私钥,这一切都有效。

答案3

如果您的密码中包含任何被 shell 接受的奇怪符号,请尝试使用单引号而不是双引号以防止插入。

security export -k login.keychain -t all -P 'passphrase'

相关内容