【问题标题】:How to add certificate file to setting up libcurl HTTPS connection on the os which doesn't have file system?如何添加证书文件以在没有文件系统的操作系统上设置 libcurl HTTPS 连接?
【发布时间】:2016-08-30 00:22:26
【问题描述】:

我正在尝试将 libcurl 移植到设备。

我在 Windows 上用 C 语言编程,我想使用该设备通过 HTTPS 与 Web 服务器进行通信。

但我有一个问题,我在设置选项时不知道如何添加我的证书文件。

我有一个 .pem 文件,里面有很多证书。 而且我发现了两个curl_easy_setopt()选项:CURLOPT_CAINFOCURLOPT_CAPATH可以设置证书文件路径或者目录路径到libcurl连接。

但是有一个问题:设备的操作系统没有文件系统。

有没有办法在设备上设置 HTTPS 连接的证书?

【问题讨论】:

  • 不,我认为证书文件是服务器证书。 libcurl会检查服务器的hello包的服务器证书是否存在于证书文件中。
  • 所以这是受信任的 CA 列表 :)
  • 是的,该文件是受信任的CA列表。
  • 当你说设备没有文件系统时,它还能创建ramdisk吗? (我猜程序是一个只读芯片?)
  • 创建文件系统对我来说似乎太难了...是否可以将CA文件作为硬代码写入libcurl?

标签: c ssl curl https libcurl


【解决方案1】:

cacertinmemory.c 是 curl 项目的一个示例,展示了如果 libcurl 是使用 OpenSSL 构建的,如何做到这一点。

【讨论】:

  • 我使用 OpenSSL 构建了 libcurl,并且我之前尝试过这个示例。这个对我有用!感谢您的回答!
猜你喜欢
  • 1970-01-01
  • 2017-08-15
  • 2015-07-14
  • 2013-12-05
  • 1970-01-01
  • 1970-01-01
  • 2020-04-05
  • 2012-08-16
  • 1970-01-01
相关资源
最近更新 更多