libcryptosec
CertificateRevocationListBuilder.h
Go to the documentation of this file.
1 #ifndef CERTIFICATEREVOCATIONLISTBUILDER_H_
2 #define CERTIFICATEREVOCATIONLISTBUILDER_H_
3 
4 #include <openssl/x509.h>
5 
6 #include <string>
7 #include <vector>
8 
12 
14 #include "RDNSequence.h"
15 #include "RevokedCertificate.h"
16 
17 #include "Extension.h"
18 #include "KeyUsageExtension.h"
29 #include "CRLNumberExtension.h"
30 
33 
35 {
36 public:
38  CertificateRevocationListBuilder(std::string pemEncoded)
39  throw (EncodeException);
41  throw (EncodeException);
44  std::string getXmlEncoded();
45  std::string getXmlEncoded(std::string tab);
46  void setSerialNumber(long serial) throw (CertificationException);
53  void setVersion(long version);
54  long getVersion() throw (CertificationException);
55  void setIssuer(RDNSequence &issuer) throw (CertificationException);
56  void setIssuer(X509* issuer) throw (CertificationException);
58  void setLastUpdate(DateTime &dateTime);
60  void setNextUpdate(DateTime &dateTime);
63  throw (CertificationException);
64  void addRevokedCertificates(std::vector<RevokedCertificate> &revoked)
65  throw (CertificationException);
66  std::vector<RevokedCertificate> getRevokedCertificate();
67  CertificateRevocationList* sign(PrivateKey &privateKey, MessageDigest::Algorithm messageDigestAlgorithm)
68  throw (CertificationException);
69  X509_CRL* getX509Crl() const;
71  void addExtension(Extension& extension) throw (CertificationException);
72  void addExtensions(std::vector<Extension *> &extensions) throw (CertificationException);
73  void replaceExtension(Extension &extension) throw (CertificationException);
74  std::vector<Extension*> getExtension(Extension::Name extensionName);
75  std::vector<Extension*> getExtensions();
76  std::vector<Extension *> getUnknownExtensions();
77 
78 
79 protected:
80  X509_CRL *crl;
81 };
82 
83 #endif /*CERTIFICATEREVOCATIONLISTBUILDER_H_*/
Classe usada para representar números grandes. A limitação do tamanho do número depende da memória di...
Definition: BigInteger.h:23
Implementa a representação da data. É utilizada em certificados, LCRs. Utiliza o formato epoch (time_...
Definition: DateTime.h:27
long getVersion()
Definition: CertificateRevocationListBuilder.cpp:199
Definition: RDNSequence.h:17
X509_CRL * crl
Definition: CertificateRevocationListBuilder.h:80
void setVersion(long version)
Definition: CertificateRevocationListBuilder.cpp:194
CertificateRevocationListBuilder & operator=(const CertificateRevocationListBuilder &value)
Definition: CertificateRevocationListBuilder.cpp:364
void addRevokedCertificates(std::vector< RevokedCertificate > &revoked)
Definition: CertificateRevocationListBuilder.cpp:300
Algorithm
Definition: MessageDigest.h:29
BigInteger getSerialNumberBigInt()
Definition: CertificateRevocationListBuilder.cpp:174
std::string getXmlEncoded()
Definition: CertificateRevocationListBuilder.cpp:67
std::vector< Extension * > getExtensions()
Definition: CertificateRevocationListBuilder.cpp:480
Definition: CertificationException.h:6
std::vector< RevokedCertificate > getRevokedCertificate()
Definition: CertificateRevocationListBuilder.cpp:318
void addExtensions(std::vector< Extension *> &extensions)
Martin: 14/09/07.
Definition: CertificateRevocationListBuilder.cpp:389
X509_CRL * getX509Crl() const
Definition: CertificateRevocationListBuilder.cpp:359
Classe usada para transportar dados binários pelo sistema. Pode ser usada para conversão de texto em ...
Definition: ByteArray.h:24
void addRevokedCertificate(RevokedCertificate &revoked)
Definition: CertificateRevocationListBuilder.cpp:286
DateTime getLastUpdate()
Definition: CertificateRevocationListBuilder.cpp:263
long getSerialNumber()
Definition: CertificateRevocationListBuilder.cpp:148
Definition: PrivateKey.h:21
CertificateRevocationList * sign(PrivateKey &privateKey, MessageDigest::Algorithm messageDigestAlgorithm)
Definition: CertificateRevocationListBuilder.cpp:333
void replaceExtension(Extension &extension)
Definition: CertificateRevocationListBuilder.cpp:401
RDNSequence getIssuer()
Definition: CertificateRevocationListBuilder.cpp:245
Definition: Extension.h:14
void setSerialNumber(long serial)
Definition: CertificateRevocationListBuilder.cpp:122
Definition: EncodeException.h:8
void setLastUpdate(DateTime &dateTime)
Definition: CertificateRevocationListBuilder.cpp:250
void addExtension(Extension &extension)
Martin: 14/09/07.
Definition: CertificateRevocationListBuilder.cpp:375
Definition: BigIntegerException.h:7
Name
Definition: Extension.h:17
virtual ~CertificateRevocationListBuilder()
Definition: CertificateRevocationListBuilder.cpp:62
void setNextUpdate(DateTime &dateTime)
Definition: CertificateRevocationListBuilder.cpp:268
std::vector< Extension * > getUnknownExtensions()
Definition: CertificateRevocationListBuilder.cpp:541
DateTime getNextUpdate()
Definition: CertificateRevocationListBuilder.cpp:281
Definition: CertificateRevocationListBuilder.h:34
Definition: RevokedCertificate.h:12
Definition: CertificateRevocationList.h:32
void setIssuer(RDNSequence &issuer)
Definition: CertificateRevocationListBuilder.cpp:216
std::vector< Extension * > getExtension(Extension::Name extensionName)
Definition: CertificateRevocationListBuilder.cpp:416
CertificateRevocationListBuilder()
Definition: CertificateRevocationListBuilder.cpp:3