diff options
author | Dr. Stephen Henson <steve@openssl.org> | 1999-01-28 00:16:44 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 1999-01-28 00:16:44 +0000 |
commit | 92c046cac0d64ecd8d53126af3e52db5a6de83cf (patch) | |
tree | a76a2bb1329dfeff82e28942e4d27d965fe10dd7 /crypto/pem | |
parent | a27598bf7ed1b4ddf3d8f04e064d98d01d18e0a2 (diff) | |
download | openssl-92c046cac0d64ecd8d53126af3e52db5a6de83cf.tar.gz |
Add ASN1 code for netscape certificate sequences.
Diffstat (limited to 'crypto/pem')
-rw-r--r-- | crypto/pem/Makefile.ssl | 2 | ||||
-rw-r--r-- | crypto/pem/pem.org | 24 | ||||
-rw-r--r-- | crypto/pem/pem_all.c | 42 |
3 files changed, 67 insertions, 1 deletions
diff --git a/crypto/pem/Makefile.ssl b/crypto/pem/Makefile.ssl index dac839cced..42787f1336 100644 --- a/crypto/pem/Makefile.ssl +++ b/crypto/pem/Makefile.ssl @@ -40,7 +40,7 @@ top: all: pem.h lib -pem.h: $(CTX_SIZE) +pem.h: $(CTX_SIZE) pem.org ./$(CTX_SIZE) <pem.org >pem.new if [ -f pem.h ]; then mv -f pem.h pem.old; fi mv -f pem.new pem.h diff --git a/crypto/pem/pem.org b/crypto/pem/pem.org index 38952509dd..37d19021e1 100644 --- a/crypto/pem/pem.org +++ b/crypto/pem/pem.org @@ -251,6 +251,11 @@ typedef struct pem_ctx_st PEM_ASN1_write((int (*)())i2d_DHparams,PEM_STRING_DHPARAMS,fp,\ (char *)x,NULL,NULL,0,NULL) +#define PEM_write_NETSCAPE_CERT_SEQUENCE(fp,x) \ + PEM_ASN1_write((int (*)())i2d_NETSCAPE_CERT_SEQUENCE, \ + PEM_STRING_X509,fp, \ + (char *)x, NULL,NULL,0,NULL) + #define PEM_read_SSL_SESSION(fp,x,cb) (SSL_SESSION *)PEM_ASN1_read( \ (char *(*)())d2i_SSL_SESSION,PEM_STRING_SSL_SESSION,fp,(char **)x,cb) #define PEM_read_X509(fp,x,cb) (X509 *)PEM_ASN1_read( \ @@ -272,6 +277,11 @@ typedef struct pem_ctx_st #define PEM_read_DHparams(fp,x,cb) (DH *)PEM_ASN1_read( \ (char *(*)())d2i_DHparams,PEM_STRING_DHPARAMS,fp,(char **)x,cb) +#define PEM_read_NETSCAPE_CERT_SEQUENCE(fp,x,cb) \ + (NETSCAPE_CERT_SEQUENCE *)PEM_ASN1_read( \ + (char *(*)())d2i_NETSCAPE_CERT_SEQUENCE,PEM_STRING_X509,fp,\ + (char **)x,cb) + #define PEM_write_bio_SSL_SESSION(bp,x) \ PEM_ASN1_write_bio((int (*)())i2d_SSL_SESSION, \ PEM_STRING_SSL_SESSION,bp, (char *)x, NULL,NULL,0,NULL) @@ -308,6 +318,11 @@ typedef struct pem_ctx_st PEM_ASN1_write_bio((int (*)())i2d_DSAparams, \ PEM_STRING_DSAPARAMS,bp,(char *)x,NULL,NULL,0,NULL) +#define PEM_write_bio_NETSCAPE_CERT_SEQUENCE(bp,x) \ + PEM_ASN1_write_bio((int (*)())i2d_NETSCAPE_CERT_SEQUENCE, \ + PEM_STRING_X509,bp, \ + (char *)x, NULL,NULL,0,NULL) + #define PEM_read_bio_SSL_SESSION(bp,x,cb) (SSL_SESSION *)PEM_ASN1_read_bio( \ (char *(*)())d2i_SSL_SESSION,PEM_STRING_SSL_SESSION,bp,(char **)x,cb) #define PEM_read_bio_X509(bp,x,cb) (X509 *)PEM_ASN1_read_bio( \ @@ -332,6 +347,11 @@ typedef struct pem_ctx_st #define PEM_read_bio_DSAparams(bp,x,cb) (DSA *)PEM_ASN1_read_bio( \ (char *(*)())d2i_DSAparams,PEM_STRING_DSAPARAMS,bp,(char **)x,cb) +#define PEM_read_bio_NETSCAPE_CERT_SEQUENCE(bp,x,cb) \ + (NETSCAPE_CERT_SEQUENCE *)PEM_ASN1_read_bio( \ + (char *(*)())d2i_NETSCAPE_CERT_SEQUENCE,PEM_STRING_X509,bp,\ + (char **)x,cb) + #endif #ifndef NOPROTO @@ -395,6 +415,7 @@ EVP_PKEY *PEM_read_PrivateKey(FILE *fp,EVP_PKEY **x,int (*cb)()); PKCS7 *PEM_read_PKCS7(FILE *fp,PKCS7 **x,int (*cb)()); DH *PEM_read_DHparams(FILE *fp,DH **x,int (*cb)()); DSA *PEM_read_DSAparams(FILE *fp,DSA **x,int (*cb)()); +NETSCAPE_CERT_SEQUENCE *PEM_read_NETSCAPE_CERT_SEQUENCE(FILE *fp,NETSCAPE_CERT_SEQUENCE **x,int (*cb)()); int PEM_write_X509(FILE *fp,X509 *x); int PEM_write_X509_REQ(FILE *fp,X509_REQ *x); int PEM_write_X509_CRL(FILE *fp,X509_CRL *x); @@ -408,6 +429,7 @@ int PEM_write_PrivateKey(FILE *fp,EVP_PKEY *x,EVP_CIPHER *enc, int PEM_write_PKCS7(FILE *fp,PKCS7 *x); int PEM_write_DHparams(FILE *fp,DH *x); int PEM_write_DSAparams(FILE *fp,DSA *x); +int PEM_write_NETSCAPE_CERT_SEQUENCE(FILE *fp,NETSCAPE_CERT_SEQUENCE *x); #endif #ifdef HEADER_BIO_H @@ -420,6 +442,7 @@ DSA *PEM_read_bio_DSAPrivateKey(BIO *bp,DSA **x,int (*cb)()); EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp,EVP_PKEY **x,int (*cb)()); PKCS7 *PEM_read_bio_PKCS7(BIO *bp,PKCS7 **x,int (*cb)()); DH *PEM_read_bio_DHparams(BIO *bp,DH **x,int (*cb)()); +NETSCAPE_CERT_SEQUENCE *PEM_read_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp,NETSCAPE_CERT_SEQUENCE **x,int (*cb)()); DSA *PEM_read_bio_DSAparams(BIO *bp,DSA **x,int (*cb)()); int PEM_write_bio_X509(BIO *bp,X509 *x); int PEM_write_bio_X509_REQ(BIO *bp,X509_REQ *x); @@ -434,6 +457,7 @@ int PEM_write_bio_PrivateKey(BIO *fp,EVP_PKEY *x,EVP_CIPHER *enc, int PEM_write_bio_PKCS7(BIO *bp,PKCS7 *x); int PEM_write_bio_DHparams(BIO *bp,DH *x); int PEM_write_bio_DSAparams(BIO *bp,DSA *x); +int PEM_write_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp,NETSCAPE_CERT_SEQUENCE *x); #endif #endif /* SSLEAY_MACROS */ diff --git a/crypto/pem/pem_all.c b/crypto/pem/pem_all.c index d1cda7aabe..92d5a5db4f 100644 --- a/crypto/pem/pem_all.c +++ b/crypto/pem/pem_all.c @@ -486,3 +486,45 @@ DSA *x; } #endif +/* The Netscape Certificate sequence functions */ + +#ifndef NO_FP_API +NETSCAPE_CERT_SEQUENCE *PEM_read_NETSCAPE_CERT_SEQUENCE(fp,x,cb) +FILE *fp; +NETSCAPE_CERT_SEQUENCE **x; +int (*cb)(); + { + return((NETSCAPE_CERT_SEQUENCE *) + PEM_ASN1_read((char *(*)())d2i_NETSCAPE_CERT_SEQUENCE, + PEM_STRING_X509,fp,(char **)x,cb)); + } +#endif + +NETSCAPE_CERT_SEQUENCE *PEM_read_bio_NETSCAPE_CERT_SEQUENCE(bp,x,cb) +BIO *bp; +NETSCAPE_CERT_SEQUENCE **x; +int (*cb)(); + { + return((NETSCAPE_CERT_SEQUENCE *) + PEM_ASN1_read_bio((char *(*)())d2i_NETSCAPE_CERT_SEQUENCE, + PEM_STRING_X509,bp,(char **)x,cb)); + } + +#ifndef NO_FP_API +int PEM_write_NETSCAPE_CERT_SEQUENCE(fp,x) +FILE *fp; +NETSCAPE_CERT_SEQUENCE *x; + { + return(PEM_ASN1_write((int (*)())i2d_NETSCAPE_CERT_SEQUENCE, + PEM_STRING_X509,fp, (char *)x, NULL,NULL,0,NULL)); + } +#endif + +int PEM_write_bio_NETSCAPE_CERT_SEQUENCE(bp,x) +BIO *bp; +NETSCAPE_CERT_SEQUENCE *x; + { + return(PEM_ASN1_write_bio((int (*)())i2d_NETSCAPE_CERT_SEQUENCE, + PEM_STRING_X509,bp, (char *)x, NULL,NULL,0,NULL)); + } + |