summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/cms/cms_att.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/cms/cms_att.c')
-rw-r--r--src/lib/libcrypto/cms/cms_att.c92
1 files changed, 53 insertions, 39 deletions
diff --git a/src/lib/libcrypto/cms/cms_att.c b/src/lib/libcrypto/cms/cms_att.c
index b288262b81..b03c7437a4 100644
--- a/src/lib/libcrypto/cms/cms_att.c
+++ b/src/lib/libcrypto/cms/cms_att.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: cms_att.c,v 1.8 2019/08/10 16:42:20 jsing Exp $ */ 1/* $OpenBSD: cms_att.c,v 1.9 2019/08/10 18:15:52 jsing Exp $ */
2/* 2/*
3 * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 3 * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
4 * project. 4 * project.
@@ -61,135 +61,149 @@
61 61
62/* CMS SignedData Attribute utilities */ 62/* CMS SignedData Attribute utilities */
63 63
64int CMS_signed_get_attr_count(const CMS_SignerInfo *si) 64int
65CMS_signed_get_attr_count(const CMS_SignerInfo *si)
65{ 66{
66 return X509at_get_attr_count(si->signedAttrs); 67 return X509at_get_attr_count(si->signedAttrs);
67} 68}
68 69
69int CMS_signed_get_attr_by_NID(const CMS_SignerInfo *si, int nid, int lastpos) 70int
71CMS_signed_get_attr_by_NID(const CMS_SignerInfo *si, int nid, int lastpos)
70{ 72{
71 return X509at_get_attr_by_NID(si->signedAttrs, nid, lastpos); 73 return X509at_get_attr_by_NID(si->signedAttrs, nid, lastpos);
72} 74}
73 75
74int CMS_signed_get_attr_by_OBJ(const CMS_SignerInfo *si, const ASN1_OBJECT *obj, 76int
75 int lastpos) 77CMS_signed_get_attr_by_OBJ(const CMS_SignerInfo *si, const ASN1_OBJECT *obj,
78 int lastpos)
76{ 79{
77 return X509at_get_attr_by_OBJ(si->signedAttrs, obj, lastpos); 80 return X509at_get_attr_by_OBJ(si->signedAttrs, obj, lastpos);
78} 81}
79 82
80X509_ATTRIBUTE *CMS_signed_get_attr(const CMS_SignerInfo *si, int loc) 83X509_ATTRIBUTE *
84CMS_signed_get_attr(const CMS_SignerInfo *si, int loc)
81{ 85{
82 return X509at_get_attr(si->signedAttrs, loc); 86 return X509at_get_attr(si->signedAttrs, loc);
83} 87}
84 88
85X509_ATTRIBUTE *CMS_signed_delete_attr(CMS_SignerInfo *si, int loc) 89X509_ATTRIBUTE *
90CMS_signed_delete_attr(CMS_SignerInfo *si, int loc)
86{ 91{
87 return X509at_delete_attr(si->signedAttrs, loc); 92 return X509at_delete_attr(si->signedAttrs, loc);
88} 93}
89 94
90int CMS_signed_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr) 95int
96CMS_signed_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr)
91{ 97{
92 if (X509at_add1_attr(&si->signedAttrs, attr)) 98 if (X509at_add1_attr(&si->signedAttrs, attr))
93 return 1; 99 return 1;
94 return 0; 100 return 0;
95} 101}
96 102
97int CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si, 103int
98 const ASN1_OBJECT *obj, int type, 104CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si, const ASN1_OBJECT *obj, int type,
99 const void *bytes, int len) 105 const void *bytes, int len)
100{ 106{
101 if (X509at_add1_attr_by_OBJ(&si->signedAttrs, obj, type, bytes, len)) 107 if (X509at_add1_attr_by_OBJ(&si->signedAttrs, obj, type, bytes, len))
102 return 1; 108 return 1;
103 return 0; 109 return 0;
104} 110}
105 111
106int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, 112int
107 int nid, int type, const void *bytes, int len) 113CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, int nid, int type,
114 const void *bytes, int len)
108{ 115{
109 if (X509at_add1_attr_by_NID(&si->signedAttrs, nid, type, bytes, len)) 116 if (X509at_add1_attr_by_NID(&si->signedAttrs, nid, type, bytes, len))
110 return 1; 117 return 1;
111 return 0; 118 return 0;
112} 119}
113 120
114int CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si, 121int
115 const char *attrname, int type, 122CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si, const char *attrname, int type,
116 const void *bytes, int len) 123 const void *bytes, int len)
117{ 124{
118 if (X509at_add1_attr_by_txt(&si->signedAttrs, attrname, type, bytes, len)) 125 if (X509at_add1_attr_by_txt(&si->signedAttrs, attrname, type, bytes, len))
119 return 1; 126 return 1;
120 return 0; 127 return 0;
121} 128}
122 129
123void *CMS_signed_get0_data_by_OBJ(CMS_SignerInfo *si, const ASN1_OBJECT *oid, 130void *
124 int lastpos, int type) 131CMS_signed_get0_data_by_OBJ(CMS_SignerInfo *si, const ASN1_OBJECT *oid,
132 int lastpos, int type)
125{ 133{
126 return X509at_get0_data_by_OBJ(si->signedAttrs, oid, lastpos, type); 134 return X509at_get0_data_by_OBJ(si->signedAttrs, oid, lastpos, type);
127} 135}
128 136
129int CMS_unsigned_get_attr_count(const CMS_SignerInfo *si) 137int
138CMS_unsigned_get_attr_count(const CMS_SignerInfo *si)
130{ 139{
131 return X509at_get_attr_count(si->unsignedAttrs); 140 return X509at_get_attr_count(si->unsignedAttrs);
132} 141}
133 142
134int CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid, 143int
135 int lastpos) 144CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid, int lastpos)
136{ 145{
137 return X509at_get_attr_by_NID(si->unsignedAttrs, nid, lastpos); 146 return X509at_get_attr_by_NID(si->unsignedAttrs, nid, lastpos);
138} 147}
139 148
140int CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si, 149int
141 const ASN1_OBJECT *obj, int lastpos) 150CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si, const ASN1_OBJECT *obj,
151 int lastpos)
142{ 152{
143 return X509at_get_attr_by_OBJ(si->unsignedAttrs, obj, lastpos); 153 return X509at_get_attr_by_OBJ(si->unsignedAttrs, obj, lastpos);
144} 154}
145 155
146X509_ATTRIBUTE *CMS_unsigned_get_attr(const CMS_SignerInfo *si, int loc) 156X509_ATTRIBUTE *
157CMS_unsigned_get_attr(const CMS_SignerInfo *si, int loc)
147{ 158{
148 return X509at_get_attr(si->unsignedAttrs, loc); 159 return X509at_get_attr(si->unsignedAttrs, loc);
149} 160}
150 161
151X509_ATTRIBUTE *CMS_unsigned_delete_attr(CMS_SignerInfo *si, int loc) 162X509_ATTRIBUTE *
163CMS_unsigned_delete_attr(CMS_SignerInfo *si, int loc)
152{ 164{
153 return X509at_delete_attr(si->unsignedAttrs, loc); 165 return X509at_delete_attr(si->unsignedAttrs, loc);
154} 166}
155 167
156int CMS_unsigned_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr) 168int
169CMS_unsigned_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr)
157{ 170{
158 if (X509at_add1_attr(&si->unsignedAttrs, attr)) 171 if (X509at_add1_attr(&si->unsignedAttrs, attr))
159 return 1; 172 return 1;
160 return 0; 173 return 0;
161} 174}
162 175
163int CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si, 176int
164 const ASN1_OBJECT *obj, int type, 177CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si, const ASN1_OBJECT *obj,
165 const void *bytes, int len) 178 int type, const void *bytes, int len)
166{ 179{
167 if (X509at_add1_attr_by_OBJ(&si->unsignedAttrs, obj, type, bytes, len)) 180 if (X509at_add1_attr_by_OBJ(&si->unsignedAttrs, obj, type, bytes, len))
168 return 1; 181 return 1;
169 return 0; 182 return 0;
170} 183}
171 184
172int CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si, 185int
173 int nid, int type, 186CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si, int nid, int type,
174 const void *bytes, int len) 187 const void *bytes, int len)
175{ 188{
176 if (X509at_add1_attr_by_NID(&si->unsignedAttrs, nid, type, bytes, len)) 189 if (X509at_add1_attr_by_NID(&si->unsignedAttrs, nid, type, bytes, len))
177 return 1; 190 return 1;
178 return 0; 191 return 0;
179} 192}
180 193
181int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si, 194int
182 const char *attrname, int type, 195CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si, const char *attrname,
183 const void *bytes, int len) 196 int type, const void *bytes, int len)
184{ 197{
185 if (X509at_add1_attr_by_txt(&si->unsignedAttrs, attrname, 198 if (X509at_add1_attr_by_txt(&si->unsignedAttrs, attrname, type,
186 type, bytes, len)) 199 bytes, len))
187 return 1; 200 return 1;
188 return 0; 201 return 0;
189} 202}
190 203
191void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, 204void *
192 int lastpos, int type) 205CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, int lastpos,
206 int type)
193{ 207{
194 return X509at_get0_data_by_OBJ(si->unsignedAttrs, oid, lastpos, type); 208 return X509at_get0_data_by_OBJ(si->unsignedAttrs, oid, lastpos, type);
195} 209}