问题

证书验证失败。在pc上跑openssl服务器端程序,板子上跑客户端程序,开启双向验证,板子端验证证书失败,错误如下。

我确认证书是没有问题的。因为证书是我自己用命令生成的自签名证书,且服务器和客户端都在本地pc运行时ok的。所以应该是环境问题。

root@a1000:/mnt/luyanhui/client/connect-2-mypc# ./ssl-client
Begin tcp socket...
Begin SSL negotiation
281473412584752:error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:../openssl-1.1.1b/ssl/statem/statem_clnt.c:1924:

原因

经过调查是因为板子时间不对。

root@a1000:/mnt/luyanhui/client/connect-2-mypc# date
Tue Jan 18 19:35:17 UTC 2022

板子时间显示是1月18号,比我证书的时间还要早。。。。

解决方法

修改板子时间

date -s 2022-5-23
Mon May 23 00:00:00 UTC 2022
root@a1000:/mnt/luyanhui/client/connect-2-mypc# date
Mon May 23 00:00:05 UTC 2022

修改后运行ok

 

 

更多推荐

SSL routines:tls_process_server_certificate:certificate verify failed:证书验证失败问题