monotone

monotone Mtn Source Tree

Root/botan/x509_ca.h

1/*************************************************
2* X.509 Certificate Authority Header File *
3* (C) 1999-2006 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/x509_ext.h>
12#include <botan/pkcs8.h>
13#include <botan/pkcs10.h>
14#include <botan/pubkey.h>
15
16namespace Botan {
17
18/*************************************************
19* X.509 Certificate Authority *
20*************************************************/
21class X509_CA
22 {
23 public:
24 X509_Certificate sign_request(const PKCS10_Request&, u32bit = 0) const;
25
26 X509_Certificate ca_certificate() const;
27
28 X509_CRL new_crl(u32bit = 0) const;
29 X509_CRL update_crl(const X509_CRL&, const std::vector<CRL_Entry>&,
30 u32bit = 0) const;
31
32 static X509_Certificate make_cert(PK_Signer*, const AlgorithmIdentifier&,
33 const MemoryRegion<byte>&,
34 const X509_Time&, const X509_Time&,
35 const X509_DN&, const X509_DN&,
36 const Extensions&);
37
38 X509_CA(const X509_Certificate&, const Private_Key&);
39 ~X509_CA();
40 private:
41 X509_CA(const X509_CA&) {}
42 X509_CA& operator=(const X509_CA&) { return (*this); }
43
44 X509_CRL make_crl(const std::vector<CRL_Entry>&, u32bit, u32bit) const;
45
46 AlgorithmIdentifier ca_sig_algo;
47 X509_Certificate cert;
48 PK_Signer* signer;
49 };
50
51/*************************************************
52* Choose a signing format for the key *
53*************************************************/
54PK_Signer* choose_sig_format(const Private_Key&, AlgorithmIdentifier&);
55
56
57}
58
59#endif

Archive Download this file

Branches

Tags

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