我已经尝试了几个位置,但 openssl 和 curl 都无法识别我放在那里的证书文件。
我尝试过这些路径:
/etc/certs
/etc/sfw/openssl/certs
/etc/ssl/certs
/usr/local/ssl/certs
/usr/share/curl/curl-ca-bundle.crt
并且文件必须有一个特定的名称吗?
我知道可以只在命令中指定路径或使用环境变量,但是否存在实际的默认文件路径?
我的系统是 solaris 10。
我已经编译了最新版本的 openssl 和 curl:curl 7.45.0 (sparc-sun-solaris2.10) OpenSSL/1.0.2e
答案1
根据这个地点libcurl 有一个构建时选项,用于指定 CA 包的路径:
将服务器的 CA 证书添加到现有的默认 CA 证书包中。可以通过运行 configure 并使用 --with-ca-bundle 选项来更改所用 CA 包的默认路径,该选项指出您选择的路径。
除了编译时选项之外,还有一个环境变量可用于指向 CA 包:
如果您使用 curl 命令行工具,则可以通过将环境变量 CURL_CA_BUNDLE 设置为您选择的路径来指定您自己的 CA 证书路径。
它确实提到了默认路径:
如果您在 Windows 上使用 curl 命令行工具,curl 将在以下目录中按以下顺序搜索名为“curl-ca-bundle.crt”的 CA 证书文件:
application's directory current working directory Windows System directory (e.g. C:\windows\system32) Windows Directory (e.g. C:\windows) all directories along %PATH%