第十三章 NSA1库 / 13.6 Openssl的ASN.1宏

Openssl中的ASN.1宏用来定义某种内部数据结构以及这种结构如何编码,部分宏定义说明如下:

              1)    DECLARE_ASN1_FUNCTIONS

                     用于声明一个内部数据结构的四个基本函数,一般可以在头文件中定义。

              2)    IMPLEMENT_ASN1_FUNCTIONS

                     用于实现一个数据结构的四个基本函数。

              3  ASN1_SEQUENCE

                     用于SEQUENCE,表明下面的编码是一个SEQUENCE

              4)    ASN1_CHOICE

                     表明下面的编码是选择其中一项,为CHOICE类型。

              5  ASN1_SIMPLE

                     用于简单类型或结构类型,并且是必须项。

              6)    ASN1_OPT

                     用于可选项,表明asn.1语法中,本项是可选的。

              7)    ASN1_EXP_OPT

                     用于显示标记,表明asn.1语法中,本项是显示类型,并且是可选的;

              8)    ASN1_EXP

                     用于显示标记,表明asn.1语法中,本项是显示标记。

              9  ASN1_IMP_SEQUENCE_OF_OPT

                     用于隐示标记,表明asn.1语法中,本项是一个SEQUENCE序列,为隐                  示类型,并且是可选的。

              10)  ASN1_IMP_OPT

                     用于隐示标记,表明asn.1语法中,本项是隐示类型,并且是可选的。

              11)   ASN1_IMP

                     用于隐示标记,表明asn.1语法中,本项是隐示类型。

              12)  ASN1_SEQUENCE_END

                     用于SEQUENCE结束。

              13)  ASN1_CHOICE_END

                     用于结束CHOICE类型。