~ubuntu-branches/ubuntu/maverick/openssl/maverick

« back to all changes in this revision

Viewing changes to crypto/x509/x_all.c

  • Committer: Bazaar Package Importer
  • Author(s): Kurt Roeckx
  • Date: 2005-12-13 21:37:42 UTC
  • mto: (11.1.1 lenny)
  • mto: This revision was merged to the branch mainline in revision 4.
  • Revision ID: james.westby@ubuntu.com-20051213213742-d0ydaylf80l16bj1
Tags: upstream-0.9.8a
ImportĀ upstreamĀ versionĀ 0.9.8a

Show diffs side-by-side

added added

removed removed

Lines of Context:
64
64
#include <openssl/asn1.h>
65
65
#include <openssl/evp.h>
66
66
#include <openssl/x509.h>
 
67
#ifndef OPENSSL_NO_RSA
 
68
#include <openssl/rsa.h>
 
69
#endif
 
70
#ifndef OPENSSL_NO_DSA
 
71
#include <openssl/dsa.h>
 
72
#endif
67
73
 
68
74
int X509_verify(X509 *a, EVP_PKEY *r)
69
75
        {
103
109
 
104
110
int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md)
105
111
        {
 
112
        x->crl->enc.modified = 1;
106
113
        return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CRL_INFO),x->crl->sig_alg,
107
114
                x->sig_alg, x->signature, x->crl,pkey,md));
108
115
        }
222
229
 
223
230
RSA *d2i_RSA_PUBKEY_fp(FILE *fp, RSA **rsa)
224
231
        {
225
 
        return((RSA *)ASN1_d2i_fp((char *(*)())
226
 
                RSA_new,(char *(*)())d2i_RSA_PUBKEY, (fp),
227
 
                (unsigned char **)(rsa)));
 
232
        return ASN1_d2i_fp((void *(*)(void))
 
233
                           RSA_new,(D2I_OF(void))d2i_RSA_PUBKEY, fp,
 
234
                           (void **)rsa);
228
235
        }
229
236
 
230
237
int i2d_RSAPublicKey_fp(FILE *fp, RSA *rsa)
234
241
 
235
242
int i2d_RSA_PUBKEY_fp(FILE *fp, RSA *rsa)
236
243
        {
237
 
        return(ASN1_i2d_fp(i2d_RSA_PUBKEY,fp,(unsigned char *)rsa));
 
244
        return ASN1_i2d_fp((I2D_OF(void))i2d_RSA_PUBKEY,fp,rsa);
238
245
        }
239
246
#endif
240
247
 
256
263
 
257
264
RSA *d2i_RSA_PUBKEY_bio(BIO *bp, RSA **rsa)
258
265
        {
259
 
        return((RSA *)ASN1_d2i_bio((char *(*)())
260
 
                RSA_new,(char *(*)())d2i_RSA_PUBKEY, (bp),
261
 
                (unsigned char **)(rsa)));
 
266
        return ASN1_d2i_bio_of(RSA,RSA_new,d2i_RSA_PUBKEY,bp,rsa);
262
267
        }
263
268
 
264
269
int i2d_RSAPublicKey_bio(BIO *bp, RSA *rsa)
268
273
 
269
274
int i2d_RSA_PUBKEY_bio(BIO *bp, RSA *rsa)
270
275
        {
271
 
        return(ASN1_i2d_bio(i2d_RSA_PUBKEY,bp,(unsigned char *)rsa));
 
276
        return ASN1_i2d_bio_of(RSA,i2d_RSA_PUBKEY,bp,rsa);
272
277
        }
273
278
#endif
274
279
 
276
281
#ifndef OPENSSL_NO_FP_API
277
282
DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa)
278
283
        {
279
 
        return((DSA *)ASN1_d2i_fp((char *(*)())
280
 
                DSA_new,(char *(*)())d2i_DSAPrivateKey, (fp),
281
 
                (unsigned char **)(dsa)));
 
284
        return ASN1_d2i_fp_of(DSA,DSA_new,d2i_DSAPrivateKey,fp,dsa);
282
285
        }
283
286
 
284
287
int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa)
285
288
        {
286
 
        return(ASN1_i2d_fp(i2d_DSAPrivateKey,fp,(unsigned char *)dsa));
 
289
        return ASN1_i2d_fp_of_const(DSA,i2d_DSAPrivateKey,fp,dsa);
287
290
        }
288
291
 
289
292
DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa)
290
293
        {
291
 
        return((DSA *)ASN1_d2i_fp((char *(*)())
292
 
                DSA_new,(char *(*)())d2i_DSA_PUBKEY, (fp),
293
 
                (unsigned char **)(dsa)));
 
294
        return ASN1_d2i_fp_of(DSA,DSA_new,d2i_DSA_PUBKEY,fp,dsa);
294
295
        }
295
296
 
296
297
int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa)
297
298
        {
298
 
        return(ASN1_i2d_fp(i2d_DSA_PUBKEY,fp,(unsigned char *)dsa));
 
299
        return ASN1_i2d_fp_of(DSA,i2d_DSA_PUBKEY,fp,dsa);
299
300
        }
300
301
#endif
301
302
 
302
303
DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa)
303
304
        {
304
 
        return((DSA *)ASN1_d2i_bio((char *(*)())
305
 
                DSA_new,(char *(*)())d2i_DSAPrivateKey, (bp),
306
 
                (unsigned char **)(dsa)));
 
305
        return ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAPrivateKey,bp,dsa
 
306
);
307
307
        }
308
308
 
309
309
int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa)
310
310
        {
311
 
        return(ASN1_i2d_bio(i2d_DSAPrivateKey,bp,(unsigned char *)dsa));
 
311
        return ASN1_i2d_bio_of_const(DSA,i2d_DSAPrivateKey,bp,dsa);
312
312
        }
313
313
 
314
314
DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa)
315
315
        {
316
 
        return((DSA *)ASN1_d2i_bio((char *(*)())
317
 
                DSA_new,(char *(*)())d2i_DSA_PUBKEY, (bp),
318
 
                (unsigned char **)(dsa)));
 
316
        return ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSA_PUBKEY,bp,dsa);
319
317
        }
320
318
 
321
319
int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa)
322
320
        {
323
 
        return(ASN1_i2d_bio(i2d_DSA_PUBKEY,bp,(unsigned char *)dsa));
324
 
        }
325
 
 
326
 
#endif
 
321
        return ASN1_i2d_bio_of(DSA,i2d_DSA_PUBKEY,bp,dsa);
 
322
        }
 
323
 
 
324
#endif
 
325
 
 
326
#ifndef OPENSSL_NO_EC
 
327
#ifndef OPENSSL_NO_FP_API
 
328
EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey)
 
329
        {
 
330
        return ASN1_d2i_fp_of(EC_KEY,EC_KEY_new,d2i_EC_PUBKEY,fp,eckey);
 
331
        }
 
332
  
 
333
int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey)
 
334
        {
 
335
        return ASN1_i2d_fp_of(EC_KEY,i2d_EC_PUBKEY,fp,eckey);
 
336
        }
 
337
 
 
338
EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey)
 
339
        {
 
340
        return ASN1_d2i_fp_of(EC_KEY,EC_KEY_new,d2i_ECPrivateKey,fp,eckey);
 
341
        }
 
342
  
 
343
int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey)
 
344
        {
 
345
        return ASN1_i2d_fp_of(EC_KEY,i2d_ECPrivateKey,fp,eckey);
 
346
        }
 
347
#endif
 
348
EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey)
 
349
        {
 
350
        return ASN1_d2i_bio_of(EC_KEY,EC_KEY_new,d2i_EC_PUBKEY,bp,eckey);
 
351
        }
 
352
  
 
353
int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *ecdsa)
 
354
        {
 
355
        return ASN1_i2d_bio_of(EC_KEY,i2d_EC_PUBKEY,bp,ecdsa);
 
356
        }
 
357
 
 
358
EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey)
 
359
        {
 
360
        return ASN1_d2i_bio_of(EC_KEY,EC_KEY_new,d2i_ECPrivateKey,bp,eckey);
 
361
        }
 
362
  
 
363
int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey)
 
364
        {
 
365
        return ASN1_i2d_bio_of(EC_KEY,i2d_ECPrivateKey,bp,eckey);
 
366
        }
 
367
#endif
 
368
 
327
369
 
328
370
int X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md,
329
371
             unsigned int *len)
369
411
#ifndef OPENSSL_NO_FP_API
370
412
X509_SIG *d2i_PKCS8_fp(FILE *fp, X509_SIG **p8)
371
413
        {
372
 
        return((X509_SIG *)ASN1_d2i_fp((char *(*)())X509_SIG_new,
373
 
                (char *(*)())d2i_X509_SIG, (fp),(unsigned char **)(p8)));
 
414
        return ASN1_d2i_fp_of(X509_SIG,X509_SIG_new,d2i_X509_SIG,fp,p8);
374
415
        }
375
416
 
376
417
int i2d_PKCS8_fp(FILE *fp, X509_SIG *p8)
377
418
        {
378
 
        return(ASN1_i2d_fp(i2d_X509_SIG,fp,(unsigned char *)p8));
 
419
        return ASN1_i2d_fp_of(X509_SIG,i2d_X509_SIG,fp,p8);
379
420
        }
380
421
#endif
381
422
 
382
423
X509_SIG *d2i_PKCS8_bio(BIO *bp, X509_SIG **p8)
383
424
        {
384
 
        return((X509_SIG *)ASN1_d2i_bio((char *(*)())X509_SIG_new,
385
 
                (char *(*)())d2i_X509_SIG, (bp),(unsigned char **)(p8)));
 
425
        return ASN1_d2i_bio_of(X509_SIG,X509_SIG_new,d2i_X509_SIG,bp,p8);
386
426
        }
387
427
 
388
428
int i2d_PKCS8_bio(BIO *bp, X509_SIG *p8)
389
429
        {
390
 
        return(ASN1_i2d_bio(i2d_X509_SIG,bp,(unsigned char *)p8));
 
430
        return ASN1_i2d_bio_of(X509_SIG,i2d_X509_SIG,bp,p8);
391
431
        }
392
432
 
393
433
#ifndef OPENSSL_NO_FP_API
394
434
PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp,
395
435
                                                 PKCS8_PRIV_KEY_INFO **p8inf)
396
436
        {
397
 
        return((PKCS8_PRIV_KEY_INFO *)ASN1_d2i_fp(
398
 
                (char *(*)())PKCS8_PRIV_KEY_INFO_new,
399
 
                (char *(*)())d2i_PKCS8_PRIV_KEY_INFO, (fp),
400
 
                                (unsigned char **)(p8inf)));
 
437
        return ASN1_d2i_fp_of(PKCS8_PRIV_KEY_INFO,PKCS8_PRIV_KEY_INFO_new,
 
438
                              d2i_PKCS8_PRIV_KEY_INFO,fp,p8inf);
401
439
        }
402
440
 
403
441
int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, PKCS8_PRIV_KEY_INFO *p8inf)
404
442
        {
405
 
        return(ASN1_i2d_fp(i2d_PKCS8_PRIV_KEY_INFO,fp,(unsigned char *)p8inf));
 
443
        return ASN1_i2d_fp_of(PKCS8_PRIV_KEY_INFO,i2d_PKCS8_PRIV_KEY_INFO,fp,
 
444
                              p8inf);
406
445
        }
407
446
 
408
447
int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key)
418
457
 
419
458
int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey)
420
459
        {
421
 
        return(ASN1_i2d_fp(i2d_PrivateKey,fp,(unsigned char *)pkey));
 
460
        return ASN1_i2d_fp_of(EVP_PKEY,i2d_PrivateKey,fp,pkey);
422
461
        }
423
462
 
424
463
EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a)
425
464
{
426
 
        return((EVP_PKEY *)ASN1_d2i_fp((char *(*)())EVP_PKEY_new,
427
 
                (char *(*)())d2i_AutoPrivateKey, (fp),(unsigned char **)(a)));
 
465
        return ASN1_d2i_fp_of(EVP_PKEY,EVP_PKEY_new,d2i_AutoPrivateKey,fp,a);
428
466
}
429
467
 
430
468
int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey)
431
469
        {
432
 
        return(ASN1_i2d_fp(i2d_PUBKEY,fp,(unsigned char *)pkey));
 
470
        return ASN1_i2d_fp_of(EVP_PKEY,i2d_PUBKEY,fp,pkey);
433
471
        }
434
472
 
435
473
EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a)
436
474
{
437
 
        return((EVP_PKEY *)ASN1_d2i_fp((char *(*)())EVP_PKEY_new,
438
 
                (char *(*)())d2i_PUBKEY, (fp),(unsigned char **)(a)));
 
475
        return ASN1_d2i_fp_of(EVP_PKEY,EVP_PKEY_new,d2i_PUBKEY,fp,a);
439
476
}
440
477
 
441
478
#endif
443
480
PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp,
444
481
                                                 PKCS8_PRIV_KEY_INFO **p8inf)
445
482
        {
446
 
        return((PKCS8_PRIV_KEY_INFO *)ASN1_d2i_bio(
447
 
                (char *(*)())PKCS8_PRIV_KEY_INFO_new,
448
 
                (char *(*)())d2i_PKCS8_PRIV_KEY_INFO, (bp),
449
 
                                (unsigned char **)(p8inf)));
 
483
        return ASN1_d2i_bio_of(PKCS8_PRIV_KEY_INFO,PKCS8_PRIV_KEY_INFO_new,
 
484
                            d2i_PKCS8_PRIV_KEY_INFO,bp,p8inf);
450
485
        }
451
486
 
452
487
int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, PKCS8_PRIV_KEY_INFO *p8inf)
453
488
        {
454
 
        return(ASN1_i2d_bio(i2d_PKCS8_PRIV_KEY_INFO,bp,(unsigned char *)p8inf));
 
489
        return ASN1_i2d_bio_of(PKCS8_PRIV_KEY_INFO,i2d_PKCS8_PRIV_KEY_INFO,bp,
 
490
                               p8inf);
455
491
        }
456
492
 
457
493
int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key)
467
503
 
468
504
int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey)
469
505
        {
470
 
        return(ASN1_i2d_bio(i2d_PrivateKey,bp,(unsigned char *)pkey));
 
506
        return ASN1_i2d_bio_of(EVP_PKEY,i2d_PrivateKey,bp,pkey);
471
507
        }
472
508
 
473
509
EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a)
474
510
        {
475
 
        return((EVP_PKEY *)ASN1_d2i_bio((char *(*)())EVP_PKEY_new,
476
 
                (char *(*)())d2i_AutoPrivateKey, (bp),(unsigned char **)(a)));
 
511
        return ASN1_d2i_bio_of(EVP_PKEY,EVP_PKEY_new,d2i_AutoPrivateKey,bp,a);
477
512
        }
478
513
 
479
514
int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey)
480
515
        {
481
 
        return(ASN1_i2d_bio(i2d_PUBKEY,bp,(unsigned char *)pkey));
 
516
        return ASN1_i2d_bio_of(EVP_PKEY,i2d_PUBKEY,bp,pkey);
482
517
        }
483
518
 
484
519
EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a)
485
520
        {
486
 
        return((EVP_PKEY *)ASN1_d2i_bio((char *(*)())EVP_PKEY_new,
487
 
                (char *(*)())d2i_PUBKEY, (bp),(unsigned char **)(a)));
 
521
        return ASN1_d2i_bio_of(EVP_PKEY,EVP_PKEY_new,d2i_PUBKEY,bp,a);
488
522
        }