in rpi-image-builder/aws-iot-fleet-provisioning/provisioning_handler.py [0:0]
def assemble_certificates(self, payload):
""" Method takes the payload and constructs/saves the certificate and private key. Method uses
existing AWS IoT Core naming convention.
Arguments:
payload {string} -- Certifiable certificate/key data.
Returns:
ownership_token {string} -- proof of ownership from certificate issuance activity.
"""
### Cert ID
cert_id = payload['certificateId']
self.new_key_root = cert_id[0:10]
self.new_cert_name = '{}-certificate.pem.crt'.format(self.new_key_root)
### Create certificate
f = open('{}/{}'.format(self.secure_cert_path, self.new_cert_name), 'w+')
f.write(payload['certificatePem'])
f.close()
### Create private key
self.new_key_name = '{}-private.pem.key'.format(self.new_key_root)
f = open('{}/{}'.format(self.secure_cert_path, self.new_key_name), 'w+')
f.write(payload['privateKey'])
f.close()
### Extract/return Ownership token
self.ownership_token = payload['certificateOwnershipToken']
# Register newly aquired cert
self.register_thing(self.unique_id, self.ownership_token)