我有自己的根证书,我已将其导入到我的 OSX“登录”钥匙串中,并告诉它全面信任。我现在正在为 S/MIME 创建证书。我在 Keychain Access 中创建 CSR,然后使用根密钥和证书对其进行签名:
sudo openssl x509 -req -days 365 -in $1 \
-CA ca.crt -CAkey ca.key \
-set_serial 1 -out $2 -setalias $3 \
-addtrust emailProtection \
-addreject clientAuth -addreject serverAuth -trustout \
-extfile smime.extensions
其中smime.extensions
包含以下内容:
basicConstraints=critical,CA:FALSE
keyUsage=critical,digitalSignature,keyEncipherment
extendedKeyUsage=emailProtection
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer
subjectAltName=email:copy
nsCertType=email
我获得了一份总体看起来不错的证书,但是当我将其导入 OSX 机器上的钥匙串时,它会抱怨“此证书由未知机构签名”。
我是否缺少了一些东西来正确连接我导入的 CA 证书和 S/MIME 证书?谢谢。
答案1
事实证明我使用了错误的公钥和私钥来签署请求。