ESP8266 – WiFiServerSecure库 – setRSACert

位置导航: ESP8266库 / WiFiServerSecure库 / 本页

说明

通过WiFiServerSecure语句,我们可以建立WiFiServerSecure对象从而使用ESP8266建立支持HTTPS协议的物联网服务器。

语法

server.setRSACert(cert, privateKey)

参数

– cert: 服务器证书
– privateKey:服务器私钥

返回值

示例程序

为了演示本实例程序的运行结果,我在这里使用基于Chrome内核的Microsoft Edge浏览器来进行示例程序操作演示。

请务必注意:本示例程序所使用的证书和密钥只能用于测试使用。您在自己搭建ESP8266物联网项目时,需要自行建立 证书密钥而不要使用本示例中的证书和密钥。

当您将以下示例程序中的WiFi连接信息修改并且将本示例程序上传ESP8266开发板后,开发板随即会自动连接WiFi。WiFi连接成功后,您将可以从串口监视器获取当前ESP8266开发板的IP地址。此时,ESP8266已经成功建立了支持HTTPS协议的网络服务器。您可以通过ESP8266的IP地址来访问该网络服务器。

假设您的ESP8266开发板IP地址是192.168.0.111。那么接下来您可以通过浏览器输入

https://192.168.0.111

注意一定要在ESP8266的IP地址前面加上“https//”。这一操作将会让浏览器通过https协议访问ESP8266所建立的服务器。如果不输入这一信息,浏览器默认会使用http协议而不是https协议。也就达不到我们想要实现的效果。(如下图所示)

ESP8266-WiFiServerSecure-0
ESP8266-WiFiServerSecure-0

当您如上图所示输入完IP地址后,接下来 请按下回车键。您将在浏览器中看到如下警告信息 。这很正常,因为ESP8266的服务器证书不是CA颁布的证书,所以浏览器会警告我们,它无法确定ESP8266服务器的身份信息。请忽略这一警告信息,并按照下图所示,点击按钮。

ESP8266-WiFiServerSecure-1
ESP8266-WiFiServerSecure-1

接下来您将看到如下图所示的信息。该信息正是详细说明为何无法验证ESP8266服务器身份的原因。我们需要继续忽略 这一警告信息,并按照下图所示,点击链接。

ESP8266-WiFiServerSecure-2
ESP8266-WiFiServerSecure-2

如下图所示,您将看到浏览器中出现了“Hello from ESP8266”信息。这一信息是由ESP8266服务器发来的。说明我们的ESP8266服务器已经可以通过HTTPS协议进行数据通讯了。

ESP8266-WiFiServerSecure-3
ESP8266-WiFiServerSecure-3

以下示例程序中我们首先使用语句 X509List *serverCertList = new BearSSL::X509List(server_cert);建立X509List对象用于处理及储存服务器证书。接下来我们使用了语句PrivateKey *serverPrivKey = new BearSSL::PrivateKey(server_private_key);建立PrivateKey对象用于处理及储存服务器私钥。最后我们使用语句server.setRSACert(serverCertList, serverPrivKey);设置服务器证书和服务器私钥。具体使用方法,请见以下程序的高亮部分。

位置导航: ESP8266库 / WiFiServerSecure库 / 本页