Example #1
0
    def __check_quote_c(self, aikFile, quoteFile, extData):
        os.putenv('TPM_SERVER_PORT', '9999')
        os.putenv('TPM_SERVER_NAME', '9999')
        os.putenv('PATH', os.getenv('PATH') + ':/usr/local/bin')

        if common.STUB_TPM and common.TPM_CANNED_VALUES is not None:
            yamlIn = common.TPM_CANNED_VALUES
            if 'tpmquote' in yamlIn and 'nonce' in yamlIn['tpmquote']:
                # YAML unicode-ifies strings, and C calls require byte strings (str)
                extData = str(yamlIn['tpmquote']['nonce'])
            else:
                raise Exception("Could not get quote nonce from canned YAML!")

        #print('Executing "%s"' % ("checkquote -aik %s -quote %s -nonce %s"%(aikFile, quoteFile, extData),))
        if common.USE_CLIME:
            import _cLime
            retout = _cLime.checkquote('-aik', aikFile, '-quote', quoteFile,
                                       '-nonce', extData)
            retout = [line + '\n' for line in retout.split('\n')]
            # Try and be transparent to tpm_quote.py
            return retout
        else:
            retDict = self.__run("checkquote -aik %s -quote %s -nonce %s" %
                                 (aikFile, quoteFile, extData),
                                 lock=False)
            return retDict['retout']
Example #2
0
def check_quote(aikFile, quoteFile, extData):
    #print('Executing "%s"' % ("checkquote -aik %s -quote %s -nonce %s"%(aikFile, quoteFile, extData),))
    if common.USE_CLIME:
        import _cLime
        retout = _cLime.checkquote('-aik', aikFile, '-quote', quoteFile,
                                   '-nonce', extData)
        retout = [line + '\n' for line in retout.split('\n')]
        # Try and be transparent to tpm_quote.py
        return retout
    else:
        retout = tpm_exec.run("checkquote -aik %s -quote %s -nonce %s" %
                              (aikFile, quoteFile, extData))[0]
        return retout