C语言 libcurl-NSS built Imap with tls :SSL CA cert (path? acce



我目前正在尝试在Windows应用程序上使用libcurl制作imap客户端。 我正在使用带有 NSS 支持的预构建版本的 libCurl,但没有 OpenSSL 支持(这是由上级决定的(,当我尝试使用 URL imaps://serveraddress/inbox 连接到我的服务器时,CURLOPT_USE_SSL设置为 CURLUSESSL_ALL,并在 cert8 中CURLOPT_CAINFO我的证书昵称.db我得到

* Trying servAdress...
* TCP_NODELAY set
Connected to servAdress (servAdress) port portn(#0)
WARNING: failed to load NSS PEM library libnsspem.so. Using OpenSSL PEM certificates will not work.
CAfile: certname
CApath: none
*Closing connection 0
curl_easy_perform() failed: Problem with the SSL CA cert (path? access rights?)

我尝试将CURLOPT_SSLCERT设置为我的 certName,但除了添加了该行外,我得到了相同的错误:

* Initializing NSS with certpath: sql:C:UsersmlegrosSSL_DB

我的问题是有没有办法在 libcurl 中使用带有 IMAP 的 NSS 数据库证书?

Windows DLL尝试加载.so文件(如果我没记错的话,它是Linux格式(也是正常的吗?

PS:这是我的版本信息

  • curl 版本 7.58.0

  • 战国策 3.34.1

  • 编译器:MSVC 14.12.25827

希望你能帮助我。

所以问题出在 libcurl 中

库名称是用 Linux 名称硬编码的,如果未加载 libnssckbi,我们将无法加载根据此 https://github.com/curl/curl/pull/3016 修改的第二部分的另一个证书。

如果您不想重新编译 libcurl,一个快速解决方法是将 nssckbi 重命名.dll

重命名为 libnssckbi.so

相关内容

  • 没有找到相关文章

最新更新