def _sign(self, binary_to_sign, image_tosign_filename, cert_folder):

        c_path.create_dir(cert_folder)

        c_misc.store_data_to_file(image_tosign_filename, binary_to_sign)
        sig_package = signerutils.getSigPackage(cert_folder)
        if sig_package is not None:
            [signature, cert_chain_list] = signerutils.\
                                        readSigFromZip(sig_package)
            if self.validate_sig(binary_to_sign, signature,
                                 cert_chain_list) is False:
                raise ExternalSignerError(
                    self.MESG_INVALID_SIG.format(image_tosign_filename,
                                                 sig_package))

        else:
            raise ExternalSignerError(
                self.MESG_ASKUSERTOSIGN.format(image_tosign_filename,
                                               cert_folder))

        signer_output = self._get_signer_output(signature, cert_chain_list)

        self._cleanup(cert_folder)

        return signer_output
    def _sign(self, binary_to_sign,
                    image_tosign_filename, cert_folder):

        c_path.create_dir(cert_folder)

        c_misc.store_data_to_file(image_tosign_filename, binary_to_sign)
        sig_package = signerutils.getSigPackage(cert_folder)
        if sig_package is not None:
            [signature, cert_chain_list] = signerutils.\
                                        readSigFromZip(sig_package)
            if self.validate_sig(binary_to_sign, signature,
                                        cert_chain_list) is False:
                raise ExternalSignerError(
                        self.MESG_INVALID_SIG.
                                    format(image_tosign_filename, sig_package))

        else:
            raise ExternalSignerError(
                    self.MESG_ASKUSERTOSIGN.
                                format(image_tosign_filename, cert_folder))

        signer_output = self._get_signer_output(signature, cert_chain_list)

        self._cleanup(cert_folder)

        return signer_output