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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rpc_ek.c

?? TCG軟件棧 linux系統上使用 為可信應用軟件提供和 TPM通信的 接口 其網站上有很多關于使用此軟件的測試用例
?? C
字號:
/* * Licensed Materials - Property of IBM * * trousers - An open source TCG Software Stack * * (C) Copyright International Business Machines Corp. 2004-2007 * */#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_wrap_CreateEndorsementKeyPair(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	TCPA_NONCE antiReplay;	UINT32 eKPtrSize;	BYTE *eKPtr;	UINT32 eKSize;	BYTE* eK;	TCPA_DIGEST checksum;	TSS_RESULT result;	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_NONCE, 1, &antiReplay, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_UINT32, 2, &eKPtrSize, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	eKPtr = calloc(1, eKPtrSize);	if (eKPtr == NULL) {		LogError("malloc of %u bytes failed.", eKPtrSize);		return TCSERR(TSS_E_OUTOFMEMORY);	}	if (getData(TCSD_PACKET_TYPE_PBYTE, 3, eKPtr, eKPtrSize, &data->comm)) {		free(eKPtr);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	MUTEX_LOCK(tcsp_lock);	result = TCSP_CreateEndorsementKeyPair_Internal(hContext, antiReplay, eKPtrSize, eKPtr,							&eKSize, &eK, &checksum);	MUTEX_UNLOCK(tcsp_lock);	free(eKPtr);	if (result == TSS_SUCCESS) {		initData(&data->comm, 3);		if (setData(TCSD_PACKET_TYPE_UINT32, 0, &eKSize, 0, &data->comm)) {			free(eK);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, 1, eK, eKSize, &data->comm)) {			free(eK);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(eK);		if (setData(TCSD_PACKET_TYPE_DIGEST, 2, &checksum, 0, &data->comm)) {			return TCSERR(TSS_E_INTERNAL_ERROR);		}	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_ReadPubek(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	TCPA_NONCE antiReplay;	UINT32 pubEKSize;	BYTE *pubEK;	TCPA_DIGEST checksum;	TSS_RESULT result;	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_NONCE, 1, &antiReplay, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	MUTEX_LOCK(tcsp_lock);	result = TCSP_ReadPubek_Internal(hContext, antiReplay, &pubEKSize, &pubEK, &checksum);	MUTEX_UNLOCK(tcsp_lock);	if (result == TSS_SUCCESS) {		initData(&data->comm, 3);		if (setData(TCSD_PACKET_TYPE_UINT32, 0, &pubEKSize, 0, &data->comm)) {			free(pubEK);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, 1, pubEK, pubEKSize, &data->comm)) {			free(pubEK);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(pubEK);		if (setData(TCSD_PACKET_TYPE_DIGEST, 2, &checksum, 0, &data->comm)) {			return TCSERR(TSS_E_INTERNAL_ERROR);		}	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_OwnerReadPubek(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	UINT32 pubEKSize;	BYTE *pubEK;	TSS_RESULT result;	TPM_AUTH 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_AUTH, 1, &auth, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	MUTEX_LOCK(tcsp_lock);	result = TCSP_OwnerReadPubek_Internal(hContext, &auth, &pubEKSize, &pubEK);	MUTEX_UNLOCK(tcsp_lock);	if (result == TSS_SUCCESS) {		initData(&data->comm, 3);		if (setData(TCSD_PACKET_TYPE_AUTH, 0, &auth, 0, &data->comm)) {			free(pubEK);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_UINT32, 1, &pubEKSize, 0, &data->comm)) {			free(pubEK);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, 2, pubEK, pubEKSize, &data->comm)) {			free(pubEK);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(pubEK);	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_DisablePubekRead(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	TSS_RESULT result;	TPM_AUTH 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_AUTH, 1, &auth, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	MUTEX_LOCK(tcsp_lock);	result = TCSP_DisablePubekRead_Internal(hContext, &auth);	MUTEX_UNLOCK(tcsp_lock);	if (result == TSS_SUCCESS) {		initData(&data->comm, 1);		if (setData(TCSD_PACKET_TYPE_AUTH, 0, &auth, 0, &data->comm)) {			return TCSERR(TSS_E_INTERNAL_ERROR);		}	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_CreateRevocableEndorsementKeyPair(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	TPM_NONCE antiReplay;	UINT32 eKPtrSize;	BYTE *eKPtr;	TSS_BOOL genResetAuth;	TPM_DIGEST eKResetAuth;	UINT32 eKSize;	BYTE* eK;	TPM_DIGEST checksum;	TSS_RESULT result;	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_NONCE, 1, &antiReplay, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	if (getData(TCSD_PACKET_TYPE_UINT32, 2, &eKPtrSize, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	eKPtr = calloc(1, eKPtrSize);	if (eKPtr == NULL) {		LogError("malloc of %d bytes failed.", eKPtrSize);		return TCSERR(TSS_E_OUTOFMEMORY);	}	if (getData(TCSD_PACKET_TYPE_PBYTE, 3, eKPtr, eKPtrSize, &data->comm)) {		free(eKPtr);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (getData(TCSD_PACKET_TYPE_BOOL, 4, &genResetAuth, 0, &data->comm)) {		free(eKPtr);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	if (getData(TCSD_PACKET_TYPE_DIGEST, 5, &eKResetAuth, 0, &data->comm)) {		free(eKPtr);		return TCSERR(TSS_E_INTERNAL_ERROR);	}	MUTEX_LOCK(tcsp_lock);	result = TCSP_CreateRevocableEndorsementKeyPair_Internal(hContext, antiReplay,			eKPtrSize, eKPtr, genResetAuth, &eKResetAuth, &eKSize, &eK, &checksum);	MUTEX_UNLOCK(tcsp_lock);	free(eKPtr);	if (result == TSS_SUCCESS) {		initData(&data->comm, 4);		if (setData(TCSD_PACKET_TYPE_DIGEST, 0, &eKResetAuth, 0, &data->comm)) {			free(eK);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_UINT32, 1, &eKSize, 0, &data->comm)) {			free(eK);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		if (setData(TCSD_PACKET_TYPE_PBYTE, 2, eK, eKSize, &data->comm)) {			free(eK);			return TCSERR(TSS_E_INTERNAL_ERROR);		}		free(eK);		if (setData(TCSD_PACKET_TYPE_DIGEST, 3, &checksum, 0, &data->comm)) {			return TCSERR(TSS_E_INTERNAL_ERROR);		}	} else		initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}TSS_RESULTtcs_wrap_RevokeEndorsementKeyPair(struct tcsd_thread_data *data){	TCS_CONTEXT_HANDLE hContext;	TPM_DIGEST eKResetAuth;	TSS_RESULT result;	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_DIGEST, 1, &eKResetAuth, 0, &data->comm))		return TCSERR(TSS_E_INTERNAL_ERROR);	MUTEX_LOCK(tcsp_lock);	result = TCSP_RevokeEndorsementKeyPair_Internal(hContext, eKResetAuth);	MUTEX_UNLOCK(tcsp_lock);	initData(&data->comm, 0);	data->comm.hdr.u.result = result;	return TSS_SUCCESS;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美乱妇一区二区三区不卡视频| 欧美xxxxx牲另类人与| 91麻豆精品国产91| 国产日韩欧美精品在线| 日韩电影免费一区| 色综合中文字幕国产 | 极品销魂美女一区二区三区| 波多野结衣中文字幕一区二区三区| 精品视频色一区| 国产精品素人一区二区| 蜜臀av亚洲一区中文字幕| 色国产精品一区在线观看| 国产日韩在线不卡| 久久国产精品区| 欧美性一二三区| ...av二区三区久久精品| 国产高清不卡一区| 精品剧情v国产在线观看在线| 亚洲一区自拍偷拍| 99热在这里有精品免费| 久久精品视频一区二区三区| 日韩精品一二三| 欧美亚洲免费在线一区| 亚洲视频中文字幕| 国产99久久久国产精品免费看| 欧美一卡二卡三卡四卡| 日韩在线卡一卡二| 制服丝袜激情欧洲亚洲| 亚洲国产精品久久人人爱| 91麻豆成人久久精品二区三区| 日本一区二区三区四区在线视频| 黄页网站大全一区二区| 精品日韩一区二区三区免费视频| 蜜桃在线一区二区三区| 欧美一区二区三区视频免费| 日韩高清欧美激情| 欧美一区二区三区思思人| 奇米777欧美一区二区| 欧美一区二区三区四区五区| 麻豆精品一区二区综合av| 精品免费一区二区三区| 国产黄人亚洲片| 久久精品在这里| 成人免费毛片片v| 亚洲图片激情小说| 欧美日韩午夜影院| 麻豆精品新av中文字幕| 久久久国产精华| www.欧美日韩| 亚洲一区二区三区四区的 | 亚洲线精品一区二区三区八戒| 99久久精品国产观看| 亚洲免费观看在线视频| 精品视频一区二区三区免费| 人人超碰91尤物精品国产| 欧美变态凌虐bdsm| 国产69精品久久久久毛片| 国产精品第四页| 欧美天堂一区二区三区| 久久99国产乱子伦精品免费| 中文字幕精品一区二区精品绿巨人 | 亚洲欧美日韩中文播放| 欧洲精品在线观看| 免费人成黄页网站在线一区二区 | 日韩精品一级二级 | 亚洲r级在线视频| 精品久久久久香蕉网| 成人免费观看视频| 亚洲成人综合视频| 久久精品一区二区三区不卡 | 一区二区高清免费观看影视大全| 欧美日韩一区成人| 国产成人啪免费观看软件| 一级做a爱片久久| 精品国内片67194| 色一情一伦一子一伦一区| 极品少妇一区二区| 亚洲自拍欧美精品| 久久久精品黄色| 欧美日韩国产乱码电影| 丰满白嫩尤物一区二区| 日本欧美在线观看| 亚洲人123区| 久久久国产一区二区三区四区小说| 91久久精品国产91性色tv | av午夜一区麻豆| 日韩电影网1区2区| 亚洲黄色在线视频| 日本一二三不卡| 欧美电影精品一区二区| 欧美日韩国产色站一区二区三区| av在线综合网| 国产精品一级二级三级| 免费视频一区二区| 石原莉奈在线亚洲二区| 亚洲精品视频免费看| 国产网站一区二区三区| 日韩欧美国产一区二区在线播放| 在线中文字幕一区二区| 97精品国产露脸对白| 国产精品亚洲第一| 国模冰冰炮一区二区| 首页综合国产亚洲丝袜| 一二三区精品福利视频| 亚洲色图欧美偷拍| 中文字幕精品一区二区精品绿巨人| 精品久久久久久无| 欧美一区二区三区白人| 欧美精三区欧美精三区| 欧美精品久久99| 91蝌蚪porny| 99久久精品国产一区| 成人综合激情网| 成人一区二区三区| 成人午夜激情在线| 成人动漫av在线| 不卡av在线免费观看| 成人激情动漫在线观看| 成人18精品视频| 99这里只有久久精品视频| 国产福利精品一区二区| 国产一区二区电影| 国产成人av资源| 成人精品视频一区二区三区| 不卡的电视剧免费网站有什么| 99久久婷婷国产综合精品| 99久久免费视频.com| 一本色道亚洲精品aⅴ| 欧美视频三区在线播放| 欧美疯狂性受xxxxx喷水图片| 在线成人免费观看| 久久综合资源网| 国产精品久久久久影院亚瑟| 亚洲美女少妇撒尿| 午夜精品国产更新| 国产一区二区福利视频| 91网页版在线| 欧美精品xxxxbbbb| 26uuu色噜噜精品一区二区| 中文乱码免费一区二区| 一个色综合网站| 久久电影网站中文字幕| 不卡视频免费播放| 欧美日韩国产123区| 2017欧美狠狠色| 亚洲精品视频在线| 另类成人小视频在线| 99热精品一区二区| 欧美一区二区二区| 亚洲视频一区在线| 日本美女一区二区三区| 不卡av在线免费观看| 制服丝袜亚洲网站| 亚洲同性gay激情无套| 久久av中文字幕片| 色屁屁一区二区| 精品国产一二三| 一区二区三区**美女毛片| 国产老女人精品毛片久久| 91国内精品野花午夜精品| 欧美videos中文字幕| 一区二区不卡在线播放 | 99国产精品国产精品久久| 欧美群妇大交群的观看方式| 精品国产一区二区三区四区四| 中文字幕日韩一区| 精品影院一区二区久久久| 91蝌蚪porny成人天涯| 2欧美一区二区三区在线观看视频| 一区二区三区在线免费观看| 国产不卡视频一区| 精品久久久久一区| 日韩精品久久久久久| 色综合久久九月婷婷色综合| 久久久久久久久久久黄色| 日韩影院在线观看| 欧美性一区二区| 亚洲天堂成人网| 成人av动漫在线| 国产日韩欧美一区二区三区综合| 午夜伊人狠狠久久| 91片在线免费观看| 国产精品美女www爽爽爽| 国内成+人亚洲+欧美+综合在线 | 国产欧美一区视频| 精品一区二区三区香蕉蜜桃| 欧美日韩一级大片网址| 亚洲另类中文字| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 337p亚洲精品色噜噜| 亚洲国产成人av| 色综合久久天天| 亚洲欧美日韩系列| 99精品视频一区二区三区| 中文字幕欧美激情一区| 粗大黑人巨茎大战欧美成人| 欧美激情艳妇裸体舞| 成人一区在线看| 国产欧美精品一区二区三区四区 | 91碰在线视频|