https双向认证验证证书报error 9 at 1 depth lookup:certificate is not yet valid的错误

环境:ubuntu16.04做https服务器(服务器用libevent实现)

           arm开发板做https客户端 (libcurl实现)

在ubuntu上生成了根证书,服务器证书和私钥,客户端证书和私钥,当在开发板上验证证书时或者连接https时报“error 9 at 1 depth lookup:certificate is not yet valid”的错误。

openssl verify -CAfile cacert.pem  cert.pem

原因:时区不对应。开发板上为UTC时区,ubuntu上为CST时区,假如在开发板上7点生成证书,放在ubuntu上执行,此时ubuntu上的时间才11点,证书没有到合法开始时间。所以会报证书不合法的错误。

解决:将ubuntu上CST时区改为UTC时区:

ln -sf /usr/share/zoneinfo/UTC /etc/localtime

 

你可能感兴趣的:(openssl,https)