关于mongoose由http转换成https在Linux下笔记(1)

嵌入式linux下已经实现了mongoose6.4的httpserver 

但是,据悉苹果不就将不再支持http,要支持https,所以为了迁就苹果,要在嵌入式 linux下将我们的mongoose httpserver 改成

https.

https 是一种支持ssl证书认证的http,客户端访问https 服务器的时候会比较这两个证书是否一样,在linux下有个openssl 这是一个标准的ssl协议。

mongoose 嵌入了OpenSSL。

在 linux Ubuntu下查看OpenSSL的 版本使用命令  OpenSSL  version 便可一看到版本信息。

官网https的说明详见  https://docs.cesanta.com/mongoose/master/#/overview/


步骤如下

1 获取SSL证书文件和私钥文件
2 声明结构mg_bind_opts,初始化ssl_cert和ssl_key
3 使用mg_bind_opt()创建侦听套接字


例子


int main(void) 

{ 

struct mg_mgr mgr; 

struct mg_connection *c; 

struct mg_bind_opts bind_opts; 

mg_mgr_init(&mgr, NULL); 

memset(&bind_opts, 0, sizeof(bind_opts)); 

bind_opts.ssl_cert = "server.pem";

bind_opts.ssl_key = "key.pem"; 

// Use bind_opts to specify SSL certificate & key file 

c = mg_bind_opt(&mgr, "443", ev_handler, bind_opts); 

mg_set_protocol_http_websocket(c); ... 

}


sitemap