Files
pycom-documentation/content/tutorials/networkprotocols/https.md
2020-07-28 13:37:04 +02:00

1.5 KiB

title, aliases
title aliases
HTTPS
tutorials/all/https.html
tutorials/all/https.md
chapter/tutorials/all/https

Using HTTPS adds Transport Layer Security (TLS) to your network traffic. The advantage is an encrypted connection between your device and the server.

Basic example

from network import WLAN #note that you can also use LTE
import socket
import ssl
import time

wlan = WLAN()
wlan.init(mode=WLAN.STA, ssid='your ssid', auth=(WLAN.WPA2, 'your password'))
print("connecting", end='')
while not wlan.isconnected():
    time.sleep(0.25)
    print(".", end='')

print("connected")
print(wlan.ifconfig())
s = socket.socket(usocket.AF_INET, usocket.SOCK_STREAM)
ss = ssl.wrap_socket(s) #adds TLS
ss.connect(socket.getaddrinfo('pycom.io', 443)[0][-1])
rec = ss.recv(4096)
print(rec)

Basic connection using ssl.wrap_socket().

import socket
import ssl

s = socket.socket()
ss = ssl.wrap_socket(s)
ss.connect(socket.getaddrinfo('www.google.com', 443)[0][-1])
ss.se

Below is an example using certificates with the blynk cloud.

Certificate was downloaded from the blynk examples folder and placed in /flash/cert/ on the device.

import socket
import ssl

s = socket.socket()
ss = ssl.wrap_socket(s, cert_reqs=ssl.CERT_REQUIRED, ca_certs='/flash/cert/ca.pem')
ss.connect(socket.getaddrinfo('cloud.blynk.cc', 8441)[0][-1])

For more info, check the ssl module in the API reference.