monotone

monotone Mtn Source Tree

Root/botan/x509_ca.h

1/*************************************************
2* X.509 Certificate Authority Header File *
3* (C) 1999-2005 The Botan Project *
4*************************************************/
5
6#ifndef BOTAN_X509_CA_H__
7#define BOTAN_X509_CA_H__
8
9#include <botan/x509cert.h>
10#include <botan/x509_crl.h>
11#include <botan/pkcs8.h>
12#include <botan/pkcs10.h>
13#include <botan/pubkey.h>
14
15namespace Botan {
16
17/*************************************************
18* X.509 Certificate Authority *
19*************************************************/
20class X509_CA
21 {
22 public:
23 X509_Certificate sign_request(const PKCS10_Request&, u32bit = 0) const;
24
25 X509_Certificate ca_certificate() const;
26
27 X509_CRL new_crl(u32bit = 0) const;
28 X509_CRL update_crl(const X509_CRL&, const std::vector<CRL_Entry>&,
29 u32bit = 0) const;
30
31 static X509_Certificate make_cert(PK_Signer*, const AlgorithmIdentifier&,
32 const MemoryRegion<byte>&,
33 const MemoryRegion<byte>&,
34 const X509_Time&, const X509_Time&,
35 const X509_DN&, const X509_DN&,
36 bool, u32bit, const AlternativeName&,
37 Key_Constraints,
38 const std::vector<OID>&);
39
40 static void do_ext(DER_Encoder&, DER_Encoder&,
41 const std::string&, const std::string&);
42
43 X509_CA(const X509_Certificate&, const PKCS8_PrivateKey&);
44 ~X509_CA();
45 private:
46 X509_CA(const X509_CA&) {}
47 X509_CA& operator=(const X509_CA&) { return (*this); }
48
49 X509_CRL make_crl(const std::vector<CRL_Entry>&, u32bit, u32bit) const;
50
51 AlgorithmIdentifier ca_sig_algo;
52 X509_Certificate cert;
53 PK_Signer* signer;
54 };
55
56}
57
58#endif

Archive Download this file

Branches

Tags

Quick Links:     www.monotone.ca    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status