ASN1_ITEM_st表述一个“项”,这个“项”是一种复合结构,templates是一个ASN1_ITEM_st容器,该容器可以容纳一个ASN1_ITEM_st也可以容纳多个ASN1_ITEM_st,多个ASN1_ITEM_st同样以templates为更低一级的容器,实质上在我们的例子中,x509_cinf结构体就是一个ASN1_ITEM_st,其中包含一系列的ASN1_TEMPLATE,这个一会...
ASN1_ITEM_st表述一个“项”,这个“项”是一种复合结构,templates是一个ASN1_ITEM_st容器,该容器可以容纳一个ASN1_ITEM_st也可以容纳多个ASN1_ITEM_st,多个ASN1_ITEM_st同样以templates为更低一级的容器,实质上在我们的例子中,x509_cinf结构体就是一个ASN1_ITEM_st,其中包含一系列的ASN1_TEMPLATE,这个一会...
ASN1_ITEM_st表述一个“项”,这个“项”是一种复合结构,templates是一个ASN1_ITEM_st容器,该容器可以容纳一个ASN1_ITEM_st也可以容纳多个ASN1_ITEM_st,多个ASN1_ITEM_st同样以templates为更低一级的容器,实质上在我们的例子中,x509_cinf结构体就是一个ASN1_ITEM_st,其中包含一系列的ASN1_TEMPLATE,这个一会...
type *d2i_##name(type **a, const unsigned char **in, long len); \ int i2d_##name(type *a, unsigned char **out); \ DECLARE_ASN1_ITEM(itname) 到这里我们就能清楚的看到宏DECLARE_ASN1_FUNCTIONS(X509),实际上是声明了关于X509的四个函数(四个函数中所涉及的参数忽略): X509_new(); X50...
While fuzzing ASN1_item_sign was detected a bug. This is possible when asn1 structure contains ASN1_BIT_STRING of a valid length, but the data contains only null values. === =...
int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); 根据ITEM对象将二进制结构转换为DER编码,输出到BIO对象中。 成功返回DER编码长度,失败返回负数。 如果*out为NULL,将内部分配内存,但内存必须由外部使用者释放。事实上,本函数是对ASN1_item_i2d()的封装调用。 其内部实现为: int ASN...
void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); 【ASN1_OBJECT】 该系列的new和free函数分别完成了ASN1_OBJECT对象的创建和释放。在创建ASN1_OBJECT对象的时候,该函数给对象分配内存空间,并将结构内所有指针类型的变量值都设为NULL,nid和长度都初始化为0,并将flags设置为ASN1_OBJECT_FLAG_DY...
asn1_item_list.h asn1_lib.c asn1_local.h asn1_par.c asn_mime.c asn_moid.c asn_mstbl.c asn_pack.c bio_asn1.c bio_ndef.c build.info charmap.h charmap.pl d2i_param.c d2i_pr.c d2i_pu.c evp_asn1.c f_int.c f_string.c i2d_param.c i2d_pr.c i2d_pu.c n_...
#define M_ASN1_free_of(x, type) ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type)) #define ASN1_d2i_fp_of(type, xnew, d2i, in, x) #define ASN1_i2d_fp_of(type, i2d, out, x) #define ASN1_i2d_fp_of_const(type, i2d, out, x) #define ASN1_d2i_bio...
ASN1_VALUE * ASN1_item_new(const ASN1_ITEM *it); void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); 【ASN1_OBJECT】 该系列的new和free函数分别完成了ASN1_OBJECT对象的创建和释放。在创建ASN1_OBJECT对象的时候,该函数给对象分配内存空间,并将结构内所有指针类型的变量值都设为NULL,...