内容简介:写完简单看了下官方文档,对它有了感性的认识,本文会涉及三部分,第一就是 wolfSSL 的安装,第二是是配置 tiny-curl,第三就是简单了解如何使用 libcurl 包。wolfSSL 公司有很多产品,最重要的就是 wolfSSL,它是一个轻量级的 SSL 实现,主要应用于嵌入式系统。它的卖点就是速度快,功能多,包比较小,目前已经支持 TLS 1.3,只有 OpenSSL 的1/20 大小。
写完 《嵌入式设备上的Curl工具》 这篇文章后,收获就是了解了 wolfSSL 这个 TLS 实现。
简单看了下官方文档,对它有了感性的认识,本文会涉及三部分,第一就是 wolfSSL 的安装,第二是是配置 tiny-curl,第三就是简单了解如何使用 libcurl 包。
wolfSSL 公司有很多产品,最重要的就是 wolfSSL,它是一个轻量级的 SSL 实现,主要应用于嵌入式系统。它的卖点就是速度快,功能多,包比较小,目前已经支持 TLS 1.3,只有 OpenSSL 的1/20 大小。
如果大家要选择一个 TLS 库,且觉得 OpenSSL 比较大,wolfSSL 是一个选择,但目前关注度比较少,同时也缺乏一些类似 openssl s_clinet 这样的 工具 包。
首先去 https://www.wolfssl.com/download 下载 wolfssl(wolfssl-4.0.0.zip)和 tiny-curl(tiny-curl-0.9-7.64.1.zip),安装 wolfssl:
$ unzip wolfssl-4.0.0.zip $ cd wolfssl-4.0.0/ $ ./configure --help $ ./configure --prefix /usr/local/wolfssl $ make $ make install $ ./testsuite/testsuite.test $ cd /usr/local/wolfssl/bin $./wolfssl-config --version 4.0.0
然后安装 tiny-curl,主要注意使用 wolfssl 库,执行如下:
$ unzip tiny-curl-0.9-7.64.1.zip $ cd tiny-curl-0.9-7.64.1 #--disable-shared --enable-static $ ./configure --prefix ~/tiny-curl --with-wolfssl=/usr/local/wolfssl --without-ssl $ make $ make install
然后测试 tiny-curl,执行如下:
$ ~/tiny-curl/bin/curl --version curl 7.64.1 (x86_64-pc-linux-gnu) libcurl/7.64.1 wolfSSL/4.0.0 zlib/1.2.8 Release-Date: 2019-05-03 Protocols: dict ftp ftps http https smtp smtps telnet tftp Features: AsynchDNS HTTP2 IPv6 Largefile libz SSL UnixSockets
libcurl 带了一个工具 curl-config,执行如下:
$ ./curl-config --version libcurl 7.64.1
$ ~/tiny-curl/bin/curl --version curl 7.64.1 (x86_64-pc-linux-gnu) libcurl/7.64.1 wolfSSL/4.0.0 zlib/1.2.8 Release-Date: 2019-05-03 Protocols: ftp ftps http https imap imaps pop3 smtp smtps telnet Features: AsynchDNS HTTP2 IPv6 libz SSL UnixSockets
最后,如何使用 tiny-curl 的 libcurl 包呢?简单写个例子(examole.c):
#include <stdio.h> #include <./curl/curl.h> int main(void) { CURL *curl; curl_global_init(CURL_GLOBAL_DEFAULT); curl = curl_easy_init(); if(curl) { curl_version_info_data *d = curl_version_info(CURLVERSION_NOW); printf("%s",d->version); } return 0; }
接下去编译:
$ `~/tiny-curl/bin/curl-config --cc --cflags` -o example example.c `~/tiny-curl/bin/curl-config --libs` $ ./example
写完这篇文章后,我意识到自己的不足,对于偏底层的代码没写过,写的都是应用层代码,所以下一阶段还有很大的不足,为什么这么说呢,在 gcc example.c 的时候遇到很多问题,而且还没有解决,欢迎大家提出潜在的问题。
通过写公众号,我成长了很多,也希望文章给大家一些帮助,同时在您不反感的情况下,给我多多点点广告。
以上所述就是小编给大家介绍的《初识wolfSSL,OpenSSL的一个替代品》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- JSX的替代品[译]
- [译]JSX的替代品
- sharedata 的替代品:datasheet
- Kubectl 的替代品:kubeman
- Postman 的替代品来了
- Alfred的免费开源替代品Zazu
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
跨境电商——阿里巴巴速卖通宝典
速卖通大学 编著 / 电子工业出版社 / 2015-1 / 69.00元
跨境电商作为中国电子商务发展的最新趋势,受到了全社会越来越多的重视,大量中国卖家借助阿里巴巴速卖通平台,将产品直接售卖到全球的消费者手中,通过这条短得不能再短的交易链,获得了丰厚的回报。 但同时,跨境电商这一贸易形式,对卖家的综合素质要求比较高:卖家要对海外市场比较熟悉,对跨境物流有所把握,能够用外语进行产品介绍和客户交流,通过跨境结算拿到货款……诸如此类的门槛,让不少新卖家心生畏难,而所有......一起来看看 《跨境电商——阿里巴巴速卖通宝典》 这本书的介绍吧!