diff options
Diffstat (limited to 'crypto/x509/x509_lcl.h')
-rw-r--r-- | crypto/x509/x509_lcl.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/crypto/x509/x509_lcl.h b/crypto/x509/x509_lcl.h index eb5ae4382a..71c8a2af6b 100644 --- a/crypto/x509/x509_lcl.h +++ b/crypto/x509/x509_lcl.h @@ -100,3 +100,21 @@ struct X509_extension_st { ASN1_BOOLEAN critical; ASN1_OCTET_STRING *value; }; + +/* + * Method to handle CRL access. In general a CRL could be very large (several + * Mb) and can consume large amounts of resources if stored in memory by + * multiple processes. This method allows general CRL operations to be + * redirected to more efficient callbacks: for example a CRL entry database. + */ + +#define X509_CRL_METHOD_DYNAMIC 1 + +struct x509_crl_method_st { + int flags; + int (*crl_init) (X509_CRL *crl); + int (*crl_free) (X509_CRL *crl); + int (*crl_lookup) (X509_CRL *crl, X509_REVOKED **ret, + ASN1_INTEGER *ser, X509_NAME *issuer); + int (*crl_verify) (X509_CRL *crl, EVP_PKEY *pk); +}; |