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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? rpc_seal.c

?? TCG軟件棧 linux系統(tǒng)上使用 為可信應(yīng)用軟件提供和 TPM通信的 接口 其網(wǎng)站上有很多關(guān)于使用此軟件的測(cè)試用例
?? C
字號(hào):
/* * Licensed Materials - Property of IBM * * trousers - An open source TCG Software Stack * * (C) Copyright International Business Machines Corp. 2004-2006 * */#include <stdlib.h>#include <stdio.h>#include <syslog.h>#include <string.h>#include <netdb.h>#include "trousers/tss.h"#include "trousers_types.h"#include "tcs_tsp.h"#include "tcs_utils.h"#include "tcs_int_literals.h"#include "capabilities.h"#include "tcslog.h"#include "tcsd_wrap.h"#include "tcsd.h"#include "tcs_utils.h"#include "rpc_tcstp_tcs.h"TSS_RESULTtcs_common_Seal(UINT32 sealOrdinal,		struct tcsd_thread_data *data){	TSS_RESULT result;	TCS_CONTEXT_HANDLE hContext;	TCS_KEY_HANDLE keyHandle;	TCPA_ENCAUTH KeyUsageAuth;	UINT32 PCRInfoSize, inDataSize;	BYTE *PCRInfo = NULL, *inData = NULL;	TPM_AUTH emptyAuth, pubAuth, *pAuth;	UINT32 outDataSize;	BYTE *outData;	int i = 0;	memset(&emptyAuth, 0, sizeof(TPM_AUTH));	memset(&pubAuth, 0, sizeof(TPM_AUTH));	if (getData(TCSD_PACKET_TYPE_UINT32, i++, &hContext, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	LogDebugFn("thread %zd context %x", THREAD_ID, hContext);	if (getData(TCSD_PACKET_TYPE_UINT32, i++, &keyHandle, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_ENCAUTH, i++, &KeyUsageAuth, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_UINT32, i++, &PCRInfoSize, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (PCRInfoSize > 0) {		PCRInfo = calloc(1, PCRInfoSize);		if (PCRInfo == NULL) {			LogError("malloc of %u bytes failed.", PCRInfoSize);			return TCSERR(TSS_E_OUTOFMEMORY);		}		if (getData(TCSD_PACKET_TYPE_PBYTE, i++, PCRInfo, PCRInfoSize, &data->comm)) {			free(PCRInfo);			return TCSERR(TSS_E_INTERNAL_ERROR);		}	}	if (getData(TCSD_PACKET_TYPE_UINT32, i++, &inDataSize, 0, &data->comm)) {		free(PCRInfo);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (inDataSize > 0) {		inData = calloc(1, inDataSize);		if (inData == NULL) {			LogError("malloc of %u bytes failed.", inDataSize);			free(PCRInfo);			return TCSERR(TSS_E_OUTOFMEMORY);		}		if (getData(TCSD_PACKET_TYPE_PBYTE, i++, inData, inDataSize, &data->comm)) {			free(inData);			free(PCRInfo);			return TCSERR(TSS_E_INTERNAL_ERROR);		}	}	result = getData(TCSD_PACKET_TYPE_AUTH, i++, &pubAuth, 0, &data->comm);	if (result == TSS_TCP_RPC_BAD_PACKET_TYPE)		pAuth = NULL;	else if (result) {		free(inData);		free(PCRInfo);		return result;	} else		pAuth = &pubAuth;	MUTEX_LOCK(tcsp_lock);	result = TCSP_Seal_Internal(sealOrdinal, hContext, keyHandle, KeyUsageAuth, PCRInfoSize,				    PCRInfo, inDataSize, inData, pAuth, &outDataSize, &outData);	MUTEX_UNLOCK(tcsp_lock);	free(inData);	free(PCRInfo);	if (result == TSS_SUCCESS) {		initData(&data->comm, 3);		if (pAuth != NULL) {			if (setData(TCSD_PACKET_TYPE_AUTH, 0, pAuth, 0, &data->comm)) {				free(outData);				return TCSERR(TSS_E_INTERNAL_ERROR);			}		}		if (setData(TCSD_PACKET_TYPE_UINT32, 1, &outDataSize, 0, &data->comm)) {			free(outData);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, 2, outData, outDataSize, &data->comm)) {			free(outData);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(outData);	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_Seal(struct tcsd_thread_data *data){	return tcs_common_Seal(TPM_ORD_Seal, data);}#ifdef TSS_BUILD_SEALXTSS_RESULTtcs_wrap_Sealx(struct tcsd_thread_data *data){	return tcs_common_Seal(TPM_ORD_Sealx, data);}#endifTSS_RESULTtcs_wrap_UnSeal(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	TCS_KEY_HANDLE parentHandle;	UINT32 inDataSize;	BYTE *inData;	TPM_AUTH parentAuth, dataAuth, emptyAuth;	TPM_AUTH *pParentAuth, *pDataAuth;	UINT32 outDataSize;	BYTE *outData;	TSS_RESULT result;	memset(&emptyAuth, 0, sizeof(TPM_AUTH));	if (getData(TCSD_PACKET_TYPE_UINT32, 0, &hContext, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	LogDebugFn("thread %zd context %x", THREAD_ID, hContext);	if (getData(TCSD_PACKET_TYPE_UINT32, 1, &parentHandle, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_UINT32, 2, &inDataSize, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	inData = calloc(1, inDataSize);	if (inData == NULL) {		LogError("malloc of %d bytes failed.", inDataSize);		return TCSERR(TSS_E_OUTOFMEMORY);	}	if (getData(TCSD_PACKET_TYPE_PBYTE, 3, inData, inDataSize, &data->comm)) {		free(inData);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	result = getData(TCSD_PACKET_TYPE_AUTH, 4, &parentAuth, 0, &data->comm);	if (result == TSS_TCP_RPC_BAD_PACKET_TYPE)		pParentAuth = NULL;	else if (result) {		free(inData);		return result;	} else		pParentAuth = &parentAuth;	result = getData(TCSD_PACKET_TYPE_AUTH, 5, &dataAuth, 0, &data->comm);	if (result == TSS_TCP_RPC_BAD_PACKET_TYPE) {		pDataAuth = pParentAuth;		pParentAuth = NULL;	} else if (result) {		free(inData);		return result;	} else		pDataAuth = &dataAuth;	MUTEX_LOCK(tcsp_lock);	result = TCSP_Unseal_Internal(hContext, parentHandle, inDataSize, inData, pParentAuth,				      pDataAuth, &outDataSize, &outData);	MUTEX_UNLOCK(tcsp_lock);	free(inData);	if (result == TSS_SUCCESS) {		initData(&data->comm, 4);		if (pParentAuth != NULL) {			if (setData(TCSD_PACKET_TYPE_AUTH, 0, pParentAuth, 0, &data->comm)) {				free(outData);				return TCSERR(TSS_E_INTERNAL_ERROR);			}		} else {			if (setData(TCSD_PACKET_TYPE_AUTH, 0, &emptyAuth, 0, &data->comm)) {				free(outData);				return TCSERR(TSS_E_INTERNAL_ERROR);			}		}		if (setData(TCSD_PACKET_TYPE_AUTH, 1, &dataAuth, 0, &data->comm)) {			free(outData);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_UINT32, 2, &outDataSize, 0, &data->comm)) {			free(outData);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, 3, outData, outDataSize, &data->comm)) {			free(outData);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(outData);	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本欧美一区二区| 美国欧美日韩国产在线播放| 欧美女孩性生活视频| 国产精品一二三区| 五月激情综合婷婷| 国产精品传媒视频| 精品国产乱码久久久久久图片 | 亚洲日本欧美天堂| 亚洲精品一区二区三区福利| 99国产精品99久久久久久| 美女任你摸久久| 亚洲国产视频网站| 亚洲丝袜制服诱惑| 国产欧美精品一区二区色综合朱莉| 欧美日韩不卡一区二区| 91免费在线视频观看| 国产成人av一区二区三区在线观看| 亚洲r级在线视频| 亚洲天堂2014| 国产欧美日韩三区| 精品三级av在线| 欧美久久久久久久久久| 欧美亚洲图片小说| 在线亚洲一区二区| 色综合中文字幕国产| 国产乱人伦偷精品视频不卡| 久久精品国产99久久6| 天堂在线亚洲视频| 亚洲黄一区二区三区| 国产精品久久久久aaaa| 欧美国产1区2区| 国产亚洲精品精华液| 久久免费电影网| 久久综合999| 26uuu国产在线精品一区二区| 91精品欧美一区二区三区综合在| 欧美日韩免费视频| 欧美日韩一本到| 欧美美女直播网站| 欧美美女激情18p| 欧美精品v国产精品v日韩精品 | 国产精品久久三| 国产精品丝袜在线| 国产精品色一区二区三区| 久久久亚洲午夜电影| 国产片一区二区| 中文字幕电影一区| 亚洲日本在线看| 亚洲午夜影视影院在线观看| 亚洲第一成年网| 丝袜诱惑亚洲看片| 精品一区二区三区视频| 国产精华液一区二区三区| 成人免费视频视频在线观看免费| 不卡电影一区二区三区| 91成人网在线| 欧美丰满高潮xxxx喷水动漫| 欧美一级二级在线观看| 久久久一区二区三区捆绑**| 国产日韩精品一区二区三区| 亚洲欧洲综合另类在线| 亚洲国产精品影院| 免费三级欧美电影| 国产精品资源在线看| 91麻豆精品在线观看| 欧美综合色免费| 精品va天堂亚洲国产| 国产精品女同一区二区三区| 亚洲免费观看高清完整版在线观看熊| 亚洲一区二区三区中文字幕| 免费在线看一区| 国产成人av电影在线观看| 91在线观看污| 5858s免费视频成人| 久久久久久久久蜜桃| 一区二区在线观看免费| 日韩av电影天堂| 成人午夜看片网址| 欧美日韩一级二级三级| 久久网这里都是精品| 亚洲激情网站免费观看| 国产一区二三区| 91久久精品日日躁夜夜躁欧美| 欧美精品一卡二卡| 国产精品久久毛片av大全日韩| 天天综合色天天综合色h| 国产a区久久久| 欧美日韩日日夜夜| 国产精品久线在线观看| 日本aⅴ亚洲精品中文乱码| 白白色亚洲国产精品| 91精品国产品国语在线不卡| 国产精品免费网站在线观看| 日韩不卡一区二区| 91年精品国产| 久久精品夜色噜噜亚洲aⅴ| 夜夜爽夜夜爽精品视频| 国产高清亚洲一区| 欧美日韩久久一区| 国产精品天美传媒| 久久国内精品自在自线400部| 北条麻妃国产九九精品视频| 精品免费一区二区三区| 亚洲第一久久影院| 99精品国产99久久久久久白柏| 欧美一级在线视频| 亚洲在线成人精品| 99vv1com这只有精品| 久久精品人人做人人爽97| 日韩和的一区二区| 色美美综合视频| 中文av一区二区| 国产精品亚洲综合一区在线观看| 欧美日韩精品一区二区三区| 亚洲免费观看高清| aaa欧美色吧激情视频| 久久久久国产一区二区三区四区| 午夜精品123| 欧美三级电影一区| 一区二区三区四区精品在线视频| 国产69精品久久99不卡| 国产日韩精品一区二区浪潮av | 欧美视频完全免费看| 一区二区中文视频| 国产**成人网毛片九色| 久久久国产精品午夜一区ai换脸| 久久精品国产免费看久久精品| 欧美日韩亚洲另类| 亚洲狠狠爱一区二区三区| 在线亚洲一区观看| 一区二区国产盗摄色噜噜| 91女神在线视频| 亚洲激情校园春色| 欧美中文字幕一二三区视频| 亚洲精品国产高清久久伦理二区| 成人午夜av在线| 国产精品人妖ts系列视频| 成人免费观看视频| 国产精品理论片| 91在线小视频| 亚洲特黄一级片| 在线观看网站黄不卡| 一区二区激情小说| 在线不卡a资源高清| 美女免费视频一区| ww久久中文字幕| 国产99久久久国产精品免费看| 国产精品无遮挡| 91论坛在线播放| 亚洲国产精品影院| 日韩你懂的在线观看| 国产曰批免费观看久久久| 中文字幕国产精品一区二区| 99热这里都是精品| 亚洲一区二区成人在线观看| 欧美色手机在线观看| 日韩电影在线一区二区三区| 在线一区二区三区四区五区 | 日本韩国欧美三级| 亚洲国产日韩av| 欧美一区二区三区免费视频 | fc2成人免费人成在线观看播放 | 色综合中文字幕| 丝袜a∨在线一区二区三区不卡| 日韩视频在线一区二区| 国产精品亚洲午夜一区二区三区 | 久久99国产乱子伦精品免费| 欧美韩国日本一区| 在线视频欧美区| 久久av老司机精品网站导航| 日本一区二区免费在线| 91成人在线精品| 麻豆免费看一区二区三区| 欧美激情一区三区| 欧美影院午夜播放| 国内精品国产三级国产a久久| 亚洲日本在线天堂| 67194成人在线观看| 成人高清在线视频| 日韩中文字幕不卡| 国产精品少妇自拍| 欧美日韩色一区| 成人免费av网站| 首页国产丝袜综合| 久久久久久久久久久99999| 欧美最猛黑人xxxxx猛交| 国产一区 二区 三区一级| 一区二区理论电影在线观看| 久久一日本道色综合| 在线免费观看成人短视频| 国产精品一区二区久久不卡| 午夜一区二区三区在线观看| 欧美激情在线一区二区三区| 欧美精品电影在线播放| 91在线视频免费观看| 老司机精品视频导航| 一区二区三区精品视频| 久久久91精品国产一区二区精品 | 国产精品夜夜爽| 日韩和欧美一区二区|