亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rpc_audit.c

?? TCG軟件棧 linux系統(tǒng)上使用 為可信應(yīng)用軟件提供和 TPM通信的 接口 其網(wǎng)站上有很多關(guān)于使用此軟件的測試用例
?? C
字號:
/* * Licensed Materials - Property of IBM * * trousers - An open source TCG Software Stack * * (C) Copyright International Business Machines Corp. 2007 * */#include <stdlib.h>#include <stdio.h>#include <string.h>#include <assert.h>#include "trousers/tss.h"#include "trousers/trousers.h"#include "trousers_types.h"#include "tsplog.h"#include "hosttable.h"#include "tcsd_wrap.h"#include "rpc_tcstp_tsp.h"TSS_RESULTRPC_SetOrdinalAuditStatus_TP(struct host_table_entry *hte,			     TPM_AUTH *ownerAuth,	/* in/out */			     UINT32 ulOrdinal,		/* in */			     TSS_BOOL bAuditState)	/* in */{	TSS_RESULT result;	initData(&hte->comm, 4);	hte->comm.hdr.u.ordinal = TCSD_ORD_SETORDINALAUDITSTATUS;	LogDebugFn("TCS Context: 0x%x", hte->tcsContext);	if (setData(TCSD_PACKET_TYPE_UINT32, 0, &hte->tcsContext, 0, &hte->comm))		return TSPERR(TSS_E_INTERNAL_ERROR);	if (setData(TCSD_PACKET_TYPE_UINT32, 1, &ulOrdinal, 0, &hte->comm))		return TSPERR(TSS_E_INTERNAL_ERROR);	if (setData(TCSD_PACKET_TYPE_BOOL, 2, &bAuditState, 0, &hte->comm))		return TSPERR(TSS_E_INTERNAL_ERROR);	if (setData(TCSD_PACKET_TYPE_AUTH, 3, ownerAuth, 0, &hte->comm))		return TSPERR(TSS_E_INTERNAL_ERROR);	result = sendTCSDPacket(hte);	if (result == TSS_SUCCESS)		result = hte->comm.hdr.u.result;	if (result == TSS_SUCCESS) {		if (getData(TCSD_PACKET_TYPE_AUTH, 0, ownerAuth, 0, &hte->comm))			result = TSPERR(TSS_E_INTERNAL_ERROR);	}	return result;}TSS_RESULTRPC_GetAuditDigest_TP(struct host_table_entry *hte,		      UINT32 startOrdinal,		/* in */		      TPM_DIGEST *auditDigest,		/* out */		      UINT32 *counterValueSize,	/* out */		      BYTE **counterValue,		/* out */		      TSS_BOOL *more,			/* out */		      UINT32 *ordSize,			/* out */		      UINT32 **ordList)		/* out */{	TSS_RESULT result;	initData(&hte->comm, 2);	hte->comm.hdr.u.ordinal = TCSD_ORD_GETAUDITDIGEST;	LogDebugFn("TCS Context: 0x%x", hte->tcsContext);	if (setData(TCSD_PACKET_TYPE_UINT32, 0, &hte->tcsContext, 0, &hte->comm))		return TSPERR(TSS_E_INTERNAL_ERROR);	if (setData(TCSD_PACKET_TYPE_UINT32, 1, &startOrdinal, 0, &hte->comm))		return TSPERR(TSS_E_INTERNAL_ERROR);	result = sendTCSDPacket(hte);	if (result == TSS_SUCCESS)		result = hte->comm.hdr.u.result;	if (result == TSS_SUCCESS) {		if (getData(TCSD_PACKET_TYPE_DIGEST, 0, auditDigest, 0, &hte->comm)) {			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}		if (getData(TCSD_PACKET_TYPE_UINT32, 1, counterValueSize, 0, &hte->comm)) {			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}		*counterValue = (BYTE *)malloc(*counterValueSize);		if (*counterValue == NULL) {			LogError("malloc of %u bytes failed.", *counterValueSize);			result = TSPERR(TSS_E_OUTOFMEMORY);			goto done;		}		if (getData(TCSD_PACKET_TYPE_PBYTE, 2, *counterValue, *counterValueSize, &hte->comm)) {			free(*counterValue);			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}		if (getData(TCSD_PACKET_TYPE_BOOL, 3, more, 0, &hte->comm)) {			free(*counterValue);			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}		if (getData(TCSD_PACKET_TYPE_UINT32, 4, ordSize, 0, &hte->comm)) {			free(*counterValue);			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}		*ordList = (UINT32 *)malloc(*ordSize * sizeof(UINT32));		if (*ordList == NULL) {			LogError("malloc of %u bytes failed.", *ordSize);			free(*counterValue);			result = TSPERR(TSS_E_OUTOFMEMORY);			goto done;		}		if (getData(TCSD_PACKET_TYPE_PBYTE, 5, *ordList, *ordSize * sizeof(UINT32), &hte->comm)) {			free(*counterValue);			free(*ordList);			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}	}done:	return result;}TSS_RESULTRPC_GetAuditDigestSigned_TP(struct host_table_entry *hte,			    TCS_KEY_HANDLE keyHandle,		/* in */			    TSS_BOOL closeAudit,		/* in */			    TPM_NONCE *antiReplay,		/* in */			    TPM_AUTH *privAuth,		/* in/out */			    UINT32 *counterValueSize,		/* out */			    BYTE **counterValue,		/* out */			    TPM_DIGEST *auditDigest,		/* out */			    TPM_DIGEST *ordinalDigest,		/* out */			    UINT32 *sigSize,			/* out */			    BYTE **sig)			/* out */{	TSS_RESULT result = TSPERR(TSS_E_INTERNAL_ERROR);	TPM_AUTH null_auth;	int i;	initData(&hte->comm, 5);	hte->comm.hdr.u.ordinal = TCSD_ORD_GETAUDITDIGESTSIGNED;	LogDebugFn("TCS Context: 0x%x", hte->tcsContext);	memset(&null_auth, 0, sizeof(TPM_AUTH));	if (setData(TCSD_PACKET_TYPE_UINT32, 0, &hte->tcsContext, 0, &hte->comm))		return TSPERR(TSS_E_INTERNAL_ERROR);	if (setData(TCSD_PACKET_TYPE_UINT32, 1, &keyHandle, 0, &hte->comm))		return TSPERR(TSS_E_INTERNAL_ERROR);	if (setData(TCSD_PACKET_TYPE_BOOL, 2, &closeAudit, 0, &hte->comm))		return TSPERR(TSS_E_INTERNAL_ERROR);	if (setData(TCSD_PACKET_TYPE_NONCE, 3, antiReplay, 0, &hte->comm))		return TSPERR(TSS_E_INTERNAL_ERROR);	if (privAuth) {		if (setData(TCSD_PACKET_TYPE_AUTH, 4, privAuth, 0, &hte->comm))			return TSPERR(TSS_E_INTERNAL_ERROR);	}	else {		if (setData(TCSD_PACKET_TYPE_AUTH, 4, &null_auth, 0, &hte->comm))			return TSPERR(TSS_E_INTERNAL_ERROR);	}	result = sendTCSDPacket(hte);	if (result == TSS_SUCCESS)		result = hte->comm.hdr.u.result;	if (result == TSS_SUCCESS) {		i = 0;		if (privAuth) {			if (getData(TCSD_PACKET_TYPE_AUTH, i++, privAuth, 0, &hte->comm)) {				result = TSPERR(TSS_E_INTERNAL_ERROR);				goto done;			}		}		if (getData(TCSD_PACKET_TYPE_UINT32, i++, counterValueSize, 0, &hte->comm)) {			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}		*counterValue = (BYTE *)malloc(*counterValueSize);		if (*counterValue == NULL) {			LogError("malloc of %u bytes failed.", *counterValueSize);			result = TSPERR(TSS_E_OUTOFMEMORY);			goto done;		}		if (getData(TCSD_PACKET_TYPE_PBYTE, i++, *counterValue, *counterValueSize, &hte->comm)) {			free(*counterValue);			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}		if (getData(TCSD_PACKET_TYPE_DIGEST, i++, auditDigest, 0, &hte->comm)) {			free(*counterValue);			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}		if (getData(TCSD_PACKET_TYPE_DIGEST, i++, ordinalDigest, 0, &hte->comm)) {			free(*counterValue);			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}		if (getData(TCSD_PACKET_TYPE_UINT32, i++, sigSize, 0, &hte->comm)) {			free(*counterValue);			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}		*sig = (BYTE *)malloc(*sigSize);		if (*sig == NULL) {			LogError("malloc of %u bytes failed.", *sigSize);			free(*counterValue);			result = TSPERR(TSS_E_OUTOFMEMORY);			goto done;		}		if (getData(TCSD_PACKET_TYPE_PBYTE, i++, *sig, *sigSize, &hte->comm)) {			free(*counterValue);			free(*sig);			result = TSPERR(TSS_E_INTERNAL_ERROR);			goto done;		}	}done:	return result;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本久久综合亚洲鲁鲁五月天 | 91在线一区二区三区| 欧美日韩精品久久久| 美女视频黄 久久| 欧美久久婷婷综合色| 成人av电影免费观看| 国产精品日产欧美久久久久| 欧美专区亚洲专区| 国产酒店精品激情| 亚洲欧美成人一区二区三区| 久久夜色精品国产噜噜av| 色爱区综合激月婷婷| 精品一区在线看| 午夜视频在线观看一区二区| 国产日本欧美一区二区| 国产成人午夜电影网| 欧美国产精品久久| 91精品国模一区二区三区| 一本大道久久精品懂色aⅴ| 成人av在线播放网址| 看电视剧不卡顿的网站| 亚洲香肠在线观看| 国产精品欧美极品| 国产亚洲女人久久久久毛片| 日韩美女天天操| 日韩欧美高清一区| 成人午夜在线免费| 国产老妇另类xxxxx| 免费成人美女在线观看| 日韩电影在线看| 日韩国产成人精品| 亚洲激情av在线| 国产精品三级视频| 日韩精品中文字幕一区二区三区 | 久久99精品国产91久久来源| 亚洲国产精品久久艾草纯爱| 亚洲视频一二区| 国产精品高清亚洲| 国产精品第四页| 国产精品三级av| 亚洲精品视频一区| 伊人夜夜躁av伊人久久| 99久久精品国产一区二区三区 | 99在线热播精品免费| 欧美丝袜丝nylons| 欧美日韩国产三级| 欧美一区二区三区人| 91精品国产一区二区三区蜜臀| 在线这里只有精品| 欧美另类一区二区三区| 337p亚洲精品色噜噜噜| 欧美成人一级视频| 精品精品欲导航| 不卡欧美aaaaa| 蜜桃av噜噜一区二区三区小说| 高清在线不卡av| 国产精品一区二区三区四区| 美美哒免费高清在线观看视频一区二区| 一区二区三区四区av| 久久成人精品无人区| 成人精品电影在线观看| 8x福利精品第一导航| 欧美三级午夜理伦三级中视频| 欧美亚洲国产一卡| 中文字幕国产一区| 三级不卡在线观看| 99在线精品一区二区三区| 日韩精品专区在线| 婷婷六月综合网| 色播五月激情综合网| 国产农村妇女毛片精品久久麻豆| 免费在线视频一区| 欧美精品久久久久久久多人混战| 日本一区二区免费在线观看视频| 日韩高清在线不卡| 91麻豆精品国产91久久久更新时间| 国产最新精品精品你懂的| 在线播放91灌醉迷j高跟美女 | 99精品国产99久久久久久白柏| 99久久久国产精品免费蜜臀| 国产精品美女久久久久久久| 国产乱色国产精品免费视频| 美女视频网站久久| 91精品福利在线一区二区三区| 亚洲三级电影全部在线观看高清| 成人在线视频首页| 一区视频在线播放| 欧美三级蜜桃2在线观看| 亚洲午夜精品网| 欧美色图在线观看| 午夜精品一区二区三区三上悠亚| a4yy欧美一区二区三区| 一区二区三区在线看| 视频一区视频二区在线观看| 国产精品久久久一本精品| 国产一区视频网站| 欧美α欧美αv大片| 国产一区二区在线免费观看| 91精品国产免费| 国产传媒欧美日韩成人| 国产精品久久久久久福利一牛影视| 激情图区综合网| 亚洲同性同志一二三专区| 色天天综合久久久久综合片| 日欧美一区二区| 日韩免费成人网| 欧美伊人久久大香线蕉综合69| 久久精品国产久精国产| 中文字幕成人av| 欧美一区二区三区视频免费| 国产99久久久国产精品潘金 | 日韩精品一区二| 成人性生交大片免费看在线播放 | 欧美一区二区福利视频| a在线欧美一区| 蜜臀久久99精品久久久画质超高清| 亚洲国产精品精华液2区45| 欧美日韩久久一区| 欧美亚洲一区二区在线| 99精品欧美一区二区蜜桃免费| 天堂在线亚洲视频| 一区二区免费视频| 亚洲欧美偷拍另类a∨色屁股| 欧美成人vps| 日韩一区二区电影| 欧美最新大片在线看| 在线这里只有精品| 激情av综合网| 精品一区二区三区av| 久久国产尿小便嘘嘘尿| 国产一区二区三区四区五区入口 | 樱花影视一区二区| 亚洲欧洲三级电影| 亚洲大尺度视频在线观看| 亚洲国产视频a| 久久99精品网久久| 成人一级黄色片| 色综合久久天天综合网| 欧美久久久久久久久久| 欧美精品乱码久久久久久按摩| 欧美日本一道本| 久久久影院官网| 亚洲图片有声小说| 国内精品不卡在线| 91国偷自产一区二区开放时间 | 中文字幕制服丝袜一区二区三区| 国产精品日韩成人| 一区二区免费在线播放| 久久草av在线| 91麻豆免费视频| 日韩一区二区三区高清免费看看| 国产色产综合色产在线视频| 亚洲视频免费看| 精品在线你懂的| 欧美日韩一区视频| 综合久久久久综合| 黄色小说综合网站| 91精品免费在线| 亚洲高清三级视频| 日本国产一区二区| 久久丝袜美腿综合| 午夜精品福利视频网站| 99精品久久免费看蜜臀剧情介绍| 欧美日韩一区二区在线观看 | av中文字幕在线不卡| 26uuu色噜噜精品一区二区| 手机精品视频在线观看| 白白色亚洲国产精品| 中文字幕第一区二区| 国产乱人伦精品一区二区在线观看| 不卡电影一区二区三区| 亚洲欧美一区二区视频| 免费xxxx性欧美18vr| 在线播放日韩导航| 日韩电影免费一区| 日韩欧美黄色影院| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 国产精品中文字幕日韩精品| 在线播放一区二区三区| av一本久道久久综合久久鬼色| 91丨九色丨黑人外教| 精品欧美乱码久久久久久| 国产精品网站在线播放| 韩国欧美国产一区| 欧美日韩不卡在线| 亚洲色图在线看| 成人看片黄a免费看在线| 韩国v欧美v日本v亚洲v| 中文在线一区二区| 91成人在线精品| 国内精品第一页| 亚洲国产高清在线观看视频| av亚洲精华国产精华精| 日韩1区2区3区| 国产精品乱人伦| 欧美日韩国产123区| 狠狠狠色丁香婷婷综合激情| 18欧美亚洲精品| 精品福利视频一区二区三区| 久久99精品视频|