Apple钥匙串应用程序不允许您删除系统根目录,而仅允许您禁用它们。它将仅允许您一次禁用它们。对于每个密码,您需要浏览3个UI面板并输入密码。有没有办法使它自动化或一次完成?我不喜欢Apple当前选择的系统根目录。
Apple钥匙串应用程序不允许您删除系统根目录,而仅允许您禁用它们。它将仅允许您一次禁用它们。对于每个密码,您需要浏览3个UI面板并输入密码。有没有办法使它自动化或一次完成?我不喜欢Apple当前选择的系统根目录。
Answers:
在尝试任何操作之前,请备份钥匙串。
列出根证书:
sudo security dump-keychain /System/Library/Keychains/SystemRootCertificates.keychain
只需在转储中查找要删除的证书的名称或SHA-1哈希值,然后将其写下即可。
现在,您可以使用security delete-certificate
命令删除该根证书。
用法:删除证书[-c名称] [-Z哈希] [-t] [钥匙串...]
-c Specify certificate to delete by its common name -Z Specify certificate to delete by its SHA-1 hash value -t Also delete user trust settings for this certificate The certificate to be deleted must be uniquely specified either by a
以其通用名称或SHA-1哈希找到的字符串。如果未指定要搜索的钥匙串,则使用默认搜索列表。
例如,您可以使用以下命令删除中文根证书:
sudo security delete-certificate -Z 8BAF4C9B1DF02A92F7DA128EB91BACF498604B6F /System/Library/Keychains/SystemRootCertificates.keychain
sudo security find-certificate -a -c startcom -Z /System/Library/Keychains/SystemRootCertificates.keychain
sudo security delete- certificate -Z 8250BED5A214433A66377CBC10EF83F669DA3A67 / System/Library/Keychains/SystemRootCertificates.keychain
即使使用引用的证书,也无法通过散列删除证书而破坏了对根的信任:这始终会失败:“安全性:SecKeychainItemDelete:UNIX [不允许操作]”。
这是在DEFCON24上的演讲中的解决方法。
而是将根证书另存为cer文件并使用: security add-trusted-cert -d -r deny -k "/Library/Keychains/System.keychain" certname.cer