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 + -
显示快捷键?