aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/x509/x_all.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>1999-10-04 21:17:47 +0000
committerDr. Stephen Henson <steve@openssl.org>1999-10-04 21:17:47 +0000
commit3ea23631d4d840429dbe026f50e8f46a5187054f (patch)
tree15149df9a4a431fd06f857575c00087cfa0e139a /crypto/x509/x_all.c
parent393f2c651d154a8d576969f24317536f89f28649 (diff)
downloadopenssl-3ea23631d4d840429dbe026f50e8f46a5187054f.tar.gz
Add support for public key input and output in rsa and dsa utilities with some
new DSA public key functions that were missing. Also beginning of a cache for X509_EXTENSION structures: this will allow them to be accessed more quickly for things like certificate chain verification...
Diffstat (limited to 'crypto/x509/x_all.c')
-rw-r--r--crypto/x509/x_all.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/crypto/x509/x_all.c b/crypto/x509/x_all.c
index f2af895df0..354d4c3f3c 100644
--- a/crypto/x509/x_all.c
+++ b/crypto/x509/x_all.c
@@ -329,6 +329,18 @@ int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa)
{
return(ASN1_i2d_fp(i2d_DSAPrivateKey,fp,(unsigned char *)dsa));
}
+
+DSA *d2i_DSAPublicKey_fp(FILE *fp, DSA **dsa)
+ {
+ return((DSA *)ASN1_d2i_fp((char *(*)())
+ DSA_new,(char *(*)())d2i_DSAPublicKey, (fp),
+ (unsigned char **)(dsa)));
+ }
+
+int i2d_DSAPublicKey_fp(FILE *fp, DSA *dsa)
+ {
+ return(ASN1_i2d_fp(i2d_DSAPublicKey,fp,(unsigned char *)dsa));
+ }
#endif
DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa)
@@ -342,6 +354,19 @@ int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa)
{
return(ASN1_i2d_bio(i2d_DSAPrivateKey,bp,(unsigned char *)dsa));
}
+
+DSA *d2i_DSAPublicKey_bio(BIO *bp, DSA **dsa)
+ {
+ return((DSA *)ASN1_d2i_bio((char *(*)())
+ DSA_new,(char *(*)())d2i_DSAPublicKey, (bp),
+ (unsigned char **)(dsa)));
+ }
+
+int i2d_DSAPublicKey_bio(BIO *bp, DSA *dsa)
+ {
+ return(ASN1_i2d_bio(i2d_DSAPublicKey,bp,(unsigned char *)dsa));
+ }
+
#endif
X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn)