summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/x509/x_all.c
diff options
context:
space:
mode:
authorjsing <>2014-04-15 17:24:25 +0000
committerjsing <>2014-04-15 17:24:25 +0000
commitefda9114d24acfc8cde043a206766226c8423d7a (patch)
treedae53bcdf3b21ee61081268fa287e81ea8dad726 /src/lib/libcrypto/x509/x_all.c
parent5e2db4ec770e5a5da3656f8278b74cca84f5e910 (diff)
downloadopenbsd-efda9114d24acfc8cde043a206766226c8423d7a.tar.gz
openbsd-efda9114d24acfc8cde043a206766226c8423d7a.tar.bz2
openbsd-efda9114d24acfc8cde043a206766226c8423d7a.zip
First pass at applying KNF to the OpenSSL code, which almost makes it
readable. This pass is whitespace only and can readily be verified using tr and md5.
Diffstat (limited to 'src/lib/libcrypto/x509/x_all.c')
-rw-r--r--src/lib/libcrypto/x509/x_all.c749
1 files changed, 417 insertions, 332 deletions
diff --git a/src/lib/libcrypto/x509/x_all.c b/src/lib/libcrypto/x509/x_all.c
index e06602d65a..59099f026f 100644
--- a/src/lib/libcrypto/x509/x_all.c
+++ b/src/lib/libcrypto/x509/x_all.c
@@ -70,468 +70,553 @@
70#include <openssl/dsa.h> 70#include <openssl/dsa.h>
71#endif 71#endif
72 72
73int X509_verify(X509 *a, EVP_PKEY *r) 73int
74 { 74X509_verify(X509 *a, EVP_PKEY *r)
75 return(ASN1_item_verify(ASN1_ITEM_rptr(X509_CINF),a->sig_alg, 75{
76 a->signature,a->cert_info,r)); 76 return(ASN1_item_verify(ASN1_ITEM_rptr(X509_CINF), a->sig_alg,
77 } 77 a->signature, a->cert_info, r));
78 78}
79int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r) 79
80 { 80int
81X509_REQ_verify(X509_REQ *a, EVP_PKEY *r)
82{
81 return( ASN1_item_verify(ASN1_ITEM_rptr(X509_REQ_INFO), 83 return( ASN1_item_verify(ASN1_ITEM_rptr(X509_REQ_INFO),
82 a->sig_alg,a->signature,a->req_info,r)); 84 a->sig_alg, a->signature, a->req_info, r));
83 } 85}
84 86
85int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r) 87int
86 { 88NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r)
89{
87 return(ASN1_item_verify(ASN1_ITEM_rptr(NETSCAPE_SPKAC), 90 return(ASN1_item_verify(ASN1_ITEM_rptr(NETSCAPE_SPKAC),
88 a->sig_algor,a->signature,a->spkac,r)); 91 a->sig_algor, a->signature, a->spkac, r));
89 } 92}
90 93
91int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) 94int
92 { 95X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md)
96{
93 x->cert_info->enc.modified = 1; 97 x->cert_info->enc.modified = 1;
94 return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CINF), x->cert_info->signature, 98 return (ASN1_item_sign(ASN1_ITEM_rptr(X509_CINF),
95 x->sig_alg, x->signature, x->cert_info,pkey,md)); 99 x->cert_info->signature, x->sig_alg, x->signature,
96 } 100 x->cert_info, pkey, md));
101}
97 102
98int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx) 103int
99 { 104X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx)
105{
100 x->cert_info->enc.modified = 1; 106 x->cert_info->enc.modified = 1;
101 return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_CINF), 107 return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_CINF),
102 x->cert_info->signature, 108 x->cert_info->signature, x->sig_alg, x->signature,
103 x->sig_alg, x->signature, x->cert_info, ctx); 109 x->cert_info, ctx);
104 } 110}
105 111
106int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md) 112int
107 { 113X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md)
108 return(ASN1_item_sign(ASN1_ITEM_rptr(X509_REQ_INFO),x->sig_alg, NULL, 114{
109 x->signature, x->req_info,pkey,md)); 115 return (ASN1_item_sign(ASN1_ITEM_rptr(X509_REQ_INFO),
110 } 116 x->sig_alg, NULL, x->signature, x->req_info, pkey, md));
111 117}
112int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx) 118
113 { 119int
120X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx)
121{
114 return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_REQ_INFO), 122 return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_REQ_INFO),
115 x->sig_alg, NULL, x->signature, x->req_info, ctx); 123 x->sig_alg, NULL, x->signature, x->req_info, ctx);
116 } 124}
117 125
118int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md) 126int
119 { 127X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md)
128{
120 x->crl->enc.modified = 1; 129 x->crl->enc.modified = 1;
121 return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CRL_INFO),x->crl->sig_alg, 130 return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CRL_INFO), x->crl->sig_alg,
122 x->sig_alg, x->signature, x->crl,pkey,md)); 131 x->sig_alg, x->signature, x->crl, pkey, md));
123 } 132}
124 133
125int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx) 134int
126 { 135X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx)
136{
127 x->crl->enc.modified = 1; 137 x->crl->enc.modified = 1;
128 return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_CRL_INFO), 138 return ASN1_item_sign_ctx(ASN1_ITEM_rptr(X509_CRL_INFO),
129 x->crl->sig_alg, x->sig_alg, x->signature, x->crl, ctx); 139 x->crl->sig_alg, x->sig_alg, x->signature, x->crl, ctx);
130 } 140}
131 141
132int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md) 142int
133 { 143NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md)
134 return(ASN1_item_sign(ASN1_ITEM_rptr(NETSCAPE_SPKAC), x->sig_algor,NULL, 144{
135 x->signature, x->spkac,pkey,md)); 145 return (ASN1_item_sign(ASN1_ITEM_rptr(NETSCAPE_SPKAC),
136 } 146 x->sig_algor, NULL, x->signature, x->spkac, pkey, md));
147}
137 148
138#ifndef OPENSSL_NO_FP_API 149#ifndef OPENSSL_NO_FP_API
139X509 *d2i_X509_fp(FILE *fp, X509 **x509) 150X509
140 { 151*d2i_X509_fp(FILE *fp, X509 **x509)
152{
141 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509), fp, x509); 153 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509), fp, x509);
142 } 154}
143 155
144int i2d_X509_fp(FILE *fp, X509 *x509) 156int
145 { 157i2d_X509_fp(FILE *fp, X509 *x509)
158{
146 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509), fp, x509); 159 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509), fp, x509);
147 } 160}
148#endif 161#endif
149 162
150X509 *d2i_X509_bio(BIO *bp, X509 **x509) 163X509
151 { 164*d2i_X509_bio(BIO *bp, X509 **x509)
165{
152 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509), bp, x509); 166 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509), bp, x509);
153 } 167}
154 168
155int i2d_X509_bio(BIO *bp, X509 *x509) 169int
156 { 170i2d_X509_bio(BIO *bp, X509 *x509)
171{
157 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509), bp, x509); 172 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509), bp, x509);
158 } 173}
159 174
160#ifndef OPENSSL_NO_FP_API 175#ifndef OPENSSL_NO_FP_API
161X509_CRL *d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl) 176X509_CRL
162 { 177*d2i_X509_CRL_fp(FILE *fp, X509_CRL **crl)
178{
163 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl); 179 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl);
164 } 180}
165 181
166int i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl) 182int
167 { 183i2d_X509_CRL_fp(FILE *fp, X509_CRL *crl)
184{
168 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl); 185 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_CRL), fp, crl);
169 } 186}
170#endif 187#endif
171 188
172X509_CRL *d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl) 189X509_CRL
173 { 190*d2i_X509_CRL_bio(BIO *bp, X509_CRL **crl)
191{
174 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl); 192 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl);
175 } 193}
176 194
177int i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl) 195int
178 { 196i2d_X509_CRL_bio(BIO *bp, X509_CRL *crl)
197{
179 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl); 198 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_CRL), bp, crl);
180 } 199}
181 200
182#ifndef OPENSSL_NO_FP_API 201#ifndef OPENSSL_NO_FP_API
183PKCS7 *d2i_PKCS7_fp(FILE *fp, PKCS7 **p7) 202PKCS7
184 { 203*d2i_PKCS7_fp(FILE *fp, PKCS7 **p7)
204{
185 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(PKCS7), fp, p7); 205 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(PKCS7), fp, p7);
186 } 206}
187 207
188int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7) 208int
189 { 209i2d_PKCS7_fp(FILE *fp, PKCS7 *p7)
210{
190 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(PKCS7), fp, p7); 211 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(PKCS7), fp, p7);
191 } 212}
192#endif 213#endif
193 214
194PKCS7 *d2i_PKCS7_bio(BIO *bp, PKCS7 **p7) 215PKCS7
195 { 216*d2i_PKCS7_bio(BIO *bp, PKCS7 **p7)
217{
196 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(PKCS7), bp, p7); 218 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(PKCS7), bp, p7);
197 } 219}
198 220
199int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7) 221int
200 { 222i2d_PKCS7_bio(BIO *bp, PKCS7 *p7)
223{
201 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(PKCS7), bp, p7); 224 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(PKCS7), bp, p7);
202 } 225}
203 226
204#ifndef OPENSSL_NO_FP_API 227#ifndef OPENSSL_NO_FP_API
205X509_REQ *d2i_X509_REQ_fp(FILE *fp, X509_REQ **req) 228X509_REQ
206 { 229*d2i_X509_REQ_fp(FILE *fp, X509_REQ **req)
230{
207 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_REQ), fp, req); 231 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(X509_REQ), fp, req);
208 } 232}
209 233
210int i2d_X509_REQ_fp(FILE *fp, X509_REQ *req) 234int
211 { 235i2d_X509_REQ_fp(FILE *fp, X509_REQ *req)
236{
212 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_REQ), fp, req); 237 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(X509_REQ), fp, req);
213 } 238}
214#endif 239#endif
215 240
216X509_REQ *d2i_X509_REQ_bio(BIO *bp, X509_REQ **req) 241X509_REQ
217 { 242*d2i_X509_REQ_bio(BIO *bp, X509_REQ **req)
243{
218 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_REQ), bp, req); 244 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(X509_REQ), bp, req);
219 } 245}
220 246
221int i2d_X509_REQ_bio(BIO *bp, X509_REQ *req) 247int
222 { 248i2d_X509_REQ_bio(BIO *bp, X509_REQ *req)
249{
223 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_REQ), bp, req); 250 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(X509_REQ), bp, req);
224 } 251}
225 252
226#ifndef OPENSSL_NO_RSA 253#ifndef OPENSSL_NO_RSA
227 254
228#ifndef OPENSSL_NO_FP_API 255#ifndef OPENSSL_NO_FP_API
229RSA *d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa) 256RSA
230 { 257*d2i_RSAPrivateKey_fp(FILE *fp, RSA **rsa)
258{
231 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa); 259 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa);
232 } 260}
233 261
234int i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa) 262int
235 { 263i2d_RSAPrivateKey_fp(FILE *fp, RSA *rsa)
264{
236 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa); 265 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPrivateKey), fp, rsa);
237 } 266}
238 267
239RSA *d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa) 268RSA
240 { 269*d2i_RSAPublicKey_fp(FILE *fp, RSA **rsa)
270{
241 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPublicKey), fp, rsa); 271 return ASN1_item_d2i_fp(ASN1_ITEM_rptr(RSAPublicKey), fp, rsa);
242 } 272}
243 273
244 274
245RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa) 275RSA
246 { 276*d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa)
247 return ASN1_d2i_fp((void *(*)(void)) 277{
248 RSA_new,(D2I_OF(void))d2i_RSA_PUBKEY, fp, 278 return ASN1_d2i_fp((void *(*)(void))RSA_new,
249 (void **)rsa); 279 (D2I_OF(void))d2i_RSA_PUBKEY, fp, (void **)rsa);
250 } 280}
251 281
252int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa) 282int
253 { 283i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa)
284{
254 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPublicKey), fp, rsa); 285 return ASN1_item_i2d_fp(ASN1_ITEM_rptr(RSAPublicKey), fp, rsa);
255 } 286}
256 287
257int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa) 288int
258 { 289i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa)
259 return ASN1_i2d_fp((I2D_OF(void))i2d_RSA_PUBKEY,fp,rsa); 290{
260 } 291 return ASN1_i2d_fp((I2D_OF(void))i2d_RSA_PUBKEY, fp, rsa);
292}
261#endif 293#endif
262 294
263RSA *d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa) 295RSA
264 { 296*d2i_RSAPrivateKey_bio(BIO *bp, RSA **rsa)
297{
265 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa); 298 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa);
266 } 299}
267 300
268int i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa) 301int
269 { 302i2d_RSAPrivateKey_bio(BIO *bp, RSA *rsa)
303{
270 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa); 304 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPrivateKey), bp, rsa);
271 } 305}
272 306
273RSA *d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa) 307RSA
274 { 308*d2i_RSAPublicKey_bio(BIO *bp, RSA **rsa)
309{
275 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(RSAPublicKey), bp, rsa); 310 return ASN1_item_d2i_bio(ASN1_ITEM_rptr(RSAPublicKey), bp, rsa);
276 } 311}
277 312
278 313
279RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa) 314RSA
280 { 315*d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa)
281 return ASN1_d2i_bio_of(RSA,RSA_new,d2i_RSA_PUBKEY,bp,rsa); 316{
282 } 317 return ASN1_d2i_bio_of(RSA, RSA_new, d2i_RSA_PUBKEY, bp, rsa);
318}
283 319
284int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa) 320int
285 { 321i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa)
322{
286 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPublicKey), bp, rsa); 323 return ASN1_item_i2d_bio(ASN1_ITEM_rptr(RSAPublicKey), bp, rsa);
287 } 324}
288 325
289int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa) 326int
290 { 327i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa)
291 return ASN1_i2d_bio_of(RSA,i2d_RSA_PUBKEY,bp,rsa); 328{
292 } 329 return ASN1_i2d_bio_of(RSA, i2d_RSA_PUBKEY, bp, rsa);
330}
293#endif 331#endif
294 332
295#ifndef OPENSSL_NO_DSA 333#ifndef OPENSSL_NO_DSA
296#ifndef OPENSSL_NO_FP_API 334#ifndef OPENSSL_NO_FP_API
297DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa) 335DSA
298 { 336*d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa)
299 return ASN1_d2i_fp_of(DSA,DSA_new,d2i_DSAPrivateKey,fp,dsa); 337{
300 } 338 return ASN1_d2i_fp_of(DSA, DSA_new, d2i_DSAPrivateKey, fp, dsa);
301 339}
302int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa) 340
303 { 341int
304 return ASN1_i2d_fp_of_const(DSA,i2d_DSAPrivateKey,fp,dsa); 342i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa)
305 } 343{
306 344 return ASN1_i2d_fp_of_const(DSA, i2d_DSAPrivateKey, fp, dsa);
307DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa) 345}
308 { 346
309 return ASN1_d2i_fp_of(DSA,DSA_new,d2i_DSA_PUBKEY,fp,dsa); 347DSA
310 } 348*d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa)
311 349{
312int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa) 350 return ASN1_d2i_fp_of(DSA, DSA_new, d2i_DSA_PUBKEY, fp, dsa);
313 { 351}
314 return ASN1_i2d_fp_of(DSA,i2d_DSA_PUBKEY,fp,dsa); 352
315 } 353int
354i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa)
355{
356 return ASN1_i2d_fp_of(DSA, i2d_DSA_PUBKEY, fp, dsa);
357}
316#endif 358#endif
317 359
318DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa) 360DSA
319 { 361*d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa)
320 return ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAPrivateKey,bp,dsa 362{
321); 363 return ASN1_d2i_bio_of(DSA, DSA_new, d2i_DSAPrivateKey, bp, dsa);
322 } 364}
323 365
324int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa) 366int
325 { 367i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa)
326 return ASN1_i2d_bio_of_const(DSA,i2d_DSAPrivateKey,bp,dsa); 368{
327 } 369 return ASN1_i2d_bio_of_const(DSA, i2d_DSAPrivateKey, bp, dsa);
370}
328 371
329DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa) 372DSA
330 { 373*d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa)
331 return ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSA_PUBKEY,bp,dsa); 374{
332 } 375 return ASN1_d2i_bio_of(DSA, DSA_new, d2i_DSA_PUBKEY, bp, dsa);
376}
333 377
334int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa) 378int
335 { 379i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa)
336 return ASN1_i2d_bio_of(DSA,i2d_DSA_PUBKEY,bp,dsa); 380{
337 } 381 return ASN1_i2d_bio_of(DSA, i2d_DSA_PUBKEY, bp, dsa);
382}
338 383
339#endif 384#endif
340 385
341#ifndef OPENSSL_NO_EC 386#ifndef OPENSSL_NO_EC
342#ifndef OPENSSL_NO_FP_API 387#ifndef OPENSSL_NO_FP_API
343EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey) 388EC_KEY
344 { 389*d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey)
345 return ASN1_d2i_fp_of(EC_KEY,EC_KEY_new,d2i_EC_PUBKEY,fp,eckey); 390{
346 } 391 return ASN1_d2i_fp_of(EC_KEY, EC_KEY_new, d2i_EC_PUBKEY, fp, eckey);
347 392}
348int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey) 393
349 { 394int
350 return ASN1_i2d_fp_of(EC_KEY,i2d_EC_PUBKEY,fp,eckey); 395i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey)
351 } 396{
352 397 return ASN1_i2d_fp_of(EC_KEY, i2d_EC_PUBKEY, fp, eckey);
353EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey) 398}
354 { 399
355 return ASN1_d2i_fp_of(EC_KEY,EC_KEY_new,d2i_ECPrivateKey,fp,eckey); 400EC_KEY
356 } 401*d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey)
357 402{
358int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey) 403 return ASN1_d2i_fp_of(EC_KEY, EC_KEY_new, d2i_ECPrivateKey, fp, eckey);
359 { 404}
360 return ASN1_i2d_fp_of(EC_KEY,i2d_ECPrivateKey,fp,eckey); 405
361 } 406int
407i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey)
408{
409 return ASN1_i2d_fp_of(EC_KEY, i2d_ECPrivateKey, fp, eckey);
410}
362#endif 411#endif
363EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey) 412EC_KEY
364 { 413*d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey)
365 return ASN1_d2i_bio_of(EC_KEY,EC_KEY_new,d2i_EC_PUBKEY,bp,eckey); 414{
366 } 415 return ASN1_d2i_bio_of(EC_KEY, EC_KEY_new, d2i_EC_PUBKEY, bp, eckey);
367 416}
368int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ecdsa) 417
369 { 418int
370 return ASN1_i2d_bio_of(EC_KEY,i2d_EC_PUBKEY,bp,ecdsa); 419i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ecdsa)
371 } 420{
372 421 return ASN1_i2d_bio_of(EC_KEY, i2d_EC_PUBKEY, bp, ecdsa);
373EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey) 422}
374 { 423
375 return ASN1_d2i_bio_of(EC_KEY,EC_KEY_new,d2i_ECPrivateKey,bp,eckey); 424EC_KEY
376 } 425*d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey)
377 426{
378int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey) 427 return ASN1_d2i_bio_of(EC_KEY, EC_KEY_new, d2i_ECPrivateKey, bp, eckey);
379 { 428}
380 return ASN1_i2d_bio_of(EC_KEY,i2d_ECPrivateKey,bp,eckey); 429
381 } 430int
431i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey)
432{
433 return ASN1_i2d_bio_of(EC_KEY, i2d_ECPrivateKey, bp, eckey);
434}
382#endif 435#endif
383 436
384 437
385int X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md, 438int
386 unsigned int *len) 439X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md,
387 { 440 unsigned int *len)
441{
388 ASN1_BIT_STRING *key; 442 ASN1_BIT_STRING *key;
389 key = X509_get0_pubkey_bitstr(data); 443 key = X509_get0_pubkey_bitstr(data);
390 if(!key) return 0; 444 if (!key)
445 return 0;
391 return EVP_Digest(key->data, key->length, md, len, type, NULL); 446 return EVP_Digest(key->data, key->length, md, len, type, NULL);
392 } 447}
393 448
394int X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md, 449int
395 unsigned int *len) 450X509_digest(const X509 *data, const EVP_MD *type, unsigned char *md,
396 { 451 unsigned int *len)
397 return(ASN1_item_digest(ASN1_ITEM_rptr(X509),type,(char *)data,md,len)); 452{
398 } 453 return (ASN1_item_digest(ASN1_ITEM_rptr(X509), type, (char *)data,
399 454 md, len));
400int X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md, 455}
401 unsigned int *len) 456
402 { 457int
403 return(ASN1_item_digest(ASN1_ITEM_rptr(X509_CRL),type,(char *)data,md,len)); 458X509_CRL_digest(const X509_CRL *data, const EVP_MD *type, unsigned char *md,
404 } 459 unsigned int *len)
405 460{
406int X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, unsigned char *md, 461 return (ASN1_item_digest(ASN1_ITEM_rptr(X509_CRL), type, (char *)data,
407 unsigned int *len) 462 md, len));
408 { 463}
409 return(ASN1_item_digest(ASN1_ITEM_rptr(X509_REQ),type,(char *)data,md,len)); 464
410 } 465int
411 466X509_REQ_digest(const X509_REQ *data, const EVP_MD *type, unsigned char *md,
412int X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md, 467 unsigned int *len)
413 unsigned int *len) 468{
414 { 469 return (ASN1_item_digest(ASN1_ITEM_rptr(X509_REQ), type,(char *)data,
415 return(ASN1_item_digest(ASN1_ITEM_rptr(X509_NAME),type,(char *)data,md,len)); 470 md, len));
416 } 471}
417 472
418int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, const EVP_MD *type, 473int
419 unsigned char *md, unsigned int *len) 474X509_NAME_digest(const X509_NAME *data, const EVP_MD *type, unsigned char *md,
420 { 475 unsigned int *len)
421 return(ASN1_item_digest(ASN1_ITEM_rptr(PKCS7_ISSUER_AND_SERIAL),type, 476{
422 (char *)data,md,len)); 477 return (ASN1_item_digest(ASN1_ITEM_rptr(X509_NAME), type,(char *)data,
423 } 478 md, len));
479}
480
481int
482PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data,
483 const EVP_MD *type, unsigned char *md, unsigned int *len)
484{
485 return(ASN1_item_digest(ASN1_ITEM_rptr(PKCS7_ISSUER_AND_SERIAL), type,
486 (char *)data, md, len));
487}
424 488
425 489
426#ifndef OPENSSL_NO_FP_API 490#ifndef OPENSSL_NO_FP_API
427X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8) 491X509_SIG
428 { 492*d2i_PKCS8_fp(FILE *fp, X509_SIG **p8)
429 return ASN1_d2i_fp_of(X509_SIG,X509_SIG_new,d2i_X509_SIG,fp,p8); 493{
430 } 494 return ASN1_d2i_fp_of(X509_SIG, X509_SIG_new, d2i_X509_SIG, fp, p8);
431 495}
432int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8) 496
433 { 497int
434 return ASN1_i2d_fp_of(X509_SIG,i2d_X509_SIG,fp,p8); 498i2d_PKCS8_fp(FILE *fp, X509_SIG *p8)
435 } 499{
500 return ASN1_i2d_fp_of(X509_SIG, i2d_X509_SIG, fp, p8);
501}
436#endif 502#endif
437 503
438X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8) 504X509_SIG
439 { 505*d2i_PKCS8_bio(BIO *bp, X509_SIG **p8)
440 return ASN1_d2i_bio_of(X509_SIG,X509_SIG_new,d2i_X509_SIG,bp,p8); 506{
441 } 507 return ASN1_d2i_bio_of(X509_SIG, X509_SIG_new, d2i_X509_SIG, bp, p8);
508}
442 509
443int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8) 510int
444 { 511i2d_PKCS8_bio(BIO *bp, X509_SIG *p8)
445 return ASN1_i2d_bio_of(X509_SIG,i2d_X509_SIG,bp,p8); 512{
446 } 513 return ASN1_i2d_bio_of(X509_SIG, i2d_X509_SIG, bp, p8);
514}
447 515
448#ifndef OPENSSL_NO_FP_API 516#ifndef OPENSSL_NO_FP_API
449PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, 517PKCS8_PRIV_KEY_INFO
450 PKCS8_PRIV_KEY_INFO **p8inf) 518*d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp,
451 { 519PKCS8_PRIV_KEY_INFO **p8inf)
452 return ASN1_d2i_fp_of(PKCS8_PRIV_KEY_INFO,PKCS8_PRIV_KEY_INFO_new, 520{
453 d2i_PKCS8_PRIV_KEY_INFO,fp,p8inf); 521 return ASN1_d2i_fp_of(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_new,
454 } 522 d2i_PKCS8_PRIV_KEY_INFO, fp, p8inf);
455 523}
456int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf) 524
457 { 525int
458 return ASN1_i2d_fp_of(PKCS8_PRIV_KEY_INFO,i2d_PKCS8_PRIV_KEY_INFO,fp, 526i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf)
459 p8inf); 527{
460 } 528 return ASN1_i2d_fp_of(PKCS8_PRIV_KEY_INFO, i2d_PKCS8_PRIV_KEY_INFO,
461 529 fp, p8inf);
462int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key) 530}
463 { 531
532int
533i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key)
534{
464 PKCS8_PRIV_KEY_INFO *p8inf; 535 PKCS8_PRIV_KEY_INFO *p8inf;
465 int ret; 536 int ret;
466 p8inf = EVP_PKEY2PKCS8(key); 537 p8inf = EVP_PKEY2PKCS8(key);
467 if(!p8inf) return 0; 538 if (!p8inf)
539 return 0;
468 ret = i2d_PKCS8_PRIV_KEY_INFO_fp(fp, p8inf); 540 ret = i2d_PKCS8_PRIV_KEY_INFO_fp(fp, p8inf);
469 PKCS8_PRIV_KEY_INFO_free(p8inf); 541 PKCS8_PRIV_KEY_INFO_free(p8inf);
470 return ret; 542 return ret;
471 } 543}
472 544
473int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey) 545int
474 { 546i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey)
475 return ASN1_i2d_fp_of(EVP_PKEY,i2d_PrivateKey,fp,pkey); 547{
476 } 548 return ASN1_i2d_fp_of(EVP_PKEY, i2d_PrivateKey, fp, pkey);
549}
477 550
478EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a) 551EVP_PKEY
552*d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a)
479{ 553{
480 return ASN1_d2i_fp_of(EVP_PKEY,EVP_PKEY_new,d2i_AutoPrivateKey,fp,a); 554 return ASN1_d2i_fp_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey,
555 fp, a);
481} 556}
482 557
483int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey) 558int
484 { 559i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey)
485 return ASN1_i2d_fp_of(EVP_PKEY,i2d_PUBKEY,fp,pkey); 560{
486 } 561 return ASN1_i2d_fp_of(EVP_PKEY, i2d_PUBKEY, fp, pkey);
562}
487 563
488EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a) 564EVP_PKEY
565*d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a)
489{ 566{
490 return ASN1_d2i_fp_of(EVP_PKEY,EVP_PKEY_new,d2i_PUBKEY,fp,a); 567 return ASN1_d2i_fp_of(EVP_PKEY, EVP_PKEY_new, d2i_PUBKEY, fp, a);
491} 568}
492 569
493#endif 570#endif
494 571
495PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, 572PKCS8_PRIV_KEY_INFO
496 PKCS8_PRIV_KEY_INFO **p8inf) 573*d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp,
497 { 574PKCS8_PRIV_KEY_INFO **p8inf)
498 return ASN1_d2i_bio_of(PKCS8_PRIV_KEY_INFO,PKCS8_PRIV_KEY_INFO_new, 575{
499 d2i_PKCS8_PRIV_KEY_INFO,bp,p8inf); 576 return ASN1_d2i_bio_of(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO_new,
500 } 577 d2i_PKCS8_PRIV_KEY_INFO, bp, p8inf);
501 578}
502int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf) 579
503 { 580int
504 return ASN1_i2d_bio_of(PKCS8_PRIV_KEY_INFO,i2d_PKCS8_PRIV_KEY_INFO,bp, 581i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf)
505 p8inf); 582{
506 } 583 return ASN1_i2d_bio_of(PKCS8_PRIV_KEY_INFO, i2d_PKCS8_PRIV_KEY_INFO,
507 584 bp, p8inf);
508int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key) 585}
509 { 586
587int
588i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key)
589{
510 PKCS8_PRIV_KEY_INFO *p8inf; 590 PKCS8_PRIV_KEY_INFO *p8inf;
511 int ret; 591 int ret;
512 p8inf = EVP_PKEY2PKCS8(key); 592 p8inf = EVP_PKEY2PKCS8(key);
513 if(!p8inf) return 0; 593 if (!p8inf)
594 return 0;
514 ret = i2d_PKCS8_PRIV_KEY_INFO_bio(bp, p8inf); 595 ret = i2d_PKCS8_PRIV_KEY_INFO_bio(bp, p8inf);
515 PKCS8_PRIV_KEY_INFO_free(p8inf); 596 PKCS8_PRIV_KEY_INFO_free(p8inf);
516 return ret; 597 return ret;
517 } 598}
518 599
519int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey) 600int
520 { 601i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey)
521 return ASN1_i2d_bio_of(EVP_PKEY,i2d_PrivateKey,bp,pkey); 602{
522 } 603 return ASN1_i2d_bio_of(EVP_PKEY, i2d_PrivateKey, bp, pkey);
523 604}
524EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a) 605
525 { 606EVP_PKEY
526 return ASN1_d2i_bio_of(EVP_PKEY,EVP_PKEY_new,d2i_AutoPrivateKey,bp,a); 607*d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a)
527 } 608{
528 609 return ASN1_d2i_bio_of(EVP_PKEY, EVP_PKEY_new, d2i_AutoPrivateKey, bp, a);
529int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey) 610}
530 { 611
531 return ASN1_i2d_bio_of(EVP_PKEY,i2d_PUBKEY,bp,pkey); 612int
532 } 613i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey)
533 614{
534EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a) 615 return ASN1_i2d_bio_of(EVP_PKEY, i2d_PUBKEY, bp, pkey);
535 { 616}
536 return ASN1_d2i_bio_of(EVP_PKEY,EVP_PKEY_new,d2i_PUBKEY,bp,a); 617
537 } 618EVP_PKEY
619*d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a)
620{
621 return ASN1_d2i_bio_of(EVP_PKEY, EVP_PKEY_new, d2i_PUBKEY, bp, a);
622}