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

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

?? sfparams.c

?? IBE是一種非對稱密碼技術
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* Copyright 2003-2006, Voltage Security, all rights reserved.
 */
#include "vibe.h"
#include "environment.h"
#include "base.h"
#include "libctx.h"
#include "securemail.h"
#include "stringutil.h"
#include "errorctx.h"

int VtSecureFileParamRecipientList (
   VtSecureFileObject secureFileObj,
   Pointer info,
   unsigned int flag
   )
{
  int status;
  VoltSecureMailObject *obj = (VoltSecureMailObject *)secureFileObj;
  VoltSecureMailWriteCtx *writeCtx;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_TYPE;

    if (flag == VOLT_SECURE_FILE_SET_TYPE_FLAG)
    {
      /* The SecureMail object must be set to write.
       */
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_INVALID_SECURE_FILE_OBJ;
      if (obj->state != VOLT_SECURE_MAIL_STATE_WRITE_SET)
        break;

      /* Set the enveloper with this list.
       */
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VtSetPkcs7Param (
        obj->p7EnvelopedData, VtPkcs7ParamRecipientList, info);
      if (status != 0)
        break;

      /* We need a reference to the recipient list.
       */
      writeCtx = (VoltSecureMailWriteCtx *)(obj->localCtx);
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VtGetPkcs7Param (
        obj->p7EnvelopedData, VtPkcs7ParamRecipientList,
        (Pointer *)&(writeCtx->recipListRef));
    }
    else if (flag == VOLT_SECURE_FILE_GET_TYPE_FLAG)
    {
      /* If getting, the SecureMail object must be set to read.
       */
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_INVALID_SECURE_FILE_OBJ;
      if ((obj->state & VOLT_SECURE_MAIL_STATE_READ) == 0)
        break;

      /* Get the list out of the enveloper.
       */
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VtGetPkcs7Param (
        obj->p7EnvelopedData, VtPkcs7ParamRecipientList, (Pointer *)info);
    }

  } while (0);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, secureFileObj, status, 0, errorType,
    (char *)0, "VtSecureFileParamRecipientList", fnctLine, (char *)0)

  return (status);
}

int VtSecureFileParamRecipientInfoList (
   VtSecureFileObject secureFileObj,
   Pointer info,
   unsigned int flag
   )
{
  int status;
  VoltSecureMailObject *obj = (VoltSecureMailObject *)secureFileObj;
  VoltSecureMailWriteCtx *writeCtx;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_TYPE;
    if (flag == VOLT_SECURE_FILE_SET_TYPE_FLAG)
    {
      /* The SecureMail object must be set to write.
       */
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_INVALID_SECURE_FILE_OBJ;
      if (obj->state != VOLT_SECURE_MAIL_STATE_WRITE_SET)
        break;

      /* Set the enveloper with this list.
       */
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VtSetPkcs7Param (
        obj->p7EnvelopedData, VtPkcs7ParamRecipientInfoList, info);
      if (status != 0)
        break;

      /* We need a reference to the recipient list.
       */
      writeCtx = (VoltSecureMailWriteCtx *)(obj->localCtx);
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VtGetPkcs7Param (
        obj->p7EnvelopedData, VtPkcs7ParamRecipientList,
        (Pointer *)&(writeCtx->recipListRef));
    }
    else if (flag == VOLT_SECURE_FILE_GET_TYPE_FLAG)
    {
      /* If getting, the SecureMail object must be set to read.
       */
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_INVALID_SECURE_FILE_OBJ;
      if ((obj->state & VOLT_SECURE_MAIL_STATE_READ) == 0)
        break;

      /* Get the list out of the enveloper.
       */
      VOLT_SET_ERROR_TYPE (errorType, 0)
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VtGetPkcs7Param (
        obj->p7EnvelopedData, VtPkcs7ParamRecipientInfoList, (Pointer *)info);
    }
  } while (0);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, secureFileObj, status, 0, errorType,
    (char *)0, "VtSecureFileParamRecipientInfoList", fnctLine, (char *)0)

  return (status);
}

int VtSecureFileParamRecipientIndex (
   VtSecureFileObject secureFileObj,
   Pointer info,
   unsigned int flag
   )
{
  int status;
  VoltSecureMailObject *obj = (VoltSecureMailObject *)secureFileObj;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    /* This Param cannot Get info.
     */
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_GET;
    if (flag == VOLT_SECURE_FILE_GET_TYPE_FLAG)
      break;

    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_TYPE;
    if (flag != VOLT_SECURE_FILE_SET_TYPE_FLAG)
      break;

    /* The SecureMail object must be set to read.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_SECURE_FILE_OBJ;
    if ((obj->state & VOLT_SECURE_MAIL_STATE_READ) == 0)
      break;

    /* Set the enveloper with this list.
     */
    VOLT_SET_ERROR_TYPE (errorType, 0)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VtSetPkcs7Param (
      obj->p7EnvelopedData, VtPkcs7ParamRecipientIndex, info);

  } while (0);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, secureFileObj, status, 0, errorType,
    (char *)0, "VtSecureFileParamRecipientIndex", fnctLine, (char *)0)

  return (status);
}

int VtSecureFileParamSignerList (
   VtSecureFileObject secureFileObj,
   Pointer info,
   unsigned int flag
   )
{
  int status;
  Pointer *getInfo;
  VoltSecureMailObject *obj = (VoltSecureMailObject *)secureFileObj;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    /* This param can GetParam only.
     */
    VOLT_SET_ERROR_TYPE (errorType, VT_ERROR_TYPE_PRIMARY)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_SET;
    if (flag == VOLT_SECURE_FILE_SET_TYPE_FLAG)
      break;

    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_TYPE;
    if (flag != VOLT_SECURE_FILE_GET_TYPE_FLAG)
      break;

    /* The object must be built to read.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_SECURE_FILE_OBJ;
    if ((obj->state & VOLT_SECURE_MAIL_STATE_READ) == 0)
      break;

    getInfo = (Pointer *)info;

    /* The object must be done reading a file.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_GET_INFO_UNAVAILABLE;
    if (obj->state != VOLT_SECURE_FILE_STATE_READ_COMPLETE)
      break;

    /* Get the info out of the P7 object.
     */
    VOLT_SET_ERROR_TYPE (errorType, 0)
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VtGetPkcs7Param (
      obj->p7SignedData, VtPkcs7ParamSignerList, getInfo);

  } while (0);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, secureFileObj, status, 0, errorType,
    (char *)0, "VtSecureFileParamSignerList", fnctLine, (char *)0)

  return (status);
}

int VtSecureFileParamContentDescriptors (
   VtSecureFileObject secureFileObj,
   Pointer info,
   unsigned int flag
   )
{
  int status;
  unsigned int bufferSize, index;
  Pointer *getInfo;
  VoltSecureMailObject *obj = (VoltSecureMailObject *)secureFileObj;
  VoltSecureMailReadCtx *readCtx = (VoltSecureMailReadCtx *)(obj->localCtx);
  VoltLibCtx *libCtx = (VoltLibCtx *)(obj->voltObject.libraryCtx);
  VoltContentMaterial *currentElement;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

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

    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_TYPE;
    if (flag != VOLT_SECURE_FILE_GET_TYPE_FLAG)
      break;

    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_INVALID_SECURE_FILE_OBJ;
    if ((obj->state & VOLT_SECURE_MAIL_STATE_READ) == 0)
      break;

    getInfo = (Pointer *)info;

    /* Make sure this object is set to read SecureFile and that the
     * content descriptors have been read.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    status = VT_ERROR_GET_INFO_UNAVAILABLE;
    if (readCtx->contentMaterialState != VOLT_CONTENT_MATERIAL_STATE_COMPLETE)
      break;

    /* If the list is not yet computed, compute it now.
     */
    if (readCtx->contentDescriptors.count != readCtx->contentMaterialCount)
    {
      /* The buffer size is the size of an array, we'll just fill it
       * with the pointers to the data already copied.
       */
      VOLT_SET_FNCT_LINE (fnctLine)
      status = VT_ERROR_MEMORY;
      bufferSize = readCtx->contentMaterialCount * sizeof (unsigned char *);
      readCtx->contentDescriptors.utf8Strings = (unsigned char **)Z2Realloc (
        readCtx->contentDescriptors.utf8Strings, bufferSize);
      if (readCtx->contentDescriptors.utf8Strings == (unsigned char **)0)
        break;
      Z2Memset (readCtx->contentDescriptors.utf8Strings, 0, bufferSize);
      readCtx->contentDescriptors.count = readCtx->contentMaterialCount;

      /* Load up all the addresses.
       */
      currentElement = readCtx->contentMaterial;
      for (index = 0; index < readCtx->contentMaterialCount; ++index)
      {
        readCtx->contentDescriptors.utf8Strings[index] =
          currentElement->material.data;

        currentElement = (VoltContentMaterial *)(currentElement->nextElement);
      }
    }

    *getInfo = (Pointer)&(readCtx->contentDescriptors);

    status = 0;

  } while (0);

  VOLT_LOG_ERROR_INFO_COMPARE (
    status, 0, secureFileObj, status, 0, VT_ERROR_TYPE_PRIMARY,
    (char *)0, "VtSecureFileParamContentDescriptors", fnctLine, (char *)0)

  return (status);
}

int VtSecureFileParamMessageTime (
   VtSecureFileObject secureFileObj,
   Pointer info,
   unsigned int flag
   )
{
  int status;
  Pointer *getInfo;
  VoltSecureMailObject *obj = (VoltSecureMailObject *)secureFileObj;
  VOLT_DECLARE_ERROR_TYPE (errorType)
  VOLT_DECLARE_FNCT_LINE (fnctLine)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本高清免费不卡视频| 久久久不卡影院| 久久色.com| 亚洲午夜久久久久| 国产一区二区伦理| 欧美日韩卡一卡二| 亚洲视频精选在线| 国产精品自在在线| 日韩一级片在线观看| 亚洲免费伊人电影| yourporn久久国产精品| 日韩女同互慰一区二区| 亚洲与欧洲av电影| 91婷婷韩国欧美一区二区| 久久美女艺术照精彩视频福利播放 | 欧美视频一区在线| 国产精品免费视频网站| 国产一区二区精品久久| 日韩欧美一区二区三区在线| 亚洲制服丝袜av| 一本到不卡免费一区二区| 日本一区二区三区视频视频| 久久草av在线| 精品国产一区二区三区不卡 | 亚洲欧洲99久久| 国产精品18久久久久久vr| 亚洲精品在线电影| 久久国产生活片100| 日韩免费一区二区| 久久国产精品99精品国产| 日韩三级高清在线| 九九国产精品视频| 久久久久久久一区| 国产精品一区二区你懂的| 久久这里都是精品| 高清国产一区二区三区| 国产精品色哟哟| 成人国产免费视频| 亚洲日本欧美天堂| 欧美在线观看一二区| 国产在线观看一区二区| 精品国产自在久精品国产| 精品一区二区在线观看| 国产亚洲视频系列| www.欧美色图| 亚洲最快最全在线视频| 欧美自拍偷拍午夜视频| 亚洲激情中文1区| 欧美日韩一区二区三区在线 | 美洲天堂一区二卡三卡四卡视频 | 国产亚洲精品资源在线26u| 国产乱码精品1区2区3区| 亚洲精品一区二区三区在线观看| 久久精品国产精品亚洲红杏| 精品日韩99亚洲| 成人小视频免费在线观看| 亚洲欧洲韩国日本视频| 欧美丝袜丝交足nylons图片| 日本美女一区二区三区视频| 26uuu国产在线精品一区二区| 国产精品小仙女| 亚洲免费观看高清完整| 欧美日韩国产综合一区二区三区| 日韩中文字幕不卡| 国产欧美一区二区在线观看| 91在线看国产| 日韩激情视频在线观看| 久久美女高清视频| 欧美制服丝袜第一页| 麻豆精品精品国产自在97香蕉| 国产欧美综合色| 欧美日韩小视频| 国产麻豆欧美日韩一区| 亚洲在线免费播放| 久久尤物电影视频在线观看| 北条麻妃一区二区三区| 午夜精品成人在线视频| 国产精品热久久久久夜色精品三区| 一本到不卡精品视频在线观看| 人人爽香蕉精品| 亚洲免费在线电影| 久久亚洲一区二区三区明星换脸 | 欧美一级日韩一级| 成人久久18免费网站麻豆| 五月天欧美精品| 久久精品视频在线看| 欧美精品乱码久久久久久按摩 | 色吊一区二区三区| 极品少妇一区二区| 亚洲午夜久久久久中文字幕久| 欧美成人猛片aaaaaaa| 在线影视一区二区三区| 九九久久精品视频| 日韩不卡一区二区| 亚洲自拍偷拍网站| 欧美国产视频在线| 精品久久久久久久久久久久久久久 | 成人晚上爱看视频| 久久国内精品自在自线400部| 亚洲一区二区在线免费观看视频 | 成人一级视频在线观看| 日本三级韩国三级欧美三级| 亚洲欧洲制服丝袜| 亚洲国产成人私人影院tom| 欧美mv和日韩mv的网站| 在线观看91精品国产入口| 成人禁用看黄a在线| 国产曰批免费观看久久久| 免费人成在线不卡| 琪琪一区二区三区| 天堂资源在线中文精品| 亚洲一区二区三区四区在线免费观看 | 亚洲一区二区三区四区在线| 综合在线观看色| 成人免费视频在线观看| 国产精品久久久久影院| 国产午夜精品理论片a级大结局| 欧美一区二区播放| 日韩三级精品电影久久久 | 色88888久久久久久影院按摩| 成人91在线观看| 国内精品久久久久影院色| gogo大胆日本视频一区| av电影天堂一区二区在线| 国产iv一区二区三区| 国产不卡在线视频| av资源网一区| 色综合一个色综合| 欧洲视频一区二区| 欧美日韩成人综合天天影院| 欧美日韩精品一区二区三区四区 | 欧美剧在线免费观看网站| 欧美日韩成人综合天天影院 | 国产精品日产欧美久久久久| 欧美激情综合五月色丁香小说| 久久九九久精品国产免费直播| 久久在线观看免费| 欧美国产精品中文字幕| 亚洲免费观看高清完整| 五月天激情综合| 激情综合五月天| jlzzjlzz欧美大全| 欧美日韩一级片网站| 欧美一级精品在线| 中文乱码免费一区二区| 一区二区在线免费| 美女视频黄频大全不卡视频在线播放| 狠狠色丁香婷综合久久| 99在线精品免费| 欧美另类z0zxhd电影| 精品国产免费人成在线观看| 欧美国产精品中文字幕| 亚洲第一二三四区| 国产精品一级黄| 在线欧美小视频| 久久人人爽爽爽人久久久| 国产精品成人网| 男女视频一区二区| 91首页免费视频| 日韩三级视频在线观看| 中文字幕一区二区在线观看| 性感美女久久精品| 国产aⅴ精品一区二区三区色成熟| 一本一道久久a久久精品综合蜜臀| 欧美电影影音先锋| 国产精品色呦呦| 免费三级欧美电影| 91搞黄在线观看| 久久久久久97三级| 丝袜美腿亚洲色图| 91蜜桃在线观看| 久久精品这里都是精品| 亚洲成人综合在线| 99re这里只有精品首页| 精品成人a区在线观看| 亚洲国产成人91porn| 成人毛片视频在线观看| 日韩一区二区三区电影在线观看| 最新成人av在线| 国产成人自拍高清视频在线免费播放| 欧美女孩性生活视频| 中文字幕一区二区5566日韩| 久久av资源站| 欧美精品三级日韩久久| 亚洲一区二区视频在线| 99久久99久久综合| 国产欧美一区二区精品久导航| 日日摸夜夜添夜夜添国产精品 | 日韩欧美国产高清| 亚洲一区二区三区视频在线播放| 风间由美性色一区二区三区| 欧美一级理论性理论a| 天堂久久久久va久久久久| 99九九99九九九视频精品| 亚洲国产精华液网站w| 国产成人啪午夜精品网站男同| 欧美成人精品1314www| 欧美aa在线视频| 日韩视频中午一区| 男人的j进女人的j一区|