Goahead下支持https

来源:互联网 发布:php tp框架手册 编辑:程序博客网 时间:2024/06/14 09:11

环境: 在IP 话机中配置文件从网页下载,使其支持具有安全传输加密的https


在Goahead中LINUX下的Makefile中添加 

SSLPATCHFILE = ../websSSL.o

# SSLINC = /usr/include   (这里是你编译生成的静态库的路径)
# SSLLIB = /usr/lib/libssl.a   /usr/lib/libcrypto.a  (这里是你编译生成的静态库的路径)
SSLSW   = -DWEBS_SSL_SUPPORT -I$(SSLINC) -DOPENSSL

使其支持ssl


在linux 下交叉编译openssl  和 curl 

ssl 编译后会产生libssl.a   libcrypto.a,  

在编译curl的时候一定要配置configure,使其enable ssl ,当然也可以选择自己写一个脚本来配置,需要那些选项直接--enable  后者disabled就可以啦, 我是选择后者。在运行./configure后看到

 SSL support:     enabled (OpenSSL)

才表示支持ssl ,然后make   && make install  ,这里一定要注意验证生成的lib是否已经完全支持ssl 

在生成的bin下会看到curl  和 curl-config  ,在这里,    

 ./curl-config --features有如下

SSL
libz

和运行

./curl-config --protocols 有如下

HTTP
HTTPS 

那么恭喜你,  你已经离成功非常非常近啦 !


至此libcurl就编译好了 ,只要一直到开发板上就可以了!


期间有关于-lcrypto与-lssl 在链接的时候的次序问题,说是ssl依赖crypto,所以在交叉编译的时候Makefile中为-lssl -lcrypto ,也有指定链接库的,如下文章

http://blog.csdn.net/langeldep/article/details/6223649


这个期间我个人捣腾了很久,一直不明白ssl 编译ok 了, curl 编译也出现

 SSL support:     enabled (OpenSSL)
  SSH support:     no      (--with-libssh2)
  zlib support:    enabled

但是就是在下载文件的时候出现unsupported protocols 以及error 等

后来经过一翻折腾,跑到bin下跑curl-config 才发现根本就没有支持https  。

各种缘由是由于在编译好curl库后,在最后整合编译的时候没有将支持https。 最好还独立编译curl,然后在整合编译的时候不跑clean curl才通过的!(个人环境问题)




0 0
原创粉丝点击