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

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

?? gpkcs11_test.c

?? pkcs11的源程序
?? C
字號:
/* minimaler test: ausgabe der slot und token label */

#include "cryptoki.h"
#include <stdio.h>
#include <stdlib.h>


/* {{{ int read_statistics */
#define GT_OBJ_TYPE_NUM 6

static char* object_labels[GT_OBJ_TYPE_NUM] = {
  "data",
  "certificate",
  "pubclic key",
  "private key",
  "secret key",
  "hardware feature" 
};

CK_RV display_token_info(CK_FUNCTION_LIST_PTR pFunctionList,CK_ULONG slotId)
{
  CK_RV rv = CKR_OK;
  CK_TOKEN_INFO token_info;

  rv = (pFunctionList->C_GetTokenInfo)(slotId,&token_info);
  if(rv != CKR_OK)
    {
      printf("GetTokenInfo failed: 0x%08x",rv);
      return rv;
    }


  printf("Slot %d: Token Information\n",slotId);
  printf("\t Token Label: \t%.32s\n", token_info.label);
  printf("\t Token Model: \t%.16s\n", token_info.model);
  printf("\t Token Firmware: \t%d.%d\n", 
	 token_info.firmwareVersion.major,
	 token_info.firmwareVersion.minor);
  
  return CKR_OK;
}

CK_RV read_statistic(CK_ULONG session,CK_FUNCTION_LIST_PTR pFunctionList, 
		    CK_ULONG slotId)
{
  CK_RV rv = CKR_OK;
  unsigned int i;
  static CK_ATTRIBUTE template;
  CK_ULONG count;
  CK_ULONG retcount;	
  
  for(i=0;i<GT_OBJ_TYPE_NUM;i++)
    {
      template.type = CKA_CLASS;
      template.pValue = &i;
      template.ulValueLen = sizeof(i);
      
      count=0;

      rv = (pFunctionList->C_FindObjectsInit)(session,&template,1);
      if(rv != CKR_OK)
	{
	  printf("could not init FindObj for Type 0x%08x: 0x%08x",i,rv);
	  return rv;
	}
      
      do {
	CK_OBJECT_HANDLE handle_hold;
	rv = (pFunctionList->C_FindObjects)(session,&handle_hold,
					    1,&retcount);
	if(rv != CKR_OK)
	  {
	    printf("FindObj failed: 0x%08x",i,rv);
	    return rv;
	  }

	count+=retcount;
      } while(retcount == 1);
      
      rv = (pFunctionList->C_FindObjectsFinal)(session);
      if(rv != CKR_OK)
	{
	  printf("FindObjFinal failed: 0x%08x",i,rv);
	  return rv;
	}
      
      printf("there are %i %s objects on token %i\n", 
	     count,object_labels[i], slotId);
      
    }

  return rv;
}
/* }}} */

/* {{{ int main */
int main()
{
  CK_FUNCTION_LIST_PTR pFunctionList;
  CK_RV rv = CKR_OK;
  
  rv = C_GetFunctionList(&pFunctionList);
  if(rv != CKR_OK)
    {
      printf("could not get function pointer list: %d",rv);
      exit(1);
    }
  
  rv = (pFunctionList->C_Initialize)(NULL_PTR);
  if(rv != CKR_OK)
    {
      printf("could not initialize: %d",rv);
      exit(1);
    }
  
  /* get the slot list */	
  {
    CK_ULONG ulSlotCount;
    CK_SLOT_ID_PTR pSlotList;
    int i;

    rv = (pFunctionList->C_GetSlotList)(TRUE,NULL_PTR,&ulSlotCount);
    if(rv != CKR_OK)
      {
	printf("could not get slot count: %d",rv);
	exit(1);
      }
    printf("GetSlotList: %d slots with token, ",ulSlotCount);

    rv = (pFunctionList->C_GetSlotList)(FALSE,NULL_PTR,&ulSlotCount);
    if(rv != CKR_OK)
      {
	printf("could not get slot count: %d",rv);
	exit(1);
      }
    printf("%d slots in total\n\n",ulSlotCount);
    
    pSlotList = malloc(sizeof(CK_SLOT_ID)*ulSlotCount);
    if(pSlotList == NULL)
      {
	printf("could not allocate slot list: %d",CKR_HOST_MEMORY);
	exit(1);
      }
    
    rv = (pFunctionList->C_GetSlotList)(FALSE,pSlotList,&ulSlotCount);
    if(rv != CKR_OK)
      {
	printf("could not get slot List: %d",rv);
	exit(1);
      }
    
    for(i=0;i<ulSlotCount;i++)
      {
	CK_SLOT_INFO SlotInfo;
	CK_TOKEN_INFO TokenInfo;
	CK_SESSION_HANDLE sess;
	
	rv= (pFunctionList->C_GetSlotInfo)(pSlotList[i],&SlotInfo);
        if(rv != CKR_OK)
	  {
	    printf("could not get slot info for '%d': %d",pSlotList[i],rv);
	    exit(1);
	  }
	/* print some info */
	printf("#%d: Slot: %d (%.64s),\n",
	       i,pSlotList[i],
	       SlotInfo.slotDescription);
	
	rv= display_token_info(pFunctionList,pSlotList[i]);
	if(rv == CKR_TOKEN_NOT_PRESENT)
	  {
	    printf("\tNo token present\n");
	  }
        else if(rv != CKR_OK)
	  {
	    printf("could not get token info for '%d': %d",pSlotList[i],rv);
	    exit(1);
	  }
	else
	  {
#if 0
	    CK_CHAR outbuf[2048];
	    CK_ULONG buff_len = 2046;

	    CK_MECHANISM mech = {CKM_RSA_PKCS, NULL_PTR, 0x00000000};
#endif

	    
	    /* open a session to test the loading of the objects */
	    rv = (pFunctionList->C_OpenSession)(pSlotList[i],CKF_SERIAL_SESSION,NULL,NULL,&sess);
	    if(rv != CKR_OK)
	      {
		printf("could not open session on slot %d: %d",pSlotList[i],rv);
		exit(1);
	      }
	    
	    /* build a little statistic over the objects on the token */
	    read_statistic(sess,pFunctionList,pSlotList[i]);

	    /* and clean up session */
	    rv = (pFunctionList->C_CloseSession)(sess);

	  }
      }
    free(pSlotList);
  }

  (pFunctionList->C_Finalize)(NULL);

  {
    char buf[3]={1};
    printf("weiter mit return");
    _cgets(buf);
  }
}
/* }}} */

/*
 * Local variables:
 * folded-file: t
 * end:
 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品免费看| 日本韩国欧美国产| a4yy欧美一区二区三区| 欧美丝袜自拍制服另类| 国产欧美va欧美不卡在线| 亚洲免费观看在线观看| 精品亚洲aⅴ乱码一区二区三区| 91社区在线播放| 欧美大片日本大片免费观看| 亚洲欧美日韩中文播放| 亚洲美女精品一区| 国产成人精品aa毛片| 欧美色视频在线| 国产精品久久久久影院亚瑟| 麻豆久久一区二区| 在线一区二区视频| 国产精品久久久久久久浪潮网站| 日韩电影在线免费看| 色婷婷精品大在线视频| 精品国产一区a| 亚洲一区二区三区小说| 高清国产午夜精品久久久久久| 欧美午夜片在线看| 亚洲综合在线免费观看| 成人免费视频一区| 日韩欧美国产三级| 美女视频第一区二区三区免费观看网站| 成人黄色av网站在线| 精品久久免费看| 日本不卡一二三区黄网| 欧美日本免费一区二区三区| 综合久久综合久久| 免费观看日韩电影| 在线成人免费观看| 亚洲3atv精品一区二区三区| 99久久伊人久久99| 国产精品国产三级国产有无不卡| 亚洲精品久久嫩草网站秘色| 色哟哟亚洲精品| 亚洲人亚洲人成电影网站色| 丁香五精品蜜臀久久久久99网站| 国产精品久久久久久久午夜片| 国产乱理伦片在线观看夜一区| 日韩欧美一级二级三级久久久 | 91国产精品成人| 国产精品网站在线观看| 国产在线不卡一区| 日本一区二区三区久久久久久久久不 | 6080午夜不卡| 亚洲色图.com| 欧美性做爰猛烈叫床潮| 亚洲国产一区二区a毛片| 91亚洲精品一区二区乱码| 亚洲大片免费看| 欧美三级中文字幕| 天堂蜜桃91精品| 26uuu国产日韩综合| 国产精品一区二区在线观看不卡| 精品国产污污免费网站入口 | 日韩三级中文字幕| 国产福利一区二区三区视频 | 精品国产乱码久久久久久久| 狠狠色综合色综合网络| 亚洲欧洲www| 欧美日韩中字一区| 蜜桃视频在线观看一区二区| 国产欧美综合色| 91女神在线视频| 亚洲超碰精品一区二区| 欧美丰满美乳xxx高潮www| 国产精品18久久久| 亚洲丝袜制服诱惑| 欧美色男人天堂| 成人精品鲁一区一区二区| 亚洲激情图片小说视频| 日韩一区二区免费高清| 99麻豆久久久国产精品免费优播| 亚洲最大成人综合| 久久综合视频网| 成人免费不卡视频| 蜜桃一区二区三区四区| 国产精品久久久久久久久久久免费看| 精品处破学生在线二十三| 欧美探花视频资源| 国产精品主播直播| 亚洲成人在线观看视频| 国产婷婷色一区二区三区在线| 91一区二区在线| 久久国产人妖系列| 伊人一区二区三区| 中文字幕久久午夜不卡| 中文在线一区二区| 在线播放欧美女士性生活| 91热门视频在线观看| 秋霞电影网一区二区| 国产精品毛片a∨一区二区三区| 精品国产一区二区三区av性色| av亚洲精华国产精华精华| 日韩成人精品视频| 国产片一区二区| 精品国一区二区三区| 欧美亚洲综合网| 丰满少妇久久久久久久| 国产精品原创巨作av| 午夜精品久久久久久不卡8050| 国产日韩av一区二区| 亚洲精品在线电影| 欧美乱妇23p| 色噜噜狠狠色综合中国| 成人黄色软件下载| 国产精品99久久久久久久女警| 国产精品天干天干在线综合| 精品国产乱码久久| 宅男在线国产精品| 欧洲中文字幕精品| 欧美中文字幕一二三区视频| av一区二区三区| 国产乱子轮精品视频| 激情成人午夜视频| 免费不卡在线视频| 日韩在线播放一区二区| 欧美激情一区二区三区四区| 国产欧美日韩不卡免费| 久久免费偷拍视频| 日韩亚洲电影在线| 欧美mv日韩mv| 日韩免费一区二区| 欧美一区二区国产| 日韩精品一区二区在线| 日韩一区二区在线免费观看| 欧美日韩亚洲国产综合| 欧美一卡2卡三卡4卡5免费| 欧美日韩国产首页在线观看| 欧美在线观看禁18| 日韩一区二区三| 日韩精品一区二区三区在线观看 | 国产一区二区美女| 国产成a人无v码亚洲福利| 国产精品资源网站| 国产**成人网毛片九色| 欧美不卡一区二区三区| 大陆成人av片| 欧美性色黄大片手机版| 91精品免费观看| 日韩一本二本av| 视频一区二区三区在线| 欧美国产一区二区在线观看| 国产传媒欧美日韩成人| av网站免费线看精品| 成人av在线网站| 精品国产免费一区二区三区香蕉| 欧美精品一区二| 国产精品每日更新| 亚洲精品一线二线三线| 最新不卡av在线| 天堂va蜜桃一区二区三区| 看电影不卡的网站| 97久久人人超碰| 欧美日韩在线综合| 精品国产一区二区在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 日日噜噜夜夜狠狠视频欧美人 | 欧美日韩亚州综合| 欧美一个色资源| 亚洲欧洲三级电影| 蜜臀av性久久久久av蜜臀妖精| www.亚洲在线| 精品久久人人做人人爽| 亚洲精品免费播放| 国产成人超碰人人澡人人澡| 日韩一区二区在线播放| 伊人夜夜躁av伊人久久| 国产成人免费视| 欧美一区二区三区日韩视频| 一区二区三区在线免费| 国产成a人亚洲精| 欧美一区二区三区思思人| 一级日本不卡的影视| 国产黄色精品视频| 精品久久五月天| 日韩国产精品大片| 欧美日韩国产bt| 亚洲永久精品大片| 99re热这里只有精品视频| 国产欧美日本一区视频| 激情综合网激情| 日韩精品中文字幕一区| 日韩电影在线观看电影| 欧美性色黄大片| 一二三四社区欧美黄| 久久久久久久综合色一本| 亚洲va天堂va国产va久| 在线欧美一区二区| 亚洲欧美日韩一区| av成人动漫在线观看| 亚洲欧洲日产国产综合网| 大白屁股一区二区视频| 中文字幕精品一区| 99久久伊人久久99| 亚洲欧美国产三级|