gpt4 book ai didi

c - libcurl-NSS 使用 tls :SSL CA cert (path? 访问权限构建 Imap?)windows

转载 作者:太空宇宙 更新时间:2023-11-03 14:31:56 25 4
gpt4 key购买 nike

我目前正在尝试在 Windows 应用程序上使用 libcurl 创建一个 imap 客户端。我正在使用带有 NSS 支持但不支持 OpenSSL 的 libCurl 的预构建版本(由上级决定),当我尝试使用 URL imaps://serveraddress/inbox 连接到我的服务器时,将 CURLOPT_USE_SSL 设置为CURLUSSSL_ALL 和 CURLOPT_CAINFO 到我在 cert8.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:\Users\mlegros\SSL_DB\

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

Windows dll 尝试加载 .so 文件是否正常(如果我没记错的话,它是 linux 格式)?

ps: 这是我的版本信息

  • curl 版本 7.58.0

  • NSS 3.34.1

  • 编译器:MSVC 14.12.25827

希望你能帮助我。

最佳答案

所以问题出在 libcurl 中

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

如果您不想重新编译 libcurl,一个快速修复方法是将 nssckbi.dll 重命名为 libnssckbi.so

关于c - libcurl-NSS 使用 tls :SSL CA cert (path? 访问权限构建 Imap?)windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52036445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com