| |
| PKCS7 |
| STACK of X509_ATTRIBUTES |
| ASN1_OBJECT |
| STACK of ASN1_TYPE |
| |
| So it is |
| |
| p7.xa[].obj |
| p7.xa[].data[] |
| |
| get_obj_by_nid(STACK , nid) |
| get_num_by_nid(STACK , nid) |
| get_data_by_nid(STACK , nid, index) |
| |
| X509_ATTRIBUTE *X509_ATTRIBUTE_new(void ); |
| void X509_ATTRIBUTE_free(X509_ATTRIBUTE *a); |
| |
| X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **ex, |
| int nid, STACK *value); |
| |
| X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **ex, |
| int nid, STACK *value); |
| |
| int X509_ATTRIBUTE_set_object(X509_ATTRIBUTE *ex,ASN1_OBJECT *obj); |
| int X509_ATTRIBUTE_add_data(X509_ATTRIBUTE *ex, int index, |
| ASN1_TYPE *value); |
| |
| ASN1_OBJECT * X509_ATTRIBUTE_get_object(X509_ATTRIBUTE *ex); |
| int X509_ATTRIBUTE_get_num(X509_ATTRIBUTE *ne); |
| ASN1_TYPE * X509_ATTRIBUTE_get_data(X509_ATTRIBUTE *ne,int index); |
| |
| ASN1_TYPE * X509_ATTRIBUTE_get_data_by_NID(X509_ATTRIBUTE *ne, |
| ASN1_OBJECT *obj); |
| |
| X509_ATTRUBUTE *PKCS7_get_s_att_by_NID(PKCS7 *p7,int nid); |
| X509_ATTRUBUTE *PKCS7_get_u_att_by_NID(PKCS7 *p7,int nid); |
| |