aboutsummaryrefslogtreecommitdiffstats
path: root/src/x509/certstor.h
blob: ca0480496669992833eb47317dbb3676dbc92ad3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*************************************************
* Certificate Store Header File                  *
* (C) 1999-2007 Jack Lloyd                       *
*************************************************/

#ifndef BOTAN_CERT_STORE_H__
#define BOTAN_CERT_STORE_H__

#include <botan/x509cert.h>
#include <botan/x509_crl.h>

namespace Botan {

/*************************************************
* Certificate Store Interface                    *
*************************************************/
class BOTAN_DLL Certificate_Store
   {
   public:
      virtual std::vector<X509_Certificate>
         by_SKID(const MemoryRegion<byte>&) const = 0;

      virtual std::vector<X509_Certificate> by_name(const std::string&) const;
      virtual std::vector<X509_Certificate> by_email(const std::string&) const;
      virtual std::vector<X509_Certificate> by_dn(const X509_DN&) const;

      virtual std::vector<X509_CRL>
         get_crls_for(const X509_Certificate&) const;

      virtual Certificate_Store* clone() const = 0;

      virtual ~Certificate_Store() {}
   };

}

#endif