通过终端验证证书是否在 osx 上安装并受信任

通过终端验证证书是否在 osx 上安装并受信任

我可以使用命令来验证钥匙串中是否存在证书

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

相关内容