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

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

?? subjpubkey.c

?? IBE是一種非對(duì)稱密碼技術(shù)
?? C
字號(hào):
/* Copyright 2003-2006, Voltage Security, all rights reserved.
 */

#include "vibe.h"
#include "environment.h"
#include "base.h"
#include "libctx.h"
#include "pubkeyder.h"
#include "derhelp.h"
#include "errorctx.h"

/* Set up the OpenSSL ASN.1 template.
 */
ASN1_SEQUENCE (Asn1SubjectPublicKey) =
{
  ASN1_SIMPLE (Asn1SubjectPublicKey, algId, Asn1AlgorithmId),
  ASN1_SIMPLE (Asn1SubjectPublicKey, encodedKey, ASN1_BIT_STRING)
} ASN1_SEQUENCE_END (Asn1SubjectPublicKey);

IMPLEMENT_ASN1_FUNCTIONS (Asn1SubjectPublicKey)

int VoltEncodeSubjectPublicKeyDer (
   VoltLibCtx *libCtx,
   unsigned char *oid,
   unsigned int oidLen,
   unsigned char *params,
   unsigned int paramsLen,
   unsigned char *encodedKey,
   unsigned int encodedKeyLen,
   unsigned char *keyDer,
   unsigned int bufferSize,
   unsigned int *keyDerLen
   )
{
  int status;
  unsigned char *temp;
  Asn1SubjectPublicKey *subjPubKey = (Asn1SubjectPublicKey *)0;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    /* Create the ASN.1 "object".
     */
    status = VT_ERROR_MEMORY;
    VOLT_SET_FNCT_LINE (fnctLine)
    subjPubKey = Asn1SubjectPublicKey_new ();
    if (subjPubKey == (Asn1SubjectPublicKey *)0)
      break;

    /* Set the fields.
     */
    VOLT_SET_FNCT_LINE (fnctLine)
    if (Asn1ObjectId_set (subjPubKey->algId->oid, oid, oidLen) != 1)
      break;
    VOLT_SET_FNCT_LINE (fnctLine)
    if (Asn1Encoded_setCreate (
      &(subjPubKey->algId->params), params, paramsLen) != 1)
      break;
    VOLT_SET_FNCT_LINE (fnctLine)
    if (ASN1_STRING_set (
      subjPubKey->encodedKey, encodedKey, encodedKeyLen) != 1)
      break;

    /* The standards specify that the unused bits will be 0, regardless
     * of the values of the trailing bits (this is common in unnamed
     * bit strings). However, how does OpenSSL's ASN.1 engine override
     * the default behavior of counting the trailing 0 bits? Because
     * there is almost no documentation to accompany OpenSSL (who could
     * possibly believe that no documentation is remotely acceptable in
     * software!?) and the source code is practically uncommented and
     * written to be the hands-down winner of the Obfuscated C Code
     * Competition, there appears to be no "official" way to solve this
     * problem.
     * The solution appears to be to set the flags field in the
     * ASN1_BIT_STRING struct to ASN1_STRING_FLAG_BITS_LEFT.
     * So far, we've tested and it works.
     */
    subjPubKey->encodedKey->flags = ASN1_STRING_FLAG_BITS_LEFT;

    /* How big does the buffer need to be?
     */
    status = VT_ERROR_INVALID_INPUT;
    VOLT_SET_FNCT_LINE (fnctLine)
    *keyDerLen = i2d_Asn1SubjectPublicKey (subjPubKey, (unsigned char **)0);
    if (*keyDerLen == 0)
      break;

    status = VT_ERROR_BUFFER_TOO_SMALL;
    VOLT_SET_FNCT_LINE (fnctLine)
    if (bufferSize < *keyDerLen)
      break;

    /* Now encode into the buffer.
     */
    status = VT_ERROR_INVALID_INPUT;
    temp = keyDer;
    VOLT_SET_FNCT_LINE (fnctLine)
    *keyDerLen = i2d_Asn1SubjectPublicKey (subjPubKey, &temp);
    if (*keyDerLen == 0)
      break;

    status = 0;
  } while (0);

  if (subjPubKey != (Asn1SubjectPublicKey *)0)
    Asn1SubjectPublicKey_free (subjPubKey);

  VOLT_LOG_ERROR_COMPARE (
    status, (VtLibCtx)libCtx, status, VT_ERROR_TYPE_PRIMARY,
    fnctLine, "VoltEncodeSubjectPublicKeyDer", (char *)0)

  return (status);
}

int VoltDecodeSubjPubKeyCreate (
   VoltLibCtx *libCtx,
   unsigned char *encoding,
   unsigned int maxEncodingLen,
   Asn1SubjectPublicKey **subjPubKey
   )
{
  int status;
  Asn1SubjectPublicKey *newSubjPubKey = (Asn1SubjectPublicKey *)0;
  unsigned char *temp;
  VOLT_DECLARE_FNCT_LINE (fnctLine)

  do
  {
    /* Create the "object".
     */
    status = VT_ERROR_MEMORY;
    VOLT_SET_FNCT_LINE (fnctLine)
    newSubjPubKey = Asn1SubjectPublicKey_new ();
    if (newSubjPubKey == (Asn1SubjectPublicKey *)0)
      break;

    /* Decode.
     */
    status = VT_ERROR_UNKNOWN_BER;
    temp = encoding;
    VOLT_SET_FNCT_LINE (fnctLine)
    d2i_Asn1SubjectPublicKey (&newSubjPubKey, &temp, maxEncodingLen);

    /* Did it work?
     */
    if (newSubjPubKey == (Asn1SubjectPublicKey *)0)
      break;

    /* If successful, return the object.
     */
    *subjPubKey = newSubjPubKey;
    status = 0;
  } while (0);

  if (status == 0)
    return (0);

  /* If there was an error, destroy anything we created.
   */
  if (newSubjPubKey != (Asn1SubjectPublicKey *)0)
    Asn1SubjectPublicKey_free (newSubjPubKey);

  VOLT_LOG_ERROR_COMPARE (
    status, (VtLibCtx)libCtx, status, VT_ERROR_TYPE_PRIMARY,
    fnctLine, "VoltDecodeSubjPubKeyCreate", (char *)0)

  return (status);
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩有码一区二区三区| 精品一区二区日韩| 久久久久97国产精华液好用吗| 成人av先锋影音| 日韩不卡一二三区| 中文字幕中文在线不卡住| 91精品久久久久久蜜臀| 91视频在线看| 国产最新精品免费| 午夜日韩在线电影| 国产精品美女视频| 欧美一区二区三区视频在线观看| 一本久道久久综合中文字幕| 国产精品自在欧美一区| 日韩高清一区二区| 一二三区精品视频| 国产精品初高中害羞小美女文| 欧美一区二区三区免费| 欧美亚洲动漫另类| 99久久久精品| 国产91对白在线观看九色| 九一九一国产精品| 日韩精品欧美精品| 亚洲国产综合91精品麻豆| ...xxx性欧美| 欧美激情资源网| 精品久久久久久久久久久久包黑料 | 91丨九色丨蝌蚪富婆spa| 国产一区二区三区最好精华液| 日韩福利视频导航| 日韩精品一区第一页| 亚洲电影你懂得| 一区二区三区高清在线| 亚洲欧美国产三级| 成人欧美一区二区三区白人| 亚洲国产岛国毛片在线| 国产精品无人区| 亚洲国产精品国自产拍av| 久久美女艺术照精彩视频福利播放 | 亚洲第一综合色| 午夜欧美在线一二页| 亚洲综合偷拍欧美一区色| 一区二区三区在线视频观看58| 一区二区三区国产精品| 亚洲成年人网站在线观看| 午夜av电影一区| 日韩电影在线观看电影| 蜜臀国产一区二区三区在线播放| 日本vs亚洲vs韩国一区三区二区| 老司机精品视频导航| 韩国中文字幕2020精品| 国产精品99久| av福利精品导航| 在线视频欧美精品| 欧美嫩在线观看| 欧美成人a视频| 欧美国产日韩a欧美在线观看| 国产精品久久久久久久裸模| 亚洲欧美国产77777| 亚洲一区在线看| 日本欧洲一区二区| 国产成人一级电影| 91欧美一区二区| 欧美日韩高清一区二区| 欧美成人精品二区三区99精品| 国产亚洲一二三区| 亚洲精品免费视频| 日本不卡视频在线| 成人免费av网站| 欧美三级三级三级爽爽爽| 日韩视频永久免费| 国产精品天天摸av网| 亚洲国产视频a| 国产最新精品免费| 日本高清不卡在线观看| 666欧美在线视频| 国产精品色一区二区三区| 亚洲福利一区二区| 国产乱码一区二区三区| 欧美综合色免费| 久久久高清一区二区三区| 日韩伦理免费电影| 美腿丝袜亚洲综合| 99久久99久久综合| 欧美一区二区视频观看视频| 中文字幕av不卡| 日韩不卡一区二区三区| 99免费精品视频| 日韩免费高清av| 亚洲精品日韩专区silk| 国产伦精品一区二区三区免费| 色婷婷狠狠综合| 久久精品无码一区二区三区 | 国产乱淫av一区二区三区| 欧美色窝79yyyycom| 久久综合色婷婷| 亚洲一区在线观看免费观看电影高清| 久久精品国产网站| 91免费小视频| 国产视频在线观看一区二区三区| 亚洲一区二区三区小说| 国产福利不卡视频| 欧美一区永久视频免费观看| ...中文天堂在线一区| 国产在线一区观看| 91精品国产麻豆国产自产在线| 亚洲天堂中文字幕| 国产不卡免费视频| 精品日韩欧美在线| 日韩成人dvd| 欧美日韩一二三| 一区二区三区在线观看动漫| 粉嫩一区二区三区在线看| 欧美一级二级三级蜜桃| 亚洲一区二区三区视频在线播放 | 亚洲国产精品久久人人爱蜜臀| 丁香天五香天堂综合| 日韩欧美一二三四区| 香蕉加勒比综合久久| 一本到高清视频免费精品| 国产精品系列在线| 国产91精品一区二区麻豆亚洲| 久久丝袜美腿综合| 美国一区二区三区在线播放| 欧美日韩国产高清一区| 一个色综合av| 色天天综合久久久久综合片| 中文欧美字幕免费| a级高清视频欧美日韩| 中文无字幕一区二区三区| 国产精品综合一区二区| 欧美国产日韩亚洲一区| av在线不卡免费看| 国产精品国模大尺度视频| 成人h版在线观看| 国产精品的网站| 91麻豆精品在线观看| 亚洲自拍偷拍麻豆| 精品视频1区2区| 日韩成人精品视频| 26uuuu精品一区二区| 国产在线麻豆精品观看| 国产三级欧美三级日产三级99| 国产成人精品一区二| **欧美大码日韩| 日本高清不卡aⅴ免费网站| 亚洲高清视频中文字幕| 日韩视频免费观看高清完整版| 另类人妖一区二区av| 久久久99精品免费观看| 大白屁股一区二区视频| 亚洲天堂福利av| 欧美精品xxxxbbbb| 九九九精品视频| 中文欧美字幕免费| 在线观看区一区二| 蜜臀av一区二区在线免费观看 | 亚洲永久免费视频| 欧美一卡2卡3卡4卡| 国产一区二区三区美女| 国产精品毛片大码女人| 色av成人天堂桃色av| 日韩在线一区二区| 久久久国产精品午夜一区ai换脸| 99久久国产综合精品女不卡| 亚洲成人av电影| 精品奇米国产一区二区三区| 不卡一区二区中文字幕| 亚洲宅男天堂在线观看无病毒| 欧美久久久影院| 国产一区二区三区久久久 | 在线不卡欧美精品一区二区三区| 美女视频黄 久久| 精品一区二区av| 日本一区二区久久| 欧美日韩不卡一区| 国产91丝袜在线播放0| 亚洲国产精品一区二区尤物区| 2023国产一二三区日本精品2022| 99久久精品免费看| 美国三级日本三级久久99 | 亚洲国产精品自拍| 国产亚洲精品aa午夜观看| 欧美亚日韩国产aⅴ精品中极品| 麻豆视频一区二区| 樱花影视一区二区| 久久天堂av综合合色蜜桃网| 欧美亚洲国产怡红院影院| 国产馆精品极品| 日本伊人精品一区二区三区观看方式| 中文在线资源观看网站视频免费不卡 | 日韩成人一区二区| 国产精品国产三级国产三级人妇| 91精品国产欧美一区二区18| 成人午夜伦理影院| 美女网站色91| 午夜成人免费视频| 亚洲色图丝袜美腿| 久久精品亚洲国产奇米99| 91麻豆精品久久久久蜜臀|