aboutsummaryrefslogtreecommitdiffstats
path: root/crypto/x509v3
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2006-07-24 12:39:22 +0000
committerDr. Stephen Henson <steve@openssl.org>2006-07-24 12:39:22 +0000
commitedc540211c4852c57c01743a068aecc0e0a97b5c (patch)
treeaf526d91c0c1e04d4e3f46cf36c238c29d4e920e /crypto/x509v3
parent2eed3a3cc87be91ee56a9961abcee5ea43901e56 (diff)
downloadopenssl-edc540211c4852c57c01743a068aecc0e0a97b5c.tar.gz
Cache some CRL related extensions.
Diffstat (limited to 'crypto/x509v3')
-rw-r--r--crypto/x509v3/v3_purp.c1
-rw-r--r--crypto/x509v3/x509v3.h12
2 files changed, 7 insertions, 6 deletions
diff --git a/crypto/x509v3/v3_purp.c b/crypto/x509v3/v3_purp.c
index e64a528bf7..ee2f08fe2d 100644
--- a/crypto/x509v3/v3_purp.c
+++ b/crypto/x509v3/v3_purp.c
@@ -412,6 +412,7 @@ static void x509v3_cache_extensions(X509 *x)
}
x->skid =X509_get_ext_d2i(x, NID_subject_key_identifier, NULL, NULL);
x->akid =X509_get_ext_d2i(x, NID_authority_key_identifier, NULL, NULL);
+ x->crldp = X509_get_ext_d2i(x, NID_crl_distribution_points, NULL, NULL);
for (i = 0; i < X509_get_ext_count(x); i++)
{
ex = X509_get_ext(x, i);
diff --git a/crypto/x509v3/x509v3.h b/crypto/x509v3/x509v3.h
index f42f0f7463..1e2f00ab24 100644
--- a/crypto/x509v3/x509v3.h
+++ b/crypto/x509v3/x509v3.h
@@ -222,22 +222,22 @@ union {
} name;
} DIST_POINT_NAME;
-typedef struct DIST_POINT_st {
+struct DIST_POINT_st {
DIST_POINT_NAME *distpoint;
ASN1_BIT_STRING *reasons;
GENERAL_NAMES *CRLissuer;
-} DIST_POINT;
+};
typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS;
DECLARE_STACK_OF(DIST_POINT)
DECLARE_ASN1_SET_OF(DIST_POINT)
-typedef struct AUTHORITY_KEYID_st {
+struct AUTHORITY_KEYID_st {
ASN1_OCTET_STRING *keyid;
GENERAL_NAMES *issuer;
ASN1_INTEGER *serial;
-} AUTHORITY_KEYID;
+};
/* Strong extranet structures */
@@ -329,7 +329,7 @@ typedef struct PROXY_CERT_INFO_EXTENSION_st
DECLARE_ASN1_FUNCTIONS(PROXY_POLICY)
DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION)
-typedef struct ISSUING_DIST_POINT_st
+struct ISSUING_DIST_POINT_st
{
DIST_POINT_NAME *distpoint;
int onlyuser;
@@ -337,7 +337,7 @@ typedef struct ISSUING_DIST_POINT_st
ASN1_BIT_STRING *onlysomereasons;
int indirectCRL;
int onlyattr;
- } ISSUING_DIST_POINT;
+ };
#define X509V3_conf_err(val) ERR_add_error_data(6, "section:", val->section, \
",name:", val->name, ",value:", val->value);