in example/device.py [0:0]
def parse_response_data(data, local_private_key):
try:
logging.info('Parsing provisioning results')
resp = json.loads(data.decode('ascii'))
remote_public_key = X25519PublicKey.from_public_bytes(
base64.b64decode(resp['publicKey'])
)
secret = local_private_key.exchange(remote_public_key)
fernet = Fernet(base64.b64encode(secret))
private_key = fernet.decrypt(
resp['encryptedPrivateKey'].encode('utf-8')
).decode('utf-8')
logging.info("Get device certificate: \n %s", resp['certificatePem'])
logging.info("Get device private key: \n %s", private_key)
except Exception:
logging.error('Fail to parse the response from provisioning app')