可能不在重复发了,这里的不太全 ~~ 请看链接吧~~~ 

我自己的原文哦~  ​​​​​​https://blog.51cto.com/whaosoft/11803802

单片机MCU中的加密通道,   使用各种的加密通道, http / tcp / mqtt 等

0、生成双向证书

注意下面的所有 .conf 都可以不要可以手动设置都为空也行

0.1、ca根证书

修改根证书生成命令生成ca秘钥,得到ca.key

openssl genrsa -out ca.key 4096

生成ca证书签发请求,得到ca.csr

openssl req -new -sha256 -out ca.csr -key ca.key -config ca.conf

生成ca根证书,得到ca.pem的命令:

openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.pem
0.2、服务端证书

修改服务端证书生成命令

生成秘钥,得到server.key

openssl genrsa -out server.key 2048

生成证书签发请求,得到server.csr

openssl req -new -sha256 -out server.csr -key server.key -config server.conf

用CA证书生成服务端证书,得到server.pem

openssl x509 -req -days 3650 -CA ca.pem -CAkey ca.key -CAcreateserial -in server.csr -out server.pem -extensions req_ext -extfile server.conf
0.3、客户端证书

生成秘钥,得到client.key

openssl ecparam -genkey -name secp384r1 -out client.key

生成证书签发请求,得到client.csr

openssl req -new -sha256 -out client.csr -key client.key -config client.conf

用CA证书生成客户端证书,得到client.pem

openssl x509 -req -days 3650 -CA ca.pem -CAkey ca.key -CAcreateserial -in client.csr -out client.pem -extensions req_ext -extfile client.conf

一、LWIP+MBEDTLS

有个疑问~~?? 双向认证都需要ca, 但没看见lwip的mbed封装里有放ca的方法呢?

1.1、https
恶心问题:  

httpd_inits时 altcp_tls_new 老失败 ==0000 ~~ 

一点点debug吧 mbedtls_ssl_setup - mbedtls_calloc == NULL

具体 conf 不知道用哪个

是altcp_tls_create_config_server_privkey_cert 还是 altcp_tls_create_config_client 说是什么

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐