XrdCryptoX509Crl.hh

Go to the documentation of this file.
00001 // $Id: XrdCryptoX509Crl.hh 22437 2008-03-04 14:35:16Z rdm $
00002 #ifndef __CRYPTO_X509CRL_H__
00003 #define __CRYPTO_X509CRL_H__
00004 /******************************************************************************/
00005 /*                                                                            */
00006 /*                   X r d C r y p t o X 5 0 9 C r l . h h                    */
00007 /*                                                                            */
00008 /*                                                                            */
00009 /* (c) 2005 G. Ganis , CERN                                                   */
00010 /*                                                                            */
00011 /******************************************************************************/
00012 
00013 /* ************************************************************************** */
00014 /*                                                                            */
00015 /* Abstract interface for X509 CRLs        .                                  */
00016 /* Allows to plug-in modules based on different crypto implementation         */
00017 /* (OpenSSL, Botan, ...)                                                      */
00018 /*                                                                            */
00019 /* ************************************************************************** */
00020 
00021 #include <XrdCrypto/XrdCryptoX509.hh>
00022 
00023 typedef void * XrdCryptoX509Crldata;
00024 
00025 // ---------------------------------------------------------------------------//
00026 //
00027 // X509 CRL interface
00028 // Describes one CRL certificate
00029 //
00030 // ---------------------------------------------------------------------------//
00031 class XrdCryptoX509Crl {
00032 public:
00033 
00034    XrdCryptoX509Crl() { }
00035    virtual ~XrdCryptoX509Crl() { }
00036 
00037    // Status
00038    virtual bool IsValid();
00039    virtual bool IsExpired(int when = 0);  // Expired
00040 
00041    // Access underlying data (in opaque form: used in chains)
00042    virtual XrdCryptoX509Crldata Opaque();
00043 
00044    // Dump information
00045    virtual void Dump();
00046    virtual const char *ParentFile();
00047 
00048    // Validity interval
00049    virtual int  LastUpdate();  // time when last updated
00050    virtual int  NextUpdate();  // time foreseen for next update
00051 
00052    // Issuer of top certificate
00053    virtual const char *Issuer();
00054    virtual const char *IssuerHash();   // hash 
00055 
00056    // Chec certificate revocation
00057    virtual bool IsRevoked(int serialnumber, int when);
00058    virtual bool IsRevoked(const char *sernum, int when);
00059 
00060    // Verify signature
00061    virtual bool Verify(XrdCryptoX509 *ref);
00062 
00063 };
00064 
00065 #endif

Generated on Tue Jul 5 14:46:34 2011 for ROOT_528-00b_version by  doxygen 1.5.1