ESP8266 SSL 证书认证失败,何解?

alexsunmiu
Posts: 40
Joined: Tue May 05, 2015 4:48 pm
Contact:

ESP8266 SSL 证书认证失败,何解?

Postby alexsunmiu » Sun Oct 21, 2018 7:29 pm

使用 5A 文档中的步骤,并使用 tools/makefile.sh 脚本,生成了 证书与 esp_ca_cert.bin 并烧入,使用 golang tls 库创建 tcp ssl socket 服务器,终端连接时显示日志如下:

please start sntp first !
TLS.ca_x509.cer 2c0
the file is a PEM file.
client handshake start.
distinguished names: [<null>], [192.168.111.100]
please start sntp first !
before 1540080000, tv_sec 5, after 1972080000
client handshake failed
Error: Cert is not yet valid

服务器 为 Golang 开发,加载 makefile.sh 生成的已签名的服务器证书,如下示例:

Code: Select all

   cert, err := tls.LoadX509KeyPair("server/server.crt", "server/server.key")
   if err != nil {
      fmt.Printf("load x509 error, %s", err)
      return
   }

   config := &tls.Config{
      Certificates: []tls.Certificate{cert},
   }

但在 socket recv data 时,也提示:remote error: tls: bad certificate

几个问题:
1,服务端加载脚本生成的, server 目录的这俩证书/私钥,正确否?
2,8266 启动 SSL TCP Connect前,需要先启动使能 SNTP吗?此项是必须的吗,目的是为了获取当前时间,从而知道服务器证书是否过期?
3,我看了下 makefile.sh 脚本中,使用了 openssl 的 CN 字段,此项是匹配 socket peer addr 的 TCP IP地址吗?如果是的,为啥日志提示 <null> 与 证书中的 CN 字段进行比较?
another ESP8266 cloud service. https://espush.cn/

Her Majesty
Posts: 345
Joined: Mon Oct 27, 2014 11:09 am

Re: ESP8266 SSL 证书认证失败,何解?

Postby Her Majesty » Wed Oct 24, 2018 2:18 pm

要先使能 SNTP 的,判断 SSL 证书是否在有效期内。

Who is online

Users browsing this forum: No registered users and 10 guests