开发者问题收集

macOS:通过命令行将 .p12 证书导入钥匙串

2022-09-17
5062

我正尝试通过 bash 脚本将 .p12 证书导入到我的 Mac 上的钥匙串中。到目前为止,我一直在尝试:

  1. sudo security import 命令。它返回导入成功,但实际上,它从未导入到任何钥匙串中。
  2. sudo security add-certificates -k /Library/Keychains/System.keychain certificate.p12 它抛出了以下错误:

Password: SecCertificateCreateFromData: Unknown format in import.

对我唯一有用的是通过此命令的 .cer 格式: sudo security add-certificates -k /Library/Keychains/System.keychain certificate.cer 。它确实将证书导入到钥匙串中,我可以在钥匙串访问中看到它。

但我只有 .p12 证书。有人可以帮我解决这个问题吗?

2个回答

对我来说,这很有效。

首先解锁钥匙串 (在许多自动构建系统中,它只是“”)

security unlock-keychain -p "<keychain_password>" ~/Library/Keychains/login.keychain

其次安装 p12 文件。

security import <p12_path> -k ~/Library/Keychains/login.keychain -P "<p12_password>" -T /usr/bin/codesign
Pau Ballada
2023-01-20

security add-certificates 命令只能用于导入证书(例如 .cer 文件,不包含密钥)。
要导入 p12 密钥库,必须使用 security import 命令。
示例:

security import certificate.p12 -k /Library/Keychains/System.keychain -P 'keystore_password'
Istvan
2022-11-20