def show_group(group_num):
""" Returns info about group `group_num` using VTPM_ORD_GROUP_SHOW"""
out = {'num': group_num, 'vtpms': []}
body = vtpm_raw(0x1C2, struct.pack('>II', 0x02000107, group_num))
(uuid, pk, cfg) = struct.unpack('16s 256s 16s', body)
uuid = stringify_uuid(uuid)
logger.info('Group [%d] UUID: %s', group_num, uuid)
pk_hash = hashlib.sha1(pk).hexdigest()
logger.info(' PK Hash: %s', pk_hash)
logger.info(' Cfg list: %s', cfg.encode('hex'))
body = vtpm_cmd(VTPM_ORD_VTPM_LIST, struct.pack('>II', group_num, 0))
((num_vtpms,), body) = unpack('>I', body)
if num_vtpms > 0:
logger.info(' vTPMs: ')
vtpms = struct.unpack('16s' * num_vtpms, body)
vtpms = [stringify_uuid(vtpm) for vtpm in vtpms]
for i, vtpm in enumerate(vtpms):
logger.info(' [%d]: %s', i, vtpm)
out['vtpms'].append(vtpm)
out['uuid'] = uuid
return out
评论列表
文章目录