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

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

?? rlistparams.c

?? IBE是一種非對稱密碼技術
?? C
字號:
/* Copyright 2003-2006, Voltage Security, all rights reserved.
 */
#include "vibe.h"
#include "environment.h"
#include "base.h"
#include "libctx.h"
#include "recipinfo.h"
#include "p7obj.h"
#include "idobj.h"
#include "errorctx.h"

int VtRecipientInfoListParamSecretValue (
   VtRecipientInfoList recipInfoList,
   Pointer info,
   unsigned int flag
   )
{
  int status;
  VoltRecipientInfoList *obj = (VoltRecipientInfoList *)recipInfoList;
  VtItem *secretData;
  Pointer *getInfo;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    if (flag == VOLT_RECIP_INFO_LIST_GET_TYPE_FLAG)
    {
      /* Get the info out of the obj, if it's there.
       */
      status = 0;
      getInfo = (Pointer *)info;
      *getInfo = (Pointer)&(obj->secretValue);
      if (obj->secretValue.data != (unsigned char *)0)
        break;

      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_GET_INFO_UNAVAILABLE;
      break;
    }

    /* Check the args.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_TYPE;
    if (flag != VOLT_RECIP_INFO_LIST_SET_TYPE_FLAG)
      break;

    /* If there's already a secret value in this object, error.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_SET;
    if (obj->secretValue.data != (unsigned char *)0)
      break;

    /* The associatedInfo must be a VtItem.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_ASSOCIATED_INFO;
    if (info == (Pointer)0)
      break;

    VOLT_SET_FNCT_LINE (fnctLine)
    secretData = (VtItem *)info;
    if ( (secretData->data == (unsigned char *)0) || (secretData->len == 0) )
      break;

    /* Copy the data.
     */
    VOLT_SET_ERROR_TYPE (errorType, 0)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VoltCopyItemDataAlloc (
      obj->voltObject.libraryCtx, VOLT_MEMORY_SENSITIVE, 0, secretData,
      &(obj->secretValue));

  } while (0);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, recipInfoList, status, 0, errorType,
    (char *)0, "VtRecipientInfoListParamSecretValue", fnctLine, (char *)0)

  return (status);
}

int VtRecipientInfoListParamSymmetricAlgorithm (
   VtRecipientInfoList recipInfoList,
   Pointer info,
   unsigned int flag
   )
{
  int status;
  unsigned int coderCount, algorithm, index;
  VoltRecipientInfoList *obj = (VoltRecipientInfoList *)recipInfoList;
  VoltLibCtx *libCtx = (VoltLibCtx *)(obj->voltObject.libraryCtx);
  VtSetAlgIdInfo *setAlgIdInfo;
  VtDerCoder **coders;
  VtItem algIdItem;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    /* This param can Set only.
     */
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_GET;
    if (flag == VOLT_RECIP_INFO_LIST_GET_TYPE_FLAG)
      break;

    /* Check the args.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_TYPE;
    if (flag != VOLT_RECIP_INFO_LIST_SET_TYPE_FLAG)
      break;

    /* If there's already an algID in this object, delete it.
     */
    if (obj->symAlgID.data != (unsigned char *)0)
    {
      Z2Free (obj->symAlgID.data);
      obj->symAlgID.data = (unsigned char *)0;
      obj->symAlgID.len = 0;
      obj->SymAlg = (VtDerCoder *)0;
    }

    /* The associated info must be VtSetAlgIdInfo.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_ASSOCIATED_INFO;
    if (info == (Pointer)0)
      break;

    setAlgIdInfo = (VtSetAlgIdInfo *)info;
    coders = setAlgIdInfo->derCoders;
    coderCount = setAlgIdInfo->derCoderCount;

    VOLT_SET_FNCT_LINE (fnctLine)
    if ( (setAlgIdInfo->berEncoding == (unsigned char *)0) ||
         (setAlgIdInfo->maxEncodingLen == 0) )
      break;

    VOLT_SET_ERROR_TYPE (errorType, 0)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VoltCheckSupportObjects (
      obj->voltObject.libraryCtx, (VtPolicyCtx *)0, (VtStorageCtx *)0,
      (VtTransportCtx *)0, (VtCertVerifyCtx *)0, (VtVerifyFailureList *)0,
      (VtRandomObject *)0, &coders, &coderCount,
      (VtIdentitySchemaDecode ***)0, (unsigned int *)0);
    if (status != 0)
      break;

    /* Make sure the algID is valid and that it is a symmetric alg.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VoltGetAlgorithmFromBer (
      obj->voltObject.libraryCtx, setAlgIdInfo->berEncoding,
      setAlgIdInfo->maxEncodingLen, coders, coderCount, &algorithm, &index);
    if (status != 0)
      break;

    /* The alg must be a symmetric cipher.
     */
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_ASSOCIATED_INFO;
    if ( (algorithm < VT_ALG_ID_MIN_SYM_CIPHER) ||
         (algorithm > VT_ALG_ID_MAX_SYM_CIPHER) )
      break;

    /* Copy the algID.
     */
    algIdItem.data = setAlgIdInfo->berEncoding;
    algIdItem.len = setAlgIdInfo->maxEncodingLen;
    VOLT_SET_ERROR_TYPE (errorType, 0)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VoltCopyItemDataAlloc (
      obj->voltObject.libraryCtx, 0, 0, &algIdItem, &(obj->symAlgID));
    if (status != 0)
      break;

    obj->SymAlg = coders[index];

  } while (0);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, recipInfoList, status, 0, errorType,
    (char *)0, "VtRecipientInfoListParamSymmetricAlgorithm", fnctLine, (char *)0)

  return (status);
}

int VtRecipientInfoListParamSymmetricAlgId (
   VtRecipientInfoList recipInfoList,
   Pointer info,
   unsigned int flag
   )
{
  int status;
  VoltRecipientInfoList *obj = (VoltRecipientInfoList *)recipInfoList;
  Pointer *getInfo;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    /* This param can Get only.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_SET;
    if (flag == VOLT_RECIP_INFO_LIST_SET_TYPE_FLAG)
      break;

    /* Check the args.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_TYPE;
    if (flag != VOLT_RECIP_INFO_LIST_GET_TYPE_FLAG)
      break;

    getInfo = (Pointer *)info;

    /* If there's already no algID in this object, we're not able to
     * return anything.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_GET_INFO_UNAVAILABLE;
    if (obj->symAlgID.data == (unsigned char *)0)
      break;

    *getInfo = (Pointer)&(obj->symAlgID);

    status = 0;

  } while (0);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, recipInfoList, status, 0, VT_ERROR_TYPE_PRIMARY,
    (char *)0, "VtRecipientInfoListParamSymmetricAlgID", fnctLine, (char *)0)

    return (status);
}

int VtRecipientInfoListParamSymmetricKey (
   VtRecipientInfoList recipInfoList,
   Pointer info,
   unsigned int flag
   )
{
  int status;
  VoltRecipientInfoList *obj = (VoltRecipientInfoList *)recipInfoList;
  Pointer *getInfo;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    /* This Param can Get only.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_SET;
    if (flag == VOLT_RECIP_INFO_LIST_SET_TYPE_FLAG)
      break;

    /* Check the args.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_TYPE;
    if (flag != VOLT_RECIP_INFO_LIST_GET_TYPE_FLAG)
      break;

    /* Get the info out of the obj, if it's there.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_GET_INFO_UNAVAILABLE;
    if (obj->symKeyData.data == (unsigned char *)0)
      break;

    getInfo = (Pointer *)info;
    *getInfo = (Pointer)&(obj->symKeyData);

    status = 0;

  } while (0);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, recipInfoList, status, 0, VT_ERROR_TYPE_PRIMARY,
    (char *)0, "VtRecipientInfoListParamSymmetricKey", fnctLine, (char *)0)

  return (status);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看欧美日本| 日韩中文欧美在线| 精品剧情在线观看| 欧美一区二区女人| 欧美一区二区在线免费播放| 在线观看亚洲精品| 欧美视频在线一区| 欧美日韩一区二区三区高清| 欧美日韩成人综合在线一区二区| 色呦呦一区二区三区| 欧美在线一二三四区| 在线播放中文字幕一区| 6080国产精品一区二区| 亚洲精品一区二区三区影院| 欧美国产一区视频在线观看| 国产精品国产三级国产aⅴ入口 | 欧美丰满嫩嫩电影| 日韩限制级电影在线观看| 久久美女艺术照精彩视频福利播放 | 日韩美女视频在线| 久久综合色天天久久综合图片| 久久综合狠狠综合久久综合88| 国产欧美日韩中文久久| 一区二区在线观看免费视频播放| 三级一区在线视频先锋| 国产精品亚洲成人| 色综合久久久久综合体| 3atv一区二区三区| 中文字幕免费在线观看视频一区| 中文字幕第一区第二区| 亚洲一区二区欧美激情| 天天色天天操综合| 国产黑丝在线一区二区三区| 91美女片黄在线观看91美女| 日韩亚洲欧美一区二区三区| 欧美国产日产图区| 三级久久三级久久久| 成人国产一区二区三区精品| 538在线一区二区精品国产| 国产欧美日韩在线视频| 日韩av在线免费观看不卡| av一区二区久久| 日韩一区二区三免费高清| 亚洲国产精品成人综合 | 日韩一级在线观看| 亚洲免费成人av| 国产一区二区三区蝌蚪| 欧美色图天堂网| 国产亚洲一区二区三区| 亚洲va天堂va国产va久| caoporn国产一区二区| 欧美精品一区二区三区视频| 婷婷成人激情在线网| 色综合久久综合| 国产精品久久久爽爽爽麻豆色哟哟| 肉丝袜脚交视频一区二区| 91麻豆精东视频| 国产精品午夜在线| 国产精品主播直播| 日韩一区二区三区高清免费看看| 一区二区三区高清不卡| 99久久精品国产精品久久| 久久久久国产精品免费免费搜索| 青青青爽久久午夜综合久久午夜| 欧美日韩一区二区三区四区| 亚洲码国产岛国毛片在线| 成人性色生活片| 国产亚洲va综合人人澡精品| 黑人精品欧美一区二区蜜桃 | 在线精品视频一区二区三四| 亚洲国产精品99久久久久久久久| 久草在线在线精品观看| 日韩欧美中文字幕公布| 日韩av中文在线观看| 欧美一区二区美女| 久久成人av少妇免费| 久久亚洲综合色一区二区三区| 免费一区二区视频| 91麻豆精品国产91久久久久久| 天堂影院一区二区| 精品日产卡一卡二卡麻豆| 韩国成人在线视频| 国产日韩精品一区| hitomi一区二区三区精品| 亚洲天堂成人在线观看| 欧美三级中文字| 日本麻豆一区二区三区视频| 日韩你懂的在线观看| 国产乱国产乱300精品| 亚洲国产经典视频| 欧美综合久久久| 日韩精品91亚洲二区在线观看| 欧美电影在哪看比较好| 韩国精品在线观看| 亚洲欧洲无码一区二区三区| 色香色香欲天天天影视综合网| 天天影视网天天综合色在线播放| 日韩视频一区二区三区在线播放| 国产盗摄精品一区二区三区在线| 1区2区3区欧美| 欧美日韩三级视频| 国产一区福利在线| 亚洲欧美日韩一区二区三区在线观看| 欧美色图天堂网| 国产乱码精品一区二区三区五月婷| 国产精品美女视频| 在线播放/欧美激情| 成人激情免费网站| 免费成人在线观看视频| 国产精品国产自产拍高清av| 欧美人体做爰大胆视频| 成人午夜精品在线| 日韩中文字幕麻豆| 亚洲三级久久久| 久久免费的精品国产v∧| 欧美日韩小视频| 成人av中文字幕| 久久99久久精品| 亚洲一区二区三区四区五区中文 | 久久精品欧美一区二区三区麻豆| 91久久精品网| 粉嫩aⅴ一区二区三区四区五区 | 色欧美日韩亚洲| 精品一区二区三区在线播放视频| 亚洲女厕所小便bbb| 欧美一区二区三区日韩视频| 97se亚洲国产综合自在线| 韩国在线一区二区| 日韩中文字幕91| 一区二区三区四区不卡视频| 日本一区二区免费在线| 日韩精品一区二区三区蜜臀| 欧美日韩一二三| 欧美在线观看一区| 成人免费高清视频在线观看| 国产精品一区二区三区乱码| 视频一区二区不卡| 日韩中文字幕一区二区三区| 亚洲一区二区三区精品在线| 一区二区三区免费在线观看| 国产精品麻豆网站| 国产午夜亚洲精品不卡| 欧美成人a在线| 91精品国产91热久久久做人人| 色婷婷香蕉在线一区二区| 91亚洲精华国产精华精华液| 99在线精品视频| 99国产一区二区三精品乱码| 国产精品一区二区黑丝| 国产美女一区二区| 国产一本一道久久香蕉| 国产麻豆91精品| 国产成人在线色| 成人白浆超碰人人人人| 91在线观看下载| 一本到不卡免费一区二区| 色婷婷综合久久久中文字幕| 在线观看区一区二| 欧美肥妇free| 欧美大片国产精品| 久久精品亚洲乱码伦伦中文| 国产日韩成人精品| 一区二区三区在线免费观看| 亚洲一区二区三区中文字幕| 亚洲国产成人va在线观看天堂| 日韩主播视频在线| 国产一区二区三区日韩| 波多野结衣中文字幕一区 | 国产99久久久精品| 91亚洲资源网| 欧美日韩和欧美的一区二区| 91精品国产综合久久久久久久久久| 日韩亚洲欧美成人一区| 国产色爱av资源综合区| 亚洲精品一二三| 免费在线看成人av| 成人午夜看片网址| 欧美三级三级三级爽爽爽| 欧美电影免费观看高清完整版在线 | 激情综合色综合久久| 国产高清不卡一区| 在线精品视频一区二区三四| 欧美电影免费观看高清完整版在线| 国产精品视频免费| 日本不卡一区二区| 粉嫩高潮美女一区二区三区| 精品视频在线免费| 国产无人区一区二区三区| 一区二区三区在线不卡| 久久精品99国产精品| 一本久久精品一区二区| 精品国产人成亚洲区| 亚洲福利一区二区| 成人性生交大片免费看中文| 7777女厕盗摄久久久| 亚洲欧美日韩电影| 国产一区二区在线观看免费| 欧美日韩高清一区二区三区| 国产精品萝li| 国产精品中文字幕欧美|