器件型号:CC3220
您好!
我们目前正在尝试让 HTTPS 服务器在基于 Simplelink SDK2.20的 CC3220SF 应用中工作。 该应用程序使用板载 HTTPS 服务器进行配置和本地 OTA 、需要确保安全。 我们使用以下信任链"device _domain_name"-> Thawte RSA CA 2018 -> DigiCert 全局根 CA 购买了 SSL 证书。
CC3320的域名设置为“device _domain_name”,证书+私钥存储在文件系统中。 我们按照编程人员指南中的说明启动 HTTP 服务器并重定向到安全端口。
/*设置用于 SSL 密钥交换的文件名*/
SetNetAppHttp (RetVal、
SL_NetApp_HTTP_DEVICE_CERTIFICE_FILENAME、
strlen ((char *) SSL_Server_CERT)、
(const uint8_t *) SSL_SERVER_CERT);
SetNetAppHttp (RetVal、
SL_NetApp_HTTP_PRIVE_KEY_FILENAME、
strlen ((char *) SSL_Server_key)、
(const uint8_t *) ssl_Server_key);
SetNetAppHttp (RetVal、
SL_NetApp_HTTP_CA_certificate_file_name、
sizeof (serverCACertificateFileName)、
serverCACertificateFileName);
/*激活主 HTTP 端口上的 SSL 安全性并将其更改为
443 (标准 HTTPS 端口)*/
SetNetAppHttp (RetVal、
SL_NetApp_HTTP_PRIMARY_PORT_SECURITY_MODE、
sizeof (安全模式)、
安全模式(&S);
SetNetAppHttp (RetVal、
SL_NetApp_HTTP_PRIME_PORT_NUMBER、
sizeof (https://Port)、
https://port);
/*启用辅助 HTTP 端口(只能用于重定向
安全主端口的连接)*/
SetNetAppHttp (RetVal、
SL_NetApp_HTTP_secondary 端口编号、
sizeof (次级端口)、
次级端口);
SetNetAppHttp (RetVal、
SL_NetApp_HTTP_secondary 端口启用、
sizeof (secondaryPortEnable)、
辅助端口启用);
RetVal = sl_NetAppStop (sl_NetApp_HTTP_Server_ID);
RetVal = sl_NetAppStart (sl_NetApp_HTTP_Server_ID);
在尝试访问网页时,浏览器会显示“NET:ERR_CERT_common_name_invalid”。 这可能是因为颁发证书是为了验证"device _domain_name"、但名称解析为 IP 地址。 换言之、键入"device_domain_name" 会导致"device_IP_Address" 、浏览器会报告常见名称或域错误。
是否可以以证书仍然有效的方式解决此重定向问题?
或者 是否有其他类型的证书可以解决此问题?
我们是否在这里遗漏了一些东西?
此致
Adithya