h235-security-messages.h

来自「一个非常美妙的proxy。功能强大。基于sip的协议。如果还要的话」· C头文件 代码 · 共 676 行 · 第 1/2 页

H
676
字号
/*                                                            *//**************************************************************/typedef struct EXTERN H235ECKASDH_eckasdhp {   H235ECpoint public_key;   H235ECKASDH_eckasdhp_modulus modulus;   H235ECpoint base;   H235ECKASDH_eckasdhp_weierstrassA weierstrassA;   H235ECKASDH_eckasdhp_weierstrassB weierstrassB;} H235ECKASDH_eckasdhp;EXTERN int asn1PE_H235ECKASDH_eckasdhp (OOCTXT* pctxt, H235ECKASDH_eckasdhp* pvalue);EXTERN int asn1PD_H235ECKASDH_eckasdhp (OOCTXT* pctxt, H235ECKASDH_eckasdhp* pvalue);/**************************************************************//*                                                            *//*  ECKASDH_eckasdh2_fieldSize                                *//*                                                            *//**************************************************************/typedef struct EXTERN H235ECKASDH_eckasdh2_fieldSize {   ASN1UINT  numbits;   ASN1OCTET data[64];} H235ECKASDH_eckasdh2_fieldSize;EXTERN int asn1PE_H235ECKASDH_eckasdh2_fieldSize (OOCTXT* pctxt, H235ECKASDH_eckasdh2_fieldSize* pvalue);EXTERN int asn1PD_H235ECKASDH_eckasdh2_fieldSize (OOCTXT* pctxt, H235ECKASDH_eckasdh2_fieldSize* pvalue);/**************************************************************//*                                                            *//*  ECKASDH_eckasdh2_weierstrassA                             *//*                                                            *//**************************************************************/typedef struct EXTERN H235ECKASDH_eckasdh2_weierstrassA {   ASN1UINT  numbits;   ASN1OCTET data[64];} H235ECKASDH_eckasdh2_weierstrassA;EXTERN int asn1PE_H235ECKASDH_eckasdh2_weierstrassA (OOCTXT* pctxt, H235ECKASDH_eckasdh2_weierstrassA* pvalue);EXTERN int asn1PD_H235ECKASDH_eckasdh2_weierstrassA (OOCTXT* pctxt, H235ECKASDH_eckasdh2_weierstrassA* pvalue);/**************************************************************//*                                                            *//*  ECKASDH_eckasdh2_weierstrassB                             *//*                                                            *//**************************************************************/typedef struct EXTERN H235ECKASDH_eckasdh2_weierstrassB {   ASN1UINT  numbits;   ASN1OCTET data[64];} H235ECKASDH_eckasdh2_weierstrassB;EXTERN int asn1PE_H235ECKASDH_eckasdh2_weierstrassB (OOCTXT* pctxt, H235ECKASDH_eckasdh2_weierstrassB* pvalue);EXTERN int asn1PD_H235ECKASDH_eckasdh2_weierstrassB (OOCTXT* pctxt, H235ECKASDH_eckasdh2_weierstrassB* pvalue);/**************************************************************//*                                                            *//*  ECKASDH_eckasdh2                                          *//*                                                            *//**************************************************************/typedef struct EXTERN H235ECKASDH_eckasdh2 {   H235ECpoint public_key;   H235ECKASDH_eckasdh2_fieldSize fieldSize;   H235ECpoint base;   H235ECKASDH_eckasdh2_weierstrassA weierstrassA;   H235ECKASDH_eckasdh2_weierstrassB weierstrassB;} H235ECKASDH_eckasdh2;EXTERN int asn1PE_H235ECKASDH_eckasdh2 (OOCTXT* pctxt, H235ECKASDH_eckasdh2* pvalue);EXTERN int asn1PD_H235ECKASDH_eckasdh2 (OOCTXT* pctxt, H235ECKASDH_eckasdh2* pvalue);/**************************************************************//*                                                            *//*  ECKASDH                                                   *//*                                                            *//**************************************************************//* Choice tag constants */#define T_H235ECKASDH_eckasdhp          1#define T_H235ECKASDH_eckasdh2          2#define T_H235ECKASDH_extElem1          3typedef struct EXTERN H235ECKASDH {   int t;   union {      /* t = 1 */      H235ECKASDH_eckasdhp *eckasdhp;      /* t = 2 */      H235ECKASDH_eckasdh2 *eckasdh2;      /* t = 3 */   } u;} H235ECKASDH;EXTERN int asn1PE_H235ECKASDH (OOCTXT* pctxt, H235ECKASDH* pvalue);EXTERN int asn1PD_H235ECKASDH (OOCTXT* pctxt, H235ECKASDH* pvalue);/**************************************************************//*                                                            *//*  ClearToken                                                *//*                                                            *//**************************************************************/typedef struct EXTERN H235ClearToken {   struct {      unsigned timeStampPresent : 1;      unsigned passwordPresent : 1;      unsigned dhkeyPresent : 1;      unsigned challengePresent : 1;      unsigned randomPresent : 1;      unsigned certificatePresent : 1;      unsigned generalIDPresent : 1;      unsigned nonStandardPresent : 1;      unsigned eckasdhkeyPresent : 1;      unsigned sendersIDPresent : 1;   } m;   ASN1OBJID tokenOID;   H235TimeStamp timeStamp;   H235Password password;   H235DHset dhkey;   H235ChallengeString challenge;   H235RandomVal random;   H235TypedCertificate certificate;   H235Identifier generalID;   H235NonStandardParameter nonStandard;   H235ECKASDH eckasdhkey;   H235Identifier sendersID;} H235ClearToken;EXTERN int asn1PE_H235ClearToken (OOCTXT* pctxt, H235ClearToken* pvalue);EXTERN int asn1PD_H235ClearToken (OOCTXT* pctxt, H235ClearToken* pvalue);/**************************************************************//*                                                            *//*  IV8                                                       *//*                                                            *//**************************************************************/typedef struct EXTERN H235IV8 {   ASN1UINT numocts;   ASN1OCTET data[8];} H235IV8;EXTERN int asn1PE_H235IV8 (OOCTXT* pctxt, H235IV8* pvalue);EXTERN int asn1PD_H235IV8 (OOCTXT* pctxt, H235IV8* pvalue);/**************************************************************//*                                                            *//*  IV16                                                      *//*                                                            *//**************************************************************/typedef struct EXTERN H235IV16 {   ASN1UINT numocts;   ASN1OCTET data[16];} H235IV16;EXTERN int asn1PE_H235IV16 (OOCTXT* pctxt, H235IV16* pvalue);EXTERN int asn1PD_H235IV16 (OOCTXT* pctxt, H235IV16* pvalue);/**************************************************************//*                                                            *//*  Params                                                    *//*                                                            *//**************************************************************/typedef struct EXTERN H235Params {   struct {      unsigned ranIntPresent : 1;      unsigned iv8Present : 1;      unsigned iv16Present : 1;   } m;   ASN1INT ranInt;   H235IV8 iv8;   H235IV16 iv16;} H235Params;EXTERN int asn1PE_H235Params (OOCTXT* pctxt, H235Params* pvalue);EXTERN int asn1PD_H235Params (OOCTXT* pctxt, H235Params* pvalue);/**************************************************************//*                                                            *//*  ENCRYPTED                                                 *//*                                                            *//**************************************************************/typedef struct EXTERN H235ENCRYPTED {   ASN1OBJID algorithmOID;   H235Params paramS;   ASN1DynOctStr encryptedData;} H235ENCRYPTED;EXTERN int asn1PE_H235ENCRYPTED (OOCTXT* pctxt, H235ENCRYPTED* pvalue);EXTERN int asn1PD_H235ENCRYPTED (OOCTXT* pctxt, H235ENCRYPTED* pvalue);/**************************************************************//*                                                            *//*  CryptoToken_cryptoEncryptedToken                          *//*                                                            *//**************************************************************/typedef struct EXTERN H235CryptoToken_cryptoEncryptedToken {   ASN1OBJID tokenOID;   H235ENCRYPTED token;} H235CryptoToken_cryptoEncryptedToken;EXTERN int asn1PE_H235CryptoToken_cryptoEncryptedToken (OOCTXT* pctxt, H235CryptoToken_cryptoEncryptedToken* pvalue);EXTERN int asn1PD_H235CryptoToken_cryptoEncryptedToken (OOCTXT* pctxt, H235CryptoToken_cryptoEncryptedToken* pvalue);/**************************************************************//*                                                            *//*  EncodedGeneralToken                                       *//*                                                            *//**************************************************************/typedef ASN1OpenType H235EncodedGeneralToken;EXTERN int asn1PE_H235EncodedGeneralToken (OOCTXT* pctxt, H235EncodedGeneralToken value);EXTERN int asn1PD_H235EncodedGeneralToken (OOCTXT* pctxt, H235EncodedGeneralToken* pvalue);/**************************************************************//*                                                            *//*  CryptoToken_cryptoSignedToken_token                       *//*                                                            *//**************************************************************/typedef struct EXTERN H235CryptoToken_cryptoSignedToken_token {   H235EncodedGeneralToken toBeSigned;   ASN1OBJID algorithmOID;   H235Params paramS;   ASN1DynBitStr signature;} H235CryptoToken_cryptoSignedToken_token;EXTERN int asn1PE_H235CryptoToken_cryptoSignedToken_token (OOCTXT* pctxt, H235CryptoToken_cryptoSignedToken_token* pvalue);EXTERN int asn1PD_H235CryptoToken_cryptoSignedToken_token (OOCTXT* pctxt, H235CryptoToken_cryptoSignedToken_token* pvalue);/**************************************************************//*                                                            *//*  CryptoToken_cryptoSignedToken                             *//*                                                            *//**************************************************************/typedef struct EXTERN H235CryptoToken_cryptoSignedToken {   ASN1OBJID tokenOID;   H235CryptoToken_cryptoSignedToken_token token;} H235CryptoToken_cryptoSignedToken;EXTERN int asn1PE_H235CryptoToken_cryptoSignedToken (OOCTXT* pctxt, H235CryptoToken_cryptoSignedToken* pvalue);EXTERN int asn1PD_H235CryptoToken_cryptoSignedToken (OOCTXT* pctxt, H235CryptoToken_cryptoSignedToken* pvalue);/**************************************************************//*                                                            *//*  HASHED                                                    *//*                                                            *//**************************************************************/typedef struct EXTERN H235HASHED {   ASN1OBJID algorithmOID;   H235Params paramS;   ASN1DynBitStr hash;} H235HASHED;EXTERN int asn1PE_H235HASHED (OOCTXT* pctxt, H235HASHED* pvalue);EXTERN int asn1PD_H235HASHED (OOCTXT* pctxt, H235HASHED* pvalue);/**************************************************************//*                                                            *//*  CryptoToken_cryptoHashedToken                             *//*                                                            *//**************************************************************/typedef struct EXTERN H235CryptoToken_cryptoHashedToken {   ASN1OBJID tokenOID;   H235ClearToken hashedVals;   H235HASHED token;} H235CryptoToken_cryptoHashedToken;EXTERN int asn1PE_H235CryptoToken_cryptoHashedToken (OOCTXT* pctxt, H235CryptoToken_cryptoHashedToken* pvalue);EXTERN int asn1PD_H235CryptoToken_cryptoHashedToken (OOCTXT* pctxt, H235CryptoToken_cryptoHashedToken* pvalue);/**************************************************************//*                                                            *//*  CryptoToken                                               *//*                                                            *//**************************************************************//* Choice tag constants */#define T_H235CryptoToken_cryptoEncryptedToken 1#define T_H235CryptoToken_cryptoSignedToken 2#define T_H235CryptoToken_cryptoHashedToken 3#define T_H235CryptoToken_cryptoPwdEncr 4#define T_H235CryptoToken_extElem1      5typedef struct EXTERN H235CryptoToken {   int t;   union {      /* t = 1 */      H235CryptoToken_cryptoEncryptedToken *cryptoEncryptedToken;      /* t = 2 */      H235CryptoToken_cryptoSignedToken *cryptoSignedToken;      /* t = 3 */      H235CryptoToken_cryptoHashedToken *cryptoHashedToken;      /* t = 4 */      H235ENCRYPTED *cryptoPwdEncr;      /* t = 5 */   } u;} H235CryptoToken;EXTERN int asn1PE_H235CryptoToken (OOCTXT* pctxt, H235CryptoToken* pvalue);EXTERN int asn1PD_H235CryptoToken (OOCTXT* pctxt, H235CryptoToken* pvalue);#ifdef __cplusplus}#endif#endif

⌨️ 快捷键说明

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