libcurl可以使用CURLINFO_CERTINFO
获取证书信息,但该信息必须在curl_easy_perform
之后,这意味着您需要先登录FTP服务器而不验证证书。
像FileZilla这样的FTP软件获取证书,然后在发送用户名和密码之前要求用户信任它们。
以下OpenSSL命令也可以获取没有用户名或密码的证书:
$ openssl s_client -showcerts -connect ftp.godaddy.com:21 -starttls ftp
我也尝试使用CURLOPT_VERBOSE
来监控FTP命令。 AUTH TLS
命令正常后,它会立即停止并尝试获取证书信息。但那没用。
答案 0 :(得分:2)
您可以在创建CURLOPT_SSL_CTX_FUNCTION
时使用SSL_CTX
安装回调函数来完成此操作。从该CURL回调中,您可以使用常规OpenSSL API SSL_CTX_set_cert_verify_callback()
安装自己的验证函数回调。