我可以使用命令来验证钥匙串中是否存在证书
security find-certificate -c "Certificate Name" -a
但我想查看特定证书的信任设置。主要是,它是否受信任以及是否已过期?
我不确定哪个命令可以做到这一点。我试过这个security verify-cert
命令,但它只是输出...certificate verification successful.
而没有任何详细信息。
答案1
发现答案不清楚,不得不做一些额外的研究。
要验证证书是否已安装,可以使用以下命令。
security verify-cert -c ./certificate.crt
verify-cert 手册页可以在这里找到:https://ss64.com/mac/security-cert-verify.html
下面是一个小的 bash 代码片段,用于检查证书是否已安装,如果尚未安装,则添加它。
# Add the certificate to the macos trust store
security verify-cert -c ./certificate.crt > /dev/null 2>&1
if [ $? != 0 ]; then
echo "Adding certificate to trust store ..."
security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ./certificate.crt
fi
答案2
好的,事实证明security verify-cert
这是正确的命令。对于受信任的证书,这将返回...certificate verification successful.
。
对于不受信任的证书,这将返回SecTrustEvaluate result: kSecTrustResultDeny
。