xrootd
Loading...
Searching...
No Matches
XrdCryptoX509Crl.hh
Go to the documentation of this file.
1#ifndef __CRYPTO_X509CRL_H__
2#define __CRYPTO_X509CRL_H__
3/******************************************************************************/
4/* */
5/* X r d C r y p t o X 5 0 9 C r l . h h */
6/* */
7/* (c) 2005 G. Ganis , CERN */
8/* */
9/* This file is part of the XRootD software suite. */
10/* */
11/* XRootD is free software: you can redistribute it and/or modify it under */
12/* the terms of the GNU Lesser General Public License as published by the */
13/* Free Software Foundation, either version 3 of the License, or (at your */
14/* option) any later version. */
15/* */
16/* XRootD is distributed in the hope that it will be useful, but WITHOUT */
17/* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */
18/* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */
19/* License for more details. */
20/* */
21/* You should have received a copy of the GNU Lesser General Public License */
22/* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */
23/* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */
24/* */
25/* The copyright holder's institutional names and contributor's names may not */
26/* be used to endorse or promote products derived from this software without */
27/* specific prior written permission of the institution or contributor. */
28/* */
29/******************************************************************************/
30
31/* ************************************************************************** */
32/* */
33/* Abstract interface for X509 CRLs . */
34/* Allows to plug-in modules based on different crypto implementation */
35/* (OpenSSL, Botan, ...) */
36/* */
37/* ************************************************************************** */
38
40
41typedef void * XrdCryptoX509Crldata;
42
43// ---------------------------------------------------------------------------//
44//
45// X509 CRL interface
46// Describes one CRL certificate
47//
48// ---------------------------------------------------------------------------//
50public:
51
53 virtual ~XrdCryptoX509Crl() { }
54
55 // Status
56 virtual bool IsValid();
57 virtual bool IsExpired(int when = 0); // Expired
58
59 // Access underlying data (in opaque form: used in chains)
61
62 // Dump information
63 virtual void Dump();
64 virtual const char *ParentFile();
65
66 // Validity interval
67 virtual time_t LastUpdate(); // time when last updated
68 virtual time_t NextUpdate(); // time foreseen for next update
69
70 // Issuer of top certificate
71 virtual const char *Issuer();
72 virtual const char *IssuerHash(int); // hash
73 const char *IssuerHash() { return IssuerHash(0); } // hash
74
75 // Chec certificate revocation
76 virtual bool IsRevoked(int serialnumber, int when);
77 virtual bool IsRevoked(const char *sernum, int when);
78
79 // Verify signature
80 virtual bool Verify(XrdCryptoX509 *ref);
81
82};
83
84#endif
void * XrdCryptoX509Crldata
Definition XrdCryptoX509Crl.hh:41
Definition XrdCryptoX509Crl.hh:49
virtual const char * IssuerHash(int)
const char * IssuerHash()
Definition XrdCryptoX509Crl.hh:73
virtual time_t NextUpdate()
XrdCryptoX509Crl()
Definition XrdCryptoX509Crl.hh:52
virtual bool IsRevoked(const char *sernum, int when)
virtual XrdCryptoX509Crldata Opaque()
virtual bool Verify(XrdCryptoX509 *ref)
virtual bool IsValid()
virtual bool IsExpired(int when=0)
virtual bool IsRevoked(int serialnumber, int when)
virtual const char * ParentFile()
virtual const char * Issuer()
virtual ~XrdCryptoX509Crl()
Definition XrdCryptoX509Crl.hh:53
virtual time_t LastUpdate()
virtual void Dump()
Definition XrdCryptoX509.hh:51