summaryrefslogtreecommitdiffstats
path: root/botan/src/cert/x509/certstor.h
blob: d5004e366c2a4defd477f8a681d33e1499df7d4e (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
38
39
/*
* Certificate Store
* (C) 1999-2007 Jack Lloyd
*
* Distributed under the terms of the Botan license
*/

#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