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

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

?? signature.c

?? IBM開發(fā)的TPM的驅(qū)動, 有少量的例子可以供參考
?? C
字號:
/****************************************************************************//*                                                                          *//*                           TPM Signature Routines                         *//*                                                                          *//*                           Written by J. Kravitz                          *//*                                                                          *//*                     IBM Thomas J. Watson Research Center                 *//*                                                                          *//*                               Version 1.2                                *//*                                                                          *//*                         Last Revision 23 Jan 2004                        *//*                                                                          *//*                           Copyright (C) 2004 IBM                         *//*                                                                          *//****************************************************************************/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <netinet/in.h>#include <tpm.h>#include <tpmfunc.h>#include <tpmutil.h>#include <oiaposap.h>#include <hmac.h>/****************************************************************************//*                                                                          *//* Sign some data                                                           *//*                                                                          *//* The arguments are...                                                     *//*                                                                          *//* keyhandle is the handle of the key to sign with                          *//* keyauth   is the authorization data (password) for the parent key        *//*           if null, it is assumed that the key has no authorization req   *//* data      is a pointer to the data to be signed                          *//* datalen   is the length of the data being signed                         *//* sig       is a pointer to an area to receive the signature (<=256 bytes) *//* siglen    is a pointer to an integer to receive the signature length     *//*                                                                          *//****************************************************************************/uint32_t TPM_Sign(uint32_t keyhandle, unsigned char *keyauth,		  unsigned char *data, int datalen,		  unsigned char *sig, unsigned int *siglen){	unsigned char sign_fmt[] = "00 c2 T l l @ l % o %";	unsigned char sign_fmt_noauth[] = "00 c1 T l l @";	uint32_t ret;	unsigned char tpmdata[TPM_MAX_BUFF_SIZE];	unsigned char nonceodd[TPM_NONCE_SIZE];	unsigned char evennonce[TPM_NONCE_SIZE];	unsigned char pubauth[TPM_HASH_SIZE];	unsigned char c;	uint32_t ordinal;	uint32_t keyhndl;	uint32_t authhandle;	uint32_t datasize;	uint32_t sigsize;	/* check input arguments */	if (data == NULL || sig == NULL)		return ERR_NULL_ARG;	if (keyauth != NULL) {	/* key requires authorization */		/* generate odd nonce */		TSS_gennonce(nonceodd);		/* Open OIAP Session */		ret = TSS_OIAPopen(&authhandle, evennonce);		if (ret != 0)			return ret;		/* move Network byte order data to variables for hmac calculation */		ordinal = htonl(0x3C);		keyhndl = htonl(keyhandle);		datasize = htonl(datalen);		c = 0;		/* calculate authorization HMAC value */		ret =		    TSS_authhmac(pubauth, keyauth, TPM_HASH_SIZE,				 evennonce, nonceodd, c, TPM_U32_SIZE,				 &ordinal, TPM_U32_SIZE, &datasize,				 datalen, data, 0, 0);		if (ret != 0) {			TSS_OIAPclose(authhandle);			return ret;		}		/* build the request buffer */		ret = TSS_buildbuff(sign_fmt, tpmdata,				    ordinal,				    keyhndl,				    datalen, data,				    authhandle,				    TPM_NONCE_SIZE, nonceodd,				    c, TPM_HASH_SIZE, pubauth);		if ((ret & ERR_MASK) != 0) {			TSS_OIAPclose(authhandle);			return ret;		}		/* transmit the request buffer to the TPM device and read the reply */		ret = TPM_Transmit(tpmdata, "Sign");		if (ret != 0) {			TSS_OIAPclose(authhandle);			return ret;		}		TSS_OIAPclose(authhandle);		sigsize = LOAD32(tpmdata, TPM_DATA_OFFSET);		/* check the HMAC in the response */		ret =		    TSS_checkhmac1(tpmdata, ordinal, nonceodd, keyauth,				   TPM_HASH_SIZE, TPM_U32_SIZE,				   TPM_DATA_OFFSET, sigsize,				   TPM_DATA_OFFSET + TPM_U32_SIZE, 0, 0);		if (ret != 0)			return ret;		memcpy(sig, tpmdata + TPM_DATA_OFFSET + TPM_U32_SIZE,		       sigsize);		*siglen = sigsize;	} else {		/* key requires NO authorization */		/* move Network byte order data to variables for hmac calculation */		ordinal = htonl(0x3C);		keyhndl = htonl(keyhandle);		datasize = htonl(datalen);		/* build the request buffer */		ret = TSS_buildbuff(sign_fmt_noauth, tpmdata,				    ordinal, keyhndl, datalen, data);		if ((ret & ERR_MASK) != 0)			return ret;		/* transmit the request buffer to the TPM device and read the reply */		ret = TPM_Transmit(tpmdata, "Sign");		if (ret != 0)			return ret;		sigsize = LOAD32(tpmdata, TPM_DATA_OFFSET);		memcpy(sig, tpmdata + TPM_DATA_OFFSET + TPM_U32_SIZE,		       sigsize);		*siglen = sigsize;	}	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久影院老司| 视频一区二区国产| 视频一区欧美日韩| 成人国产精品免费观看动漫| 欧美一区二区三区公司| 亚洲视频一区在线| 国产精品一区二区久激情瑜伽| 欧美日韩国产综合久久| 亚洲欧洲日韩av| 国产一区二区三区四| 欧美日韩午夜精品| 一区二区三国产精华液| www.av亚洲| 国产亚洲一二三区| 国产自产v一区二区三区c| 欧美色视频在线| 亚洲精品日韩专区silk| 成人一区二区三区中文字幕| 精品日韩成人av| 秋霞影院一区二区| 91精品国产一区二区三区| 日本欧美韩国一区三区| 99久久亚洲一区二区三区青草| 2022国产精品视频| 久久国内精品视频| 欧美一级片在线观看| 亚洲1区2区3区4区| 91黄色免费看| 亚洲乱码日产精品bd| 色婷婷久久久久swag精品| 国产精品欧美精品| 成人av电影免费观看| 国产精品久久久久毛片软件| 国产成a人无v码亚洲福利| 亚洲精品在线免费观看视频| 韩国精品在线观看| 久久女同性恋中文字幕| 国产成人综合视频| 日本一区二区在线不卡| 成人亚洲一区二区一| 成人免费视频在线观看| 色老综合老女人久久久| 亚洲自拍偷拍麻豆| 7777精品伊人久久久大香线蕉的 | 天天av天天翘天天综合网 | 婷婷六月综合亚洲| 91精品国产全国免费观看| 美腿丝袜亚洲综合| 久久精品人人爽人人爽| 91丝袜美腿高跟国产极品老师| 亚洲精品国产精品乱码不99 | 成人免费三级在线| 亚洲四区在线观看| 欧美伊人久久久久久久久影院 | 高清国产一区二区| 亚洲色图欧洲色图| 欧美岛国在线观看| 国产电影一区二区三区| 一区二区三区欧美亚洲| 91麻豆精品国产91久久久使用方法 | 国产一区在线观看麻豆| 国产精品嫩草99a| 91免费国产在线观看| 午夜精品久久久久久久| 欧美一卡二卡在线| 波多野结衣视频一区| 五月婷婷久久丁香| 久久久久9999亚洲精品| 色婷婷久久99综合精品jk白丝| 日本不卡免费在线视频| 国产欧美日韩视频一区二区| 一本到一区二区三区| 麻豆精品在线视频| 亚洲免费视频中文字幕| 日韩三级在线观看| 波多野结衣亚洲| 九九久久精品视频| 亚洲精品视频在线观看网站| 91精品欧美综合在线观看最新| 国内不卡的二区三区中文字幕| 亚洲麻豆国产自偷在线| 久久综合色婷婷| 欧美日韩成人综合天天影院 | 91视频国产观看| 毛片基地黄久久久久久天堂| 中文字幕在线不卡视频| 国产欧美久久久精品影院| 欧洲色大大久久| 成人午夜碰碰视频| 视频在线观看一区二区三区| 亚洲欧美日韩在线不卡| 2024国产精品| 日韩精品一区二区三区四区视频| 色狠狠一区二区三区香蕉| 国产91在线|亚洲| 国内精品视频666| 秋霞av亚洲一区二区三| 亚洲成人av中文| 亚洲老妇xxxxxx| 日韩一区有码在线| 国产精品美女久久久久久| 精品人在线二区三区| 欧美一区二区在线观看| 欧美日韩一区二区三区不卡| 91欧美一区二区| 91丝袜美女网| 99视频超级精品| www.欧美日韩国产在线| 成人黄色免费短视频| 高清在线不卡av| 国产成人av一区二区| 激情小说欧美图片| 精品一区二区免费| 久久精品国产久精国产| 久久疯狂做爰流白浆xx| 久久精品久久综合| 韩国欧美国产一区| 国产精品乡下勾搭老头1| 国产成人精品影视| 福利电影一区二区三区| av在线免费不卡| 色噜噜夜夜夜综合网| 欧美亚洲综合一区| 91精品婷婷国产综合久久| 日韩午夜在线观看视频| 精品福利一二区| 国产日韩欧美一区二区三区综合| 久久久一区二区三区| 欧美激情一区二区三区全黄| 日本一区二区三区电影| 亚洲人快播电影网| 天天综合网 天天综合色| 另类欧美日韩国产在线| 精品亚洲成a人在线观看| 国产高清精品久久久久| 一本久久精品一区二区| 欧美精品aⅴ在线视频| 欧美videossexotv100| 日本一区二区久久| 亚洲愉拍自拍另类高清精品| 免费观看30秒视频久久| 国产成人精品综合在线观看| 91啪九色porn原创视频在线观看| 久久精品免视看| 亚洲精品高清在线| 麻豆精品新av中文字幕| 成人app下载| 欧美日韩国产首页| 国产色婷婷亚洲99精品小说| 亚洲女人的天堂| 国产在线乱码一区二区三区| 99re成人精品视频| 欧美一区二区精品| 亚洲欧洲另类国产综合| 日本亚洲三级在线| 北岛玲一区二区三区四区| 91.com视频| 国产精品国产三级国产普通话三级| 五月婷婷久久丁香| 成人美女视频在线观看18| 欧美一区二区网站| 中文字幕欧美一区| 精品一区二区三区免费毛片爱| 色婷婷狠狠综合| 久久嫩草精品久久久久| 日韩成人精品在线| 色域天天综合网| 亚洲国产精品黑人久久久| 奇米色一区二区| 欧洲人成人精品| 成人免费在线视频| 国产乱对白刺激视频不卡| 欧美三级在线视频| 亚洲欧美日韩国产手机在线 | 成人综合在线视频| 欧美剧情片在线观看| 综合久久久久久久| 国产在线麻豆精品观看| 91精品国产黑色紧身裤美女| 亚洲人成精品久久久久久 | 九九国产精品视频| 欧美亚洲日本一区| 中文字幕中文在线不卡住| 国产一区二区按摩在线观看| 精品区一区二区| 久久精品国产亚洲a| 日韩欧美另类在线| 蜜桃精品视频在线| 91精品在线免费| 视频一区二区欧美| 欧美猛男超大videosgay| 亚洲尤物在线视频观看| 欧美中文字幕久久| 亚洲精品日韩综合观看成人91| 9i看片成人免费高清| 亚洲精品视频免费看| 91国偷自产一区二区使用方法| 亚洲三级久久久| 欧美做爰猛烈大尺度电影无法无天| 1000部国产精品成人观看|