summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509/x_all.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/x509/x_all.c')
-rw-r--r--src/lib/libcrypto/x509/x_all.c203
1 files changed, 63 insertions, 140 deletions
diff --git a/src/lib/libcrypto/x509/x_all.c b/src/lib/libcrypto/x509/x_all.c
index 9bd6e2a39b..fb5015cd4d 100644
--- a/src/lib/libcrypto/x509/x_all.c
+++ b/src/lib/libcrypto/x509/x_all.c
@@ -67,224 +67,159 @@
67 67
68int X509_verify(X509 *a, EVP_PKEY *r) 68int X509_verify(X509 *a, EVP_PKEY *r)
69 { 69 {
70 return(ASN1_verify((int (*)())i2d_X509_CINF,a->sig_alg, 70 return(ASN1_item_verify(ASN1_ITEM_rptr(X509_CINF),a->sig_alg,
71 a->signature,(char *)a->cert_info,r)); 71 a->signature,a->cert_info,r));
72 } 72 }
73 73
74int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r) 74int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r)
75 { 75 {
76 return( ASN1_verify((int (*)())i2d_X509_REQ_INFO, 76 return( ASN1_item_verify(ASN1_ITEM_rptr(X509_REQ_INFO),
77 a->sig_alg,a->signature,(char *)a->req_info,r)); 77 a->sig_alg,a->signature,a->req_info,r));
78 } 78 }
79 79
80int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r) 80int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r)
81 { 81 {
82 return(ASN1_verify((int (*)())i2d_X509_CRL_INFO, 82 return(ASN1_item_verify(ASN1_ITEM_rptr(X509_CRL_INFO),
83 a->sig_alg, a->signature,(char *)a->crl,r)); 83 a->sig_alg, a->signature,a->crl,r));
84 } 84 }
85 85
86int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r) 86int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r)
87 { 87 {
88 return(ASN1_verify((int (*)())i2d_NETSCAPE_SPKAC, 88 return(ASN1_item_verify(ASN1_ITEM_rptr(NETSCAPE_SPKAC),
89 a->sig_algor,a->signature, (char *)a->spkac,r)); 89 a->sig_algor,a->signature,a->spkac,r));
90 } 90 }
91 91
92int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) 92int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md)
93 { 93 {
94 return(ASN1_sign((int (*)())i2d_X509_CINF, x->cert_info->signature, 94 return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CINF), x->cert_info->signature,
95 x->sig_alg, x->signature, (char *)x->cert_info,pkey,md)); 95 x->sig_alg, x->signature, x->cert_info,pkey,md));
96 } 96 }
97 97
98int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md) 98int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md)
99 { 99 {
100 return(ASN1_sign((int (*)())i2d_X509_REQ_INFO,x->sig_alg, NULL, 100 return(ASN1_item_sign(ASN1_ITEM_rptr(X509_REQ_INFO),x->sig_alg, NULL,
101 x->signature, (char *)x->req_info,pkey,md)); 101 x->signature, x->req_info,pkey,md));
102 } 102 }
103 103
104int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md) 104int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md)
105 { 105 {
106 return(ASN1_sign((int (*)())i2d_X509_CRL_INFO,x->crl->sig_alg, 106 return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CRL_INFO),x->crl->sig_alg,
107 x->sig_alg, x->signature, (char *)x->crl,pkey,md)); 107 x->sig_alg, x->signature, x->crl,pkey,md));
108 } 108 }
109 109
110int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md) 110int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md)
111 { 111 {
112 return(ASN1_sign((int (*)())i2d_NETSCAPE_SPKAC, x->sig_algor,NULL, 112 return(ASN1_item_sign(ASN1_ITEM_rptr(NETSCAPE_SPKAC), x->sig_algor,NULL,
113 x->signature, (char *)x->spkac,pkey,md)); 113 x->signature, x->spkac,pkey,md));
114 } 114 }
115 115
116X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa) 116#ifndef OPENSSL_NO_FP_API
117 {
118 return((X509_ATTRIBUTE *)ASN1_dup((int (*)())i2d_X509_ATTRIBUTE,
119 (char *(*)())d2i_X509_ATTRIBUTE,(char *)xa));
120 }
121
122X509 *X509_dup(X509 *x509)
123 {
124 return((X509 *)ASN1_dup((int (*)())i2d_X509,
125 (char *(*)())d2i_X509,(char *)x509));
126 }
127
128X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex)
129 {
130 return((X509_EXTENSION *)ASN1_dup(
131 (int (*)())i2d_X509_EXTENSION,
132 (char *(*)())d2i_X509_EXTENSION,(char *)ex));
133 }
134
135#ifndef NO_FP_API
136X509 *d2i_X509_fp(FILE *fp, X509 **x509) 117X509 *d2i_X509_fp(FILE *fp, X509 **x509)
137 { 118 {
138 return((X509 *)ASN1_d2i_fp((char *(*)())X509_new, 119 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509), fp, x509);
139 (char *(*)())d2i_X509, (fp),(unsigned char **)(x509)));
140 } 120 }
141 121
142int i2d_X509_fp(FILE *fp, X509 *x509) 122int i2d_X509_fp(FILE *fp, X509 *x509)
143 { 123 {
144 return(ASN1_i2d_fp(i2d_X509,fp,(unsigned char *)x509)); 124 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509), fp, x509);
145 } 125 }
146#endif 126#endif
147 127
148X509 *d2i_X509_bio(BIO *bp, X509 **x509) 128X509 *d2i_X509_bio(BIO *bp, X509 **x509)
149 { 129 {
150 return((X509 *)ASN1_d2i_bio((char *(*)())X509_new, 130 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509), bp, x509);
151 (char *(*)())d2i_X509, (bp),(unsigned char **)(x509)));
152 } 131 }
153 132
154int i2d_X509_bio(BIO *bp, X509 *x509) 133int i2d_X509_bio(BIO *bp, X509 *x509)
155 { 134 {
156 return(ASN1_i2d_bio(i2d_X509,bp,(unsigned char *)x509)); 135 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509), bp, x509);
157 }
158
159X509_CRL *X509_CRL_dup(X509_CRL *crl)
160 {
161 return((X509_CRL *)ASN1_dup((int (*)())i2d_X509_CRL,
162 (char *(*)())d2i_X509_CRL,(char *)crl));
163 } 136 }
164 137
165#ifndef NO_FP_API 138#ifndef OPENSSL_NO_FP_API
166X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl) 139X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl)
167 { 140 {
168 return((X509_CRL *)ASN1_d2i_fp((char *(*)()) 141 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl);
169 X509_CRL_new,(char *(*)())d2i_X509_CRL, (fp),
170 (unsigned char **)(crl)));
171 } 142 }
172 143
173int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl) 144int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl)
174 { 145 {
175 return(ASN1_i2d_fp(i2d_X509_CRL,fp,(unsigned char *)crl)); 146 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl);
176 } 147 }
177#endif 148#endif
178 149
179X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl) 150X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl)
180 { 151 {
181 return((X509_CRL *)ASN1_d2i_bio((char *(*)()) 152 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl);
182 X509_CRL_new,(char *(*)())d2i_X509_CRL, (bp),
183 (unsigned char **)(crl)));
184 } 153 }
185 154
186int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl) 155int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl)
187 { 156 {
188 return(ASN1_i2d_bio(i2d_X509_CRL,bp,(unsigned char *)crl)); 157 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl);
189 }
190
191PKCS7 *PKCS7_dup(PKCS7 *p7)
192 {
193 return((PKCS7 *)ASN1_dup((int (*)())i2d_PKCS7,
194 (char *(*)())d2i_PKCS7,(char *)p7));
195 } 158 }
196 159
197#ifndef NO_FP_API 160#ifndef OPENSSL_NO_FP_API
198PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7) 161PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7)
199 { 162 {
200 return((PKCS7 *)ASN1_d2i_fp((char *(*)()) 163 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(PKCS7), fp, p7);
201 PKCS7_new,(char *(*)())d2i_PKCS7, (fp),
202 (unsigned char **)(p7)));
203 } 164 }
204 165
205int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7) 166int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7)
206 { 167 {
207 return(ASN1_i2d_fp(i2d_PKCS7,fp,(unsigned char *)p7)); 168 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(PKCS7), fp, p7);
208 } 169 }
209#endif 170#endif
210 171
211PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7) 172PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7)
212 { 173 {
213 return((PKCS7 *)ASN1_d2i_bio((char *(*)()) 174 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(PKCS7), bp, p7);
214 PKCS7_new,(char *(*)())d2i_PKCS7, (bp),
215 (unsigned char **)(p7)));
216 } 175 }
217 176
218int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7) 177int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7)
219 { 178 {
220 return(ASN1_i2d_bio(i2d_PKCS7,bp,(unsigned char *)p7)); 179 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(PKCS7), bp, p7);
221 } 180 }
222 181
223X509_REQ *X509_REQ_dup(X509_REQ *req) 182#ifndef OPENSSL_NO_FP_API
224 {
225 return((X509_REQ *)ASN1_dup((int (*)())i2d_X509_REQ,
226 (char *(*)())d2i_X509_REQ,(char *)req));
227 }
228
229#ifndef NO_FP_API
230X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req) 183X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req)
231 { 184 {
232 return((X509_REQ *)ASN1_d2i_fp((char *(*)()) 185 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_REQ), fp, req);
233 X509_REQ_new, (char *(*)())d2i_X509_REQ, (fp),
234 (unsigned char **)(req)));
235 } 186 }
236 187
237int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req) 188int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req)
238 { 189 {
239 return(ASN1_i2d_fp(i2d_X509_REQ,fp,(unsigned char *)req)); 190 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_REQ), fp, req);
240 } 191 }
241#endif 192#endif
242 193
243X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req) 194X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req)
244 { 195 {
245 return((X509_REQ *)ASN1_d2i_bio((char *(*)()) 196 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_REQ), bp, req);
246 X509_REQ_new, (char *(*)())d2i_X509_REQ, (bp),
247 (unsigned char **)(req)));
248 } 197 }
249 198
250int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req) 199int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req)
251 { 200 {
252 return(ASN1_i2d_bio(i2d_X509_REQ,bp,(unsigned char *)req)); 201 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_REQ), bp, req);
253 }
254
255#ifndef NO_RSA
256RSA *RSAPublicKey_dup(RSA *rsa)
257 {
258 return((RSA *)ASN1_dup((int (*)())i2d_RSAPublicKey,
259 (char *(*)())d2i_RSAPublicKey,(char *)rsa));
260 } 202 }
261 203
262RSA *RSAPrivateKey_dup(RSA *rsa) 204#ifndef OPENSSL_NO_RSA
263 {
264 return((RSA *)ASN1_dup((int (*)())i2d_RSAPrivateKey,
265 (char *(*)())d2i_RSAPrivateKey,(char *)rsa));
266 }
267 205
268#ifndef NO_FP_API 206#ifndef OPENSSL_NO_FP_API
269RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa) 207RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa)
270 { 208 {
271 return((RSA *)ASN1_d2i_fp((char *(*)()) 209 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa);
272 RSA_new,(char *(*)())d2i_RSAPrivateKey, (fp),
273 (unsigned char **)(rsa)));
274 } 210 }
275 211
276int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa) 212int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa)
277 { 213 {
278 return(ASN1_i2d_fp(i2d_RSAPrivateKey,fp,(unsigned char *)rsa)); 214 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa);
279 } 215 }
280 216
281RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa) 217RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa)
282 { 218 {
283 return((RSA *)ASN1_d2i_fp((char *(*)()) 219 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPublicKey), fp, rsa);
284 RSA_new,(char *(*)())d2i_RSAPublicKey, (fp),
285 (unsigned char **)(rsa)));
286 } 220 }
287 221
222
288RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa) 223RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa)
289 { 224 {
290 return((RSA *)ASN1_d2i_fp((char *(*)()) 225 return((RSA *)ASN1_d2i_fp((char *(*)())
@@ -294,7 +229,7 @@ RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa)
294 229
295int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa) 230int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa)
296 { 231 {
297 return(ASN1_i2d_fp(i2d_RSAPublicKey,fp,(unsigned char *)rsa)); 232 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPublicKey), fp, rsa);
298 } 233 }
299 234
300int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa) 235int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa)
@@ -305,23 +240,20 @@ int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa)
305 240
306RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa) 241RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa)
307 { 242 {
308 return((RSA *)ASN1_d2i_bio((char *(*)()) 243 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa);
309 RSA_new,(char *(*)())d2i_RSAPrivateKey, (bp),
310 (unsigned char **)(rsa)));
311 } 244 }
312 245
313int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa) 246int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa)
314 { 247 {
315 return(ASN1_i2d_bio(i2d_RSAPrivateKey,bp,(unsigned char *)rsa)); 248 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa);
316 } 249 }
317 250
318RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa) 251RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa)
319 { 252 {
320 return((RSA *)ASN1_d2i_bio((char *(*)()) 253 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(RSAPublicKey), bp, rsa);
321 RSA_new,(char *(*)())d2i_RSAPublicKey, (bp),
322 (unsigned char **)(rsa)));
323 } 254 }
324 255
256
325RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa) 257RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa)
326 { 258 {
327 return((RSA *)ASN1_d2i_bio((char *(*)()) 259 return((RSA *)ASN1_d2i_bio((char *(*)())
@@ -331,7 +263,7 @@ RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa)
331 263
332int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa) 264int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa)
333 { 265 {
334 return(ASN1_i2d_bio(i2d_RSAPublicKey,bp,(unsigned char *)rsa)); 266 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPublicKey), bp, rsa);
335 } 267 }
336 268
337int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa) 269int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa)
@@ -340,8 +272,8 @@ int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa)
340 } 272 }
341#endif 273#endif
342 274
343#ifndef NO_DSA 275#ifndef OPENSSL_NO_DSA
344#ifndef NO_FP_API 276#ifndef OPENSSL_NO_FP_API
345DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa) 277DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa)
346 { 278 {
347 return((DSA *)ASN1_d2i_fp((char *(*)()) 279 return((DSA *)ASN1_d2i_fp((char *(*)())
@@ -393,57 +325,48 @@ int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa)
393 325
394#endif 326#endif
395 327
396X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn) 328int X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md,
397 { 329 unsigned int *len)
398 return((X509_ALGOR *)ASN1_dup((int (*)())i2d_X509_ALGOR,
399 (char *(*)())d2i_X509_ALGOR,(char *)xn));
400 }
401
402X509_NAME *X509_NAME_dup(X509_NAME *xn)
403 {
404 return((X509_NAME *)ASN1_dup((int (*)())i2d_X509_NAME,
405 (char *(*)())d2i_X509_NAME,(char *)xn));
406 }
407
408X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne)
409 { 330 {
410 return((X509_NAME_ENTRY *)ASN1_dup((int (*)())i2d_X509_NAME_ENTRY, 331 ASN1_BIT_STRING *key;
411 (char *(*)())d2i_X509_NAME_ENTRY,(char *)ne)); 332 key = X509_get0_pubkey_bitstr(data);
333 if(!key) return 0;
334 return EVP_Digest(key->data, key->length, md, len, type, NULL);
412 } 335 }
413 336
414int X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md, 337int X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md,
415 unsigned int *len) 338 unsigned int *len)
416 { 339 {
417 return(ASN1_digest((int (*)())i2d_X509,type,(char *)data,md,len)); 340 return(ASN1_item_digest(ASN1_ITEM_rptr(X509),type,(char *)data,md,len));
418 } 341 }
419 342
420int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md, 343int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md,
421 unsigned int *len) 344 unsigned int *len)
422 { 345 {
423 return(ASN1_digest((int (*)())i2d_X509_CRL,type,(char *)data,md,len)); 346 return(ASN1_item_digest(ASN1_ITEM_rptr(X509_CRL),type,(char *)data,md,len));
424 } 347 }
425 348
426int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, unsigned char *md, 349int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, unsigned char *md,
427 unsigned int *len) 350 unsigned int *len)
428 { 351 {
429 return(ASN1_digest((int (*)())i2d_X509_REQ,type,(char *)data,md,len)); 352 return(ASN1_item_digest(ASN1_ITEM_rptr(X509_REQ),type,(char *)data,md,len));
430 } 353 }
431 354
432int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md, 355int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md,
433 unsigned int *len) 356 unsigned int *len)
434 { 357 {
435 return(ASN1_digest((int (*)())i2d_X509_NAME,type,(char *)data,md,len)); 358 return(ASN1_item_digest(ASN1_ITEM_rptr(X509_NAME),type,(char *)data,md,len));
436 } 359 }
437 360
438int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, const EVP_MD *type, 361int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, const EVP_MD *type,
439 unsigned char *md, unsigned int *len) 362 unsigned char *md, unsigned int *len)
440 { 363 {
441 return(ASN1_digest((int (*)())i2d_PKCS7_ISSUER_AND_SERIAL,type, 364 return(ASN1_item_digest(ASN1_ITEM_rptr(PKCS7_ISSUER_AND_SERIAL),type,
442 (char *)data,md,len)); 365 (char *)data,md,len));
443 } 366 }
444 367
445 368
446#ifndef NO_FP_API 369#ifndef OPENSSL_NO_FP_API
447X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8) 370X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8)
448 { 371 {
449 return((X509_SIG *)ASN1_d2i_fp((char *(*)())X509_SIG_new, 372 return((X509_SIG *)ASN1_d2i_fp((char *(*)())X509_SIG_new,
@@ -467,7 +390,7 @@ int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8)
467 return(ASN1_i2d_bio(i2d_X509_SIG,bp,(unsigned char *)p8)); 390 return(ASN1_i2d_bio(i2d_X509_SIG,bp,(unsigned char *)p8));
468 } 391 }
469 392
470#ifndef NO_FP_API 393#ifndef OPENSSL_NO_FP_API
471PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, 394PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp,
472 PKCS8_PRIV_KEY_INFO **p8inf) 395 PKCS8_PRIV_KEY_INFO **p8inf)
473 { 396 {