def assemble_certificates()

in provisioningHandler.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]

        os.makedirs(self.secure_cert_path.format(unique_id=self.unique_id), exist_ok=True) 
        
        self.new_cert_name = 'production-certificate.pem.crt' ##.format(self.new_key_root)
        ### Create certificate
        f = open('{}/{}'.format(self.secure_cert_path.format(unique_id=self.unique_id), self.new_cert_name), 'w+')
        f.write(payload['certificatePem'])
        f.close()
        
         ### Extract/return Ownership token
        self.ownership_token = payload['certificateOwnershipToken']
        self.CertificateId = cert_id
        
        ### Create private key if not CSR based
        if 'privateKey' in payload:
            self.new_key_name = 'production-private.pem.key' ##.format(self.new_key_root)
            f = open('{}/{}'.format(self.secure_cert_path.format(unique_id=self.unique_id), self.new_key_name), 'w+')
            f.write(payload['privateKey'])
            f.close()
            # Register newly aquired cert
            self.register_thing(self.unique_id, self.ownership_token)
        else:
           self.new_key_name = 'csr-bootstrap.key'
           self.core_connect()
           self.enable_provisioning_monitor()
            # Register newly aquired cert
           self.register_thing(self.unique_id, self.ownership_token)