⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h235-security-messagesenc.c

📁 一个非常美妙的proxy。功能强大。基于sip的协议。如果还要的话
💻 C
📖 第 1 页 / 共 3 页
字号:
/**************************************************************//*                                                            *//*  ECpoint_x                                                 *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECpoint_x (OOCTXT* pctxt, H235ECpoint_x* pvalue){   static Asn1SizeCnst lsize1 = { 0, 0, 511, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeBitString (pctxt, pvalue->numbits, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ECpoint_y                                                 *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECpoint_y (OOCTXT* pctxt, H235ECpoint_y* pvalue){   static Asn1SizeCnst lsize1 = { 0, 0, 511, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeBitString (pctxt, pvalue->numbits, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ECpoint                                                   *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECpoint (OOCTXT* pctxt, H235ECpoint* pvalue){   int stat = ASN_OK;   ASN1BOOL extbit;   /* extension bit */   extbit = 0;   encodeBit (pctxt, extbit);   encodeBit (pctxt, (ASN1BOOL)pvalue->m.xPresent);   encodeBit (pctxt, (ASN1BOOL)pvalue->m.yPresent);   /* encode x */   if (pvalue->m.xPresent) {      stat = asn1PE_H235ECpoint_x (pctxt, &pvalue->x);      if (stat != ASN_OK) return stat;   }   /* encode y */   if (pvalue->m.yPresent) {      stat = asn1PE_H235ECpoint_y (pctxt, &pvalue->y);      if (stat != ASN_OK) return stat;   }   return (stat);}/**************************************************************//*                                                            *//*  ECKASDH_eckasdhp_modulus                                  *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECKASDH_eckasdhp_modulus (OOCTXT* pctxt, H235ECKASDH_eckasdhp_modulus* pvalue){   static Asn1SizeCnst lsize1 = { 0, 0, 511, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeBitString (pctxt, pvalue->numbits, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ECKASDH_eckasdhp_weierstrassA                             *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECKASDH_eckasdhp_weierstrassA (OOCTXT* pctxt, H235ECKASDH_eckasdhp_weierstrassA* pvalue){   static Asn1SizeCnst lsize1 = { 0, 0, 511, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeBitString (pctxt, pvalue->numbits, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ECKASDH_eckasdhp_weierstrassB                             *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECKASDH_eckasdhp_weierstrassB (OOCTXT* pctxt, H235ECKASDH_eckasdhp_weierstrassB* pvalue){   static Asn1SizeCnst lsize1 = { 0, 0, 511, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeBitString (pctxt, pvalue->numbits, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ECKASDH_eckasdhp                                          *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECKASDH_eckasdhp (OOCTXT* pctxt, H235ECKASDH_eckasdhp* pvalue){   int stat = ASN_OK;   /* encode public_key */   stat = asn1PE_H235ECpoint (pctxt, &pvalue->public_key);   if (stat != ASN_OK) return stat;   /* encode modulus */   stat = asn1PE_H235ECKASDH_eckasdhp_modulus (pctxt, &pvalue->modulus);   if (stat != ASN_OK) return stat;   /* encode base */   stat = asn1PE_H235ECpoint (pctxt, &pvalue->base);   if (stat != ASN_OK) return stat;   /* encode weierstrassA */   stat = asn1PE_H235ECKASDH_eckasdhp_weierstrassA (pctxt, &pvalue->weierstrassA);   if (stat != ASN_OK) return stat;   /* encode weierstrassB */   stat = asn1PE_H235ECKASDH_eckasdhp_weierstrassB (pctxt, &pvalue->weierstrassB);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ECKASDH_eckasdh2_fieldSize                                *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECKASDH_eckasdh2_fieldSize (OOCTXT* pctxt, H235ECKASDH_eckasdh2_fieldSize* pvalue){   static Asn1SizeCnst lsize1 = { 0, 0, 511, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeBitString (pctxt, pvalue->numbits, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ECKASDH_eckasdh2_weierstrassA                             *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECKASDH_eckasdh2_weierstrassA (OOCTXT* pctxt, H235ECKASDH_eckasdh2_weierstrassA* pvalue){   static Asn1SizeCnst lsize1 = { 0, 0, 511, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeBitString (pctxt, pvalue->numbits, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ECKASDH_eckasdh2_weierstrassB                             *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECKASDH_eckasdh2_weierstrassB (OOCTXT* pctxt, H235ECKASDH_eckasdh2_weierstrassB* pvalue){   static Asn1SizeCnst lsize1 = { 0, 0, 511, 0 };   int stat = ASN_OK;   addSizeConstraint (pctxt, &lsize1);   stat = encodeBitString (pctxt, pvalue->numbits, pvalue->data);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ECKASDH_eckasdh2                                          *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECKASDH_eckasdh2 (OOCTXT* pctxt, H235ECKASDH_eckasdh2* pvalue){   int stat = ASN_OK;   /* encode public_key */   stat = asn1PE_H235ECpoint (pctxt, &pvalue->public_key);   if (stat != ASN_OK) return stat;   /* encode fieldSize */   stat = asn1PE_H235ECKASDH_eckasdh2_fieldSize (pctxt, &pvalue->fieldSize);   if (stat != ASN_OK) return stat;   /* encode base */   stat = asn1PE_H235ECpoint (pctxt, &pvalue->base);   if (stat != ASN_OK) return stat;   /* encode weierstrassA */   stat = asn1PE_H235ECKASDH_eckasdh2_weierstrassA (pctxt, &pvalue->weierstrassA);   if (stat != ASN_OK) return stat;   /* encode weierstrassB */   stat = asn1PE_H235ECKASDH_eckasdh2_weierstrassB (pctxt, &pvalue->weierstrassB);   if (stat != ASN_OK) return stat;   return (stat);}/**************************************************************//*                                                            *//*  ECKASDH                                                   *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ECKASDH (OOCTXT* pctxt, H235ECKASDH* pvalue){   int stat = ASN_OK;   ASN1BOOL extbit;   /* extension bit */   extbit = (ASN1BOOL)(pvalue->t > 2);   encodeBit (pctxt, extbit);   if (!extbit) {      /* Encode choice index value */      stat = encodeConsUnsigned (pctxt, pvalue->t - 1, 0, 1);      if (stat != ASN_OK) return stat;      /* Encode root element data value */      switch (pvalue->t)      {         /* eckasdhp */         case 1:            stat = asn1PE_H235ECKASDH_eckasdhp (pctxt, pvalue->u.eckasdhp);            if (stat != ASN_OK) return stat;            break;         /* eckasdh2 */         case 2:            stat = asn1PE_H235ECKASDH_eckasdh2 (pctxt, pvalue->u.eckasdh2);            if (stat != ASN_OK) return stat;            break;         default:            return ASN_E_INVOPT;      }   }   else {      /* Encode extension choice index value */      stat = encodeSmallNonNegWholeNumber (pctxt, pvalue->t - 3);      if (stat != ASN_OK) return stat;      /* Encode extension element data value */   }   return (stat);}/**************************************************************//*                                                            *//*  ClearToken                                                *//*                                                            *//**************************************************************/EXTERN int asn1PE_H235ClearToken (OOCTXT* pctxt, H235ClearToken* pvalue){   int stat = ASN_OK;   ASN1BOOL extbit;   ASN1OpenType openType;   OOCTXT lctxt;   /* extension bit */   extbit = (ASN1BOOL)(pvalue->m.eckasdhkeyPresent ||   pvalue->m.sendersIDPresent);   encodeBit (pctxt, extbit);   encodeBit (pctxt, (ASN1BOOL)pvalue->m.timeStampPresent);   encodeBit (pctxt, (ASN1BOOL)pvalue->m.passwordPresent);   encodeBit (pctxt, (ASN1BOOL)pvalue->m.dhkeyPresent);   encodeBit (pctxt, (ASN1BOOL)pvalue->m.challengePresent);   encodeBit (pctxt, (ASN1BOOL)pvalue->m.randomPresent);   encodeBit (pctxt, (ASN1BOOL)pvalue->m.certificatePresent);   encodeBit (pctxt, (ASN1BOOL)pvalue->m.generalIDPresent);   encodeBit (pctxt, (ASN1BOOL)pvalue->m.nonStandardPresent);   /* encode tokenOID */   stat = encodeObjectIdentifier (pctxt, &pvalue->tokenOID);   if (stat != ASN_OK) return stat;   /* encode timeStamp */   if (pvalue->m.timeStampPresent) {      stat = asn1PE_H235TimeStamp (pctxt, pvalue->timeStamp);      if (stat != ASN_OK) return stat;   }   /* encode password */   if (pvalue->m.passwordPresent) {      stat = asn1PE_H235Password (pctxt, pvalue->password);      if (stat != ASN_OK) return stat;   }   /* encode dhkey */   if (pvalue->m.dhkeyPresent) {      stat = asn1PE_H235DHset (pctxt, &pvalue->dhkey);      if (stat != ASN_OK) return stat;   }   /* encode challenge */   if (pvalue->m.challengePresent) {      stat = asn1PE_H235ChallengeString (pctxt, &pvalue->challenge);      if (stat != ASN_OK) return stat;   }   /* encode random */   if (pvalue->m.randomPresent) {      stat = asn1PE_H235RandomVal (pctxt, pvalue->random);      if (stat != ASN_OK) return stat;   }   /* encode certificate */   if (pvalue->m.certificatePresent) {      stat = asn1PE_H235TypedCertificate (pctxt, &pvalue->certificate);      if (stat != ASN_OK) return stat;   }   /* encode generalID */   if (pvalue->m.generalIDPresent) {      stat = asn1PE_H235Identifier (pctxt, pvalue->generalID);      if (stat != ASN_OK) return stat;   }   /* encode nonStandard */   if (pvalue->m.nonStandardPresent) {      stat = asn1PE_H235NonStandardParameter (pctxt, &pvalue->nonStandard);      if (stat != ASN_OK) return stat;   }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -