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

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

?? clientstore.c

?? IBE是一種非對(duì)稱密碼技術(shù)
?? C
?? 第 1 頁 / 共 5 頁
字號(hào):
     * we don't have any entries so count is 0 in that case.
     */
    if (ret == ERROR_FILE_NOT_FOUND)
    {
      *count = 0;
      status = 0;
      break;
    }

    /* Any other error pass on
    */
    if (ret != ERROR_SUCCESS)
      break;

    /* If there's no reference, return the count of all parameter sets.
     */
    if (qualName == (unsigned char *)0)
    {
      /* If an unqualified name is given, but no qualified name, this
       * provider can't return a count.
       */
      VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_INVALID_STORAGE_REF;
      if (unqualName != (unsigned char *)0)
        break;

      VOLT_SET_ERROR_TYPE (
        errorType, VT_ERROR_TYPE_PRIMARY | VT_ERROR_TYPE_SYSTEM)
      status = VT_ERROR_READ_REGISTRY_VALUE ;
      ret = RegQueryInfoKey (
        paramKey, NULL, NULL, NULL, NULL, NULL, 
        NULL, &valueCount, NULL, NULL, NULL, NULL);
      if (ret != ERROR_SUCCESS)
        break;

      *count = valueCount;
      status = 0;
      break;
    }

    /* If there's no qualified name, this provider can't come up with
     * an answer.
     */
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_STORAGE_REF;
    if (obj->qualDistrictName.data == (unsigned char *)0)
      break;

    /* If there is a value in registry for given district
     * we have got parameters otherwise not
     */
    VOLT_SET_ERROR_TYPE (
      errorType, VT_ERROR_TYPE_PRIMARY | VT_ERROR_TYPE_SYSTEM)
    status = VT_ERROR_READ_REGISTRY_VALUE;
    ret = RegQueryValueEx (
        paramKey, obj->qualDistrictName.data, NULL, NULL, NULL, &paramLen);
    if (ret == ERROR_FILE_NOT_FOUND)
    {   
      *count = 0;
      status = 0;
      break;
    }
    if (ret != ERROR_SUCCESS)    
      break;

    /* If we are here, We were able to retrieve the registry value.
     * Make sure its not empty.
     */
    status = 0;
    *count = 1;
    if (paramLen <= 1)
      *count = 0;

  } while (0);

  if (paramKey != (HKEY)0)
    RegCloseKey (paramKey);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, storageCtx, status, ret, errorType,
    (char *)0, "VoltClientGetDistrictParameterCount", fnctLine, (char *)0)

  return (status);
}

int VoltClientGetPrivateSigningKeyCount (
   VtStorageCtx storageCtx,
   VtIdentityObject reference,
   unsigned int *count
   )
{
  int status;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  VOLT_SET_FNCT_LINE (fnctLine)
  status = VoltGetEntryCountFromIdentity (
    storageCtx, reference, count, VOLT_STORE_DIR_SIGN_KEYS_CLIENT,
    VOLT_STORE_DIR_SIGN_KEYS_CLIENT_LEN,
    VOLT_FILE_NAME_VALUE_TYPE_SIGN_PRI_CLIENT);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, storageCtx, status, 0, 0,
    (char *)0, "VoltClientGetPrivateSigningKeyCount", fnctLine, (char *)0)

  return (status);
}

int VoltClientGetIBEPrivateKeyCount (
   VtStorageCtx storageCtx,
   VtIdentityObject reference,
   unsigned int *count
   )
{
  int status;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  VOLT_SET_FNCT_LINE (fnctLine)
  status = VoltGetEntryCountFromIdentity (
    storageCtx, reference, count, VOLT_STORE_DIR_IBE_KEYS_CLIENT,
    VOLT_STORE_DIR_IBE_KEYS_CLIENT_LEN,
    VOLT_FILE_NAME_VALUE_TYPE_IBE_PRI_CLIENT);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, storageCtx, status, 0, 0,
    (char *)0, "VoltClientGetIBEPrivateKeyCount", fnctLine, (char *)0)

  return (status);
}

int VoltClientGetPublicSigningCertCount (
   VtStorageCtx storageCtx,
   VtIdentityObject reference,
   unsigned int *count
   )
{
  int status;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  VOLT_SET_FNCT_LINE (fnctLine)
  status = VoltGetEntryCountFromIdentity (
    storageCtx, reference, count, VOLT_STORE_DIR_SIGN_CERTS_CLIENT,
    VOLT_STORE_DIR_SIGN_CERTS_CLIENT_LEN,
    VOLT_FILE_NAME_VALUE_TYPE_CERT_CLIENT);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, storageCtx, status, 0, 0,
    (char *)0, "VoltClientGetPublicSigningCertCount", fnctLine, (char *)0)

  return (status);
}

int VoltClientGetAuthTokenCount (
   VtStorageCtx storageCtx,
   VtDistrictObject reference,
   unsigned int *count
   )
{
  int status;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  VOLT_SET_FNCT_LINE (fnctLine)
  status =  VoltGetAuthTokenCountForDistrict (
    storageCtx, reference, count, VOLT_FILE_NAME_VALUE_TYPE_IBE_TOKEN_CLIENT);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, storageCtx, status, 0, 0,
    (char *)0, "VoltClientGetAuthTokenCount", fnctLine, (char *)0)

  return (status);
}

int VoltClientRetrieveNewAuthTokens (
   VtStorageCtx storageCtx,
   VtDistrictObject reference,
   VoltAuthTokenListObject *tokenListObj,
   unsigned int *newTokenCount
   )
{
  int status;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  VOLT_SET_FNCT_LINE (fnctLine)
  status = VoltRetrieveNewAuthTokensForDistrict (
    storageCtx, reference, tokenListObj, 
    newTokenCount,VOLT_FILE_NAME_VALUE_TYPE_IBE_TOKEN_CLIENT);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, storageCtx, status, 0, 0,
    (char *)0, "VoltClientRetrieveNewAuthTokens", fnctLine, (char *)0)

  return (status);
}

int VoltClientRetrieveIBEPrivateKey (
   VtStorageCtx storageCtx,
   VtIdentityObject reference,
   VtPolicyCtx policyCtx,
   unsigned int index,
   VtKeyObject keyObj
   )
{
  int status;
  unsigned int fileNameLen, contentsLen, distNameLen, bufferSize;
  unsigned int passwordLen;
  VoltStorageCtx *ctx = (VoltStorageCtx *)storageCtx;
  VoltLibCtx *libCtx = (VoltLibCtx *)(ctx->voltObject.libraryCtx);
  VoltDefaultStorageCtx *defStorageCtx =
    (VoltDefaultStorageCtx *)(ctx->localStorageCtx);
  VoltFileCtx *fileCtx = (VoltFileCtx *)(defStorageCtx->fCtx);
  VoltIdentityObject *idObj = (VoltIdentityObject *)reference;
  VtDistrictObject district = (VtDistrictObject)0;
  VoltDistrictObject *distObj;
  VoltParameterObject *paramObj;
  VoltKeyObject *key = (VoltKeyObject *)keyObj;
  unsigned char *password = (unsigned char *)0;
  unsigned char *fileName = (unsigned char *)0;
  unsigned char *backupName = (unsigned char *)0;
  unsigned char *nameToUse;
  unsigned char *contents = (unsigned char *)0;
  unsigned char *distName = (unsigned char *)0;
  VoltFileHandle fileHandle = (VoltFileHandle)0;
  VtFileNameList *nameList = (VtFileNameList *)0;
  Asn1IBEPrivateKey *asn1PriKey = (Asn1IBEPrivateKey *)0;
  VtBFType1IBEPoint *ibePoint = (VtBFType1IBEPoint *)0;
  VtBFType1IBEPriKeyInfo priKeyInfo;
  VtTime timeOfStore;
  VtDerCoder *derCoders[1] = { VtDerCoderBFType1IBEPrivateKey };
  unsigned int derCoderCount = 1;
  VtSetKeyBerInfo berInfo;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  Z2Memset (&berInfo, 0, sizeof (VtSetKeyBerInfo));
  Z2Memset (&priKeyInfo, 0, sizeof (VtBFType1IBEPriKeyInfo));

  do
  {
    /* If the keyObj is already set, error.
     */
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_KEY_OBJ;
    if (key->keyType != 0)
      break;

    /* If there's no reference, get whatever value is at the index.
     */
    if (reference == (VtIdentityObject)0)
    {
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VoltGetStorageFileListAlloc (
        ctx, VOLT_STORE_DIR_IBE_KEYS_CLIENT,
        VOLT_STORE_DIR_IBE_KEYS_CLIENT_LEN, 0, &nameList);
      if (status != 0)
        break;
      
      VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_ENTRY_NOT_FOUND;
      if (nameList == (VtFileNameList *)0)
        break;
      
      if (index >= nameList->nameCount)
        break;

      nameToUse = nameList->nameList[index];
    }
    else
    {
      /* We need the identity encoded.
       */
      VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_INVALID_STORAGE_REF;
      if (idObj->encoding.data == (unsigned char *)0)
        break;

      /* Get the file name as if it's in the toolkit directory.
       */
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VoltGetFileNameFromValueAlloc (
        ctx, (unsigned char *)0, 0, idObj->encoding.data, idObj->encoding.len,
        VOLT_FILE_NAME_VALUE_TYPE_IBE_PRI_CLIENT, &fileName, &fileNameLen);
      if (status != 0)
        break;

      nameToUse = fileName;
    }

    /* Try to open the file containing the IBE private key.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = fileCtx->CtxOpenFile (
      fileCtx, &fileHandle, nameToUse, VOLT_FILE_MODE_READ_ONLY, 0);

    /* If the file doesn't exist the error return should be 
     * VT_ERROR_ENTRY_NOT_FOUND.
     */    
    if (status != 0)
    {      
      VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
      VOLT_SET_FNCT_LINE (fnctLine)
      if (status == VT_ERROR_FILE_DOES_NOT_EXIST)
        status = VT_ERROR_ENTRY_NOT_FOUND;

      break;
    }

    /* Get the client storage password if any
     */
    if (defStorageCtx->GetExtraPassword != (VGetExtraPassword)0)
    {
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = defStorageCtx->GetExtraPassword (ctx, &password, &passwordLen);
      if (status != 0)
        break;
    }

    /* Get the contents of the file.
     */
    VOLT_SET_ERROR_TYPE (errorType, 0)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = mIcLoadDataAlloc (
      ctx, fileCtx, fileHandle, password, passwordLen, &contents, &contentsLen);
    if (status != 0)
      break;
    
    /* Decode the file contents as the ASN1 private key
    */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VoltDecodeIBEPriKeyDataCreate (
      libCtx, contents, contentsLen, &asn1PriKey);
    if (status != 0)
      break;
    
    /* We need the district params. If we don't have an idObject with
     * a district object, get the params. If not, get them out of
     * storage
     */
    paramObj = (VoltParameterObject *)0;
    if (idObj != (VoltIdentityObject *)0)
    {
      if (idObj->district != (VtDistrictObject)0)
      {
        distObj = (VoltDistrictObject *)(idObj->district);
        if (distObj->paramObj != (VtParameterObject)0)
          paramObj = (VoltParameterObject *)(distObj->paramObj);
      }
    }
    
    if (paramObj == (VoltParameterObject *)0)
    {
      /* Get a district object based on the encoded Id in the private
       * key.
      */
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VtDecodeIdentityDistrict (
        (VtLibCtx)libCtx, asn1PriKey->pubKey->base.data,
        (unsigned int)(asn1PriKey->pubKey->base.length),
        (unsigned char *)0, 0, &bufferSize);
      if (status == 0)
        status = VT_ERROR_GENERAL;
      if (status != VT_ERROR_BUFFER_TOO_SMALL)
        break;
      
      VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_MEMORY;
      distName = (unsigned char *)Z2Malloc (bufferSize + 1, 0);
      if (distName == (unsigned char *)0)
        break;
      
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VtDecodeIdentityDistrict (
        (VtLibCtx)libCtx, asn1PriKey->pubKey->base.data,
        (unsigned int)(asn1PriKey->pubKey->base.length),
        distName, bufferSize, &distNameLen);
      if (status != 0)
        break;
      
      distName[distNameLen] = 0;
      
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VtCreateDistrictObject (
        (VtLibCtx)libCtx, VtDistrictImplMpCtx, (Pointer)(key->mpCtx),
        &district);
      if (status != 0)
        break;
      
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VtSetDistrictParam (
        district, VtDistrictParamQualifiedName, (Pointer)distName);
      if (status != 0)
        break;
      
      /* We can now get the params for this district.
       */
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VtRetrieveEntry (
        (VtLibCtx)libCtx, storageCtx, VT_ENTRY_TYPE_DISTRICT_PARAMS,
        0, (Pointer)0, (Pointer)district, &timeOfStore);
      if (status != 0)
        break;
      
      distObj= (VoltDistrictObject *)district;
      paramObj = (VoltParameterObject *)(distObj->paramObj);
    }
    
    /* Get the private point as a VtBFType1IBEPoint, it's currently
     * an OCTET STRING.
    */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VoltIBEPriPointFromEncodingAlloc (
      libCtx, paramObj, asn1PriKey->privateData, &ibePoint);
    if (status != 0)
      break;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品欧美日韩精品| 蜜桃视频第一区免费观看| 一卡二卡欧美日韩| 久久99日本精品| 欧美网站大全在线观看| 国产午夜亚洲精品羞羞网站| 亚洲一二三级电影| 成人短视频下载| 精品国产乱码久久久久久影片| 一区二区三区日韩欧美| 高清国产一区二区| 亚洲精品一区二区精华| 亚洲一级二级在线| 91丨九色丨蝌蚪丨老版| 久久久蜜桃精品| 久久成人精品无人区| 7777女厕盗摄久久久| 亚洲国产一区在线观看| 色综合中文综合网| 欧美日韩国产高清一区二区| 亚洲欧洲美洲综合色网| 国产精品99久久久久久宅男| 欧美一级黄色片| 三级一区在线视频先锋 | 国产精品久久久久影院亚瑟| 精品亚洲porn| 欧美成人r级一区二区三区| 午夜久久久久久久久久一区二区| 91久久免费观看| 亚洲欧美日韩精品久久久久| 99久久伊人久久99| 国产女人水真多18毛片18精品视频 | 99国内精品久久| 国产女主播一区| 99这里只有久久精品视频| 国产视频在线观看一区二区三区| 黄页网站大全一区二区| 欧美精品一区二区久久久| 国产中文字幕精品| 国产亚洲综合性久久久影院| 国产电影一区二区三区| 欧美激情中文字幕| 波波电影院一区二区三区| 综合久久综合久久| 欧美在线|欧美| 丝袜美腿亚洲一区| 精品久久久久久亚洲综合网| 国产在线精品免费av| 国产精品无遮挡| 91福利区一区二区三区| 日韩精品色哟哟| 精品国产乱码久久久久久牛牛 | 91亚洲精品乱码久久久久久蜜桃| 亚洲精品国产一区二区三区四区在线| 91蜜桃视频在线| 亚洲国产精品久久久久婷婷884| 51精品国自产在线| 国产成人在线色| 亚洲人快播电影网| 欧美高清一级片在线| 国产成人鲁色资源国产91色综 | 国产精品女主播av| 欧美在线高清视频| 日韩一级欧美一级| 成人av网站免费| 日韩电影一区二区三区四区| 国产亚洲一区二区三区在线观看| 99久久久久久99| 麻豆视频观看网址久久| 亚洲欧洲av在线| 91精品国产高清一区二区三区| 国产福利91精品| 日韩有码一区二区三区| 国产精品久久久99| 日韩精品在线网站| 在线观看国产日韩| 成人性生交大片免费| 日本三级韩国三级欧美三级| 日韩美女啊v在线免费观看| 欧美一级夜夜爽| 欧美性受极品xxxx喷水| 国产91露脸合集magnet| 蜜桃精品视频在线观看| 一区二区三区日韩在线观看| 久久精品一区二区| 69av一区二区三区| 欧美亚一区二区| 色综合天天做天天爱| 风间由美中文字幕在线看视频国产欧美| 天天综合网 天天综合色| 国产一区在线观看视频| 亚洲第一综合色| 国产精品久久久久久妇女6080| 在线播放欧美女士性生活| 蜜桃视频免费观看一区| 午夜精品福利在线| 中文在线免费一区三区高中清不卡| 欧美日韩美女一区二区| 成人激情免费视频| 美女视频一区在线观看| 欧美xxxxx牲另类人与| 欧美日韩国产高清一区二区| gogo大胆日本视频一区| 国产乱码精品1区2区3区| 日本亚洲免费观看| 天天亚洲美女在线视频| 亚洲黄色性网站| 亚洲一二三四在线观看| 国产欧美日韩不卡免费| 久久久久久久久久久久久久久99| 精品视频在线视频| 欧美日韩一区高清| 97国产精品videossex| 色综合久久久久综合体桃花网| 国产一区二区视频在线播放| 国产一区二区三区四| 免费成人在线观看视频| 蜜桃av一区二区在线观看| 亚洲电影一区二区三区| 午夜影院久久久| 综合色天天鬼久久鬼色| 亚洲老司机在线| 亚洲欧美日韩一区二区| 日韩一区中文字幕| 亚洲欧洲日产国码二区| 亚洲免费视频成人| 亚洲精品国久久99热| 日韩国产一区二| 亚洲激情图片qvod| 日韩精品乱码免费| 韩国精品主播一区二区在线观看| 久久精品久久久精品美女| 激情亚洲综合在线| 久久成人久久爱| www.av亚洲| 99久久婷婷国产精品综合| 欧美性xxxxx极品少妇| 欧美日韩国产大片| 精品欧美一区二区在线观看| 久久亚洲综合色一区二区三区| 久久综合久久综合久久综合| 国产欧美日韩另类一区| 中文字幕一区二区三中文字幕| 亚洲三级久久久| 亚洲综合另类小说| 日韩电影在线免费看| 韩国三级在线一区| 91久久精品一区二区三区| 成人黄色777网| 在线成人免费视频| 国产精品网站在线观看| 一区二区三区国产精华| 国模套图日韩精品一区二区| 成人性生交大片免费看中文网站| 最新不卡av在线| 亚洲一区二区三区在线播放| 天天综合色天天综合| 成人精品视频一区二区三区 | 欧美日韩五月天| 欧美精品自拍偷拍| 日韩欧美成人激情| 国产女同性恋一区二区| 亚洲一区二区高清| 国产成人精品一区二区三区四区| 99热这里都是精品| 欧美一区二区日韩一区二区| 国产亚洲短视频| 亚洲视频网在线直播| 午夜精品123| 国产成人精品1024| 欧美日韩国产一级二级| 日韩一区二区三区精品视频| 亚洲人成电影网站色mp4| 日本aⅴ免费视频一区二区三区 | 国产精品三级视频| 亚洲电影在线免费观看| 亚洲国产毛片aaaaa无费看 | 成人福利在线看| 日韩写真欧美这视频| 亚洲欧美在线另类| 亚洲第一会所有码转帖| 国产99久久久国产精品免费看| 欧美亚洲图片小说| 欧美一级生活片| 一区二区激情小说| 国产乱对白刺激视频不卡| 欧美日韩国产一级片| 国产精品九色蝌蚪自拍| 久草热8精品视频在线观看| 欧洲中文字幕精品| 中文字幕一区二区在线观看| 国产精品一区二区黑丝| 欧美日韩高清一区二区| 国产精品福利在线播放| 日本三级亚洲精品| 精品国产一二三区| 奇米精品一区二区三区在线观看 | 捆绑变态av一区二区三区| 欧美三区免费完整视频在线观看| 国产精品入口麻豆九色|