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
命令成功后,它会立即停止并尝试获取证书信息。但这没有用。
最佳答案
您可以通过使用 CURLOPT_SSL_CTX_FUNCTION
在创建 SSL_CTX
时安装回调函数来完成此操作。从该 CURL 回调中,您可以使用常规 OpenSSL API SSL_CTX_set_cert_verify_callback()
安装您自己的验证函数回调。
关于c - libcurl:有没有办法在不登录的情况下获取 FTPS 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10397334/