ESP8266 NodeMMCU Lua与证书的HTTP安全连接

时间:2016-06-28 09:01:07

标签: lua esp8266 nodemcu

conn=net.createConnection(net.TCP, 1)
conn:on("receive", function(sck, c) print(c) end )
conn:on("connection", function(conn)
      print("connected")
conn= net.cert.verify([[
-----BEGIN CERTIFICATE-----
0‚ 0‚‰ 5ÞôÏ0
     *†H†÷
 0N10     UUS10U
Equifax1-0+U$Equifax Secure Certificate Authority0
980822164151Z
180822164151Z0N10  UUS10U
Equifax1-0+U$Equifax Secure Certificate Authority0Ÿ0
    *†H†÷
  0‰ Á]±Xgbî š-m‘h˜
þÚo„b!ÃÑ|Οà¸ðN4ì⊕d¬ñkS_³Ëg€¿BŽþÝ ìá OüûðÝCº[+á€p™W“ñ—j·Âh#ÌMY0¬Q;¯+ÖîcE{ÅÙ_PÒãP:ˆç¿ýàǹ £‚   0‚0pUi0g0e c a¤_0]10  UUS10U
Equifax1-0+U$Equifax Secure Certificate Authority1
0UCRL10U020180822164151Z0U0U#0€Hæhù+Ò²•×GØ# O3˜ŸÔ0UHæhù+Ò²•×GØ# O3˜ŸÔ0U0ÿ0     *†H†ö}A 
0V3.0cÀ0
    *†H†÷
  XÎ)êü÷޵ιµ…ѹãà•Ì%1
 ¦’n¶’cžP•ÑšoäÞc…n˜î¨ÿZÈÓU²fqWÞÀ!ë=*§#I†B{üî¢RµggÓ@Û;&X²(w=®waÖú*f' 
ú§s\êpñ”!eD_úüï)h©¢‡yïyïO¬w8
-----END CERTIFICATE-----
]])
      conn:send("HEAD / HTTP/1.1\r\n".. 
             "Host: google.com\r\n"..
             "Accept: */*\r\n"..
             "User-Agent: Mozilla/4.0 (compatible; esp8266 Lua;)"..
             "\r\n\r\n") 
end )
conn:connect(443,"google.com")

连接成功执行POST,GET,PUT和Delte等后,我必须使用HTTPS连接HOST或REST API与证书连接证书... 任何人都可以帮助我使用Certicate与HOST创建HTTPS安全连接。

1 个答案:

答案 0 :(得分:0)

我不知道您的net.cert.verify电话的目的是什么以及该证书的来源。看起来好像你只是想向https://google.com发送一个HEAD请求。如果这个假设是正确的,那么我建议你使用NodeMCU 1.5.1中提供的NodeMCU HTTP module

local headers = "Accept: */*\r\n"..
                "User-Agent: Mozilla/4.0 (compatible; esp8266 Lua;)"
http.request("https://google.com", "HEAD", headers, "", 
  function(code, data)
    if (code < 0) then
      print("HTTP request failed")
    else
      print(code, data)
    end
  end)

当然,您需要启用SSL的固件:http://nodemcu-build.com/