现在有个 MCU,移植了 mbedtls,但是在验证 CA 证书的环节老是报 MBEDTLS_ERR_X509_INVALID_FORMAT ( mbedtls_x509_crt_parse() failed, value:-0x2180 )这个错误。我用其他的人给我的 CA 证书能验过,但是我自己通过 openssl 生成的证书怎么也验不过。
我生成证书的方式如下: 1、 openssl genrsa -des3 -out myopenssl.key 2048 然后根据提示设置密码 2、 openssl req -new -key myopenssl.key -out myopenssl.csr 然后根据提示随便设置些东西 3、 openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey myopenssl.key -in myopenssl.csr -out myopenssl.crt 然后根据提示输入前面的密码 此时会得到 CA 根证书 myopenssl.crt ,我是把这个证书传入 MCU 的。
4、 openssl genrsa – des3 -out server.key 2048 5、 openssl req -new -key server.key -out server.csr 6、 openssl x509 -req -days 1095 -sha1 -extensions v3_req -CA myopenssl.crt -CAkey myopenssl.key -CAserial myopenssl.srl -CAcreateserial -in server.csr -out server.crt 此时会得到 server.crt ,我把这个放到 https 服务器上面。
这个问题卡住好长一段时间了
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.