将导入的证书设置为在 Mac OS X 中始终受信任

Man*_*iAm 7 macos ssl

我在 Mac os X 中生成了 pfx 格式的证书,并使用以下命令将其导入系统钥匙串:

sudo security import server.pfx -k /Library/Keychains/System.keychain -P foobar
Run Code Online (Sandbox Code Playgroud)

问题是所有信任都设置为no value specified.

在此处输入图片说明

如何将代码签名的信任设置为Always trust使用命令行

mrk*_*mrk 8

这对我有用,它非常接近那个旅行胡子的答案。我使用的是trustAsRoot而不是trustRoot。通过此更改,在钥匙串查看器中,我的证书现在设置为“始终信任”。当我使用 trustRoot 时,添加了证书但设置了“使用系统默认值”并且系统默认值是从不信任。

sudo security add-trusted-cert -d -r trustAsRoot -k /Library/Keychains/System.keychain <certfile>
Run Code Online (Sandbox Code Playgroud)

很好,现在我可以在命令行上导入一个开发证书,只需要一个 sudo 密码,而不必打开那个 GUI !!


小智 5

-p选项可能正是您所需要的。可以为每个设置多次指定它。我希望我知道如何拒绝一个特定的项目,同时信任同一行中的另一个。

sudo security add-trusted-cert -d -r trustRoot -p [option] -k /Library/Keychains/System.keychain <certificate>

-p 选项是 ssl, smime, codeSign, IPSec, iChat, basic, swUpdate, pkgSign, pkinitClient, pkinitServer, timestamping, eap

  • 对于 -r 参数,trustRoot 应该是 trustAsRoot,否则您会收到错误消息“SecTrustSettingsSetTrustSettings:传递给函数的一个或多个参数无效”。 (3认同)