我是 OpenSSL 新手,无法验证来自 StartSSL 的证书。
我为了验证证书而尝试的命令是:
openssl verify -CAfile ca.pem mydomain.com.crt
我收到的错误是:
error 20 at 0 depth lookup:unable to get local issuer certificate
答案1
检查您的“ca.pem”文件。我猜它不包含所有必要的中间证书。
(来源:“验证”的文档->错误 20。https://www.openssl.org/docs/apps/verify.html)
答案2
你的 ca.pem 从哪里来的?
我建议去https://www.startssl.com/certs/并且,正如@dave_thompson_085 所建议的那样,获取正确的捆绑包 - 例如,ca-bundle.pem 看起来相当不错。
这是因为 StartSSL 通过中间人颁发所有证书 - 对于 1 类免费证书,中间证书位于https://www.startssl.com/certs/class1/sha2/pem/对于 SHA-2(您确实应该使用)签名的 1 类证书。