我已经为运行 linux 2.6.36 的 ARM 设备交叉编译了 openssl。
如果我尝试使用以下方式连接到站点:
openssl s_client -connect google.com:443
我将收到一个错误20:无法获取本地颁发者证书。
如果我运行:
openssl s_client -connect google.com:443 -CAfile=/etc/ssl/certs/ca-certificates.crt
连接将成功且不会出现错误。
openssl版本-d返回OPENSSLDIR: /usr/lib/ssl
的结构如下:
ls -lh /usr/lib/ssl/
lrwxrwxrwx 1 root root 14 Jan 1 1970 certs -> /etc/ssl/certs
lrwxrwxrwx 1 root root 20 Jan 1 1970 openssl.cnf -> /etc/ssl/openssl.cnf
lrwxrwxrwx 1 root root 17 Jan 1 1970 private -> /etc/ssl/private
lrwxrwxrwx 1 root root 22 Jan 1 1970 misc
lrwxrwxrwx 1 root root 34 Jan 1 1970 openssl.cnf.dist
我需要正确配置 openssl 才能运行我开发的软件,因此我无法每次设置 -CAfile 标志,因为我不会直接调用 openssl s_client。
如何设置 openssl 搜索证书的目录?几天来我一直在尝试解决这个问题,但没有成功。