libcryptosec
CertificateRequest.h
Go to the documentation of this file.
1 #ifndef CERTIFICATEREQUEST_H_
2 #define CERTIFICATEREQUEST_H_
3 
4 #include <openssl/x509.h>
5 
6 #include <string>
7 #include <vector>
8 
12 #include <libcryptosec/PublicKey.h>
13 
14 #include "RDNSequence.h"
15 
16 #include "Extension.h"
17 #include "KeyUsageExtension.h"
28 
30 {
31 public:
33  CertificateRequest(X509_REQ *req);
34  CertificateRequest(std::string &pemEncoded)
35  throw (EncodeException);
36  CertificateRequest(ByteArray &derEncoded)
37  throw (EncodeException);
39  virtual ~CertificateRequest();
45  std::string getXmlEncoded();
46  std::string getXmlEncoded(std::string tab);
47  virtual std::string toXml(std::string tab = "");
48  std::string getPemEncoded()
49  throw (EncodeException);
50  ByteArray getDerEncoded() const
51  throw (EncodeException);
53  throw (MessageDigestException);
54  void setVersion(long version);
55  long getVersion();
56  void setPublicKey(PublicKey &publicKey);
60  throw (CertificationException);
61  void setSubject(RDNSequence &name);
63  void addExtension(Extension &extension);
64  void addExtensions(std::vector<Extension *> &extensions);
65  void replaceExtension(Extension &extension) throw (CertificationException);
66  std::vector<Extension *> removeExtension(Extension::Name extensionName) throw (CertificationException);
67  std::vector<Extension *> removeExtension(ObjectIdentifier extOID) throw (CertificationException);
68  std::vector<Extension *> getExtension(Extension::Name extensionName);
69  std::vector<Extension *> getExtensions();
70  std::vector<Extension *> getUnknownExtensions();
73  void sign(PrivateKey &privateKey, MessageDigest::Algorithm messageDigestAlgorithm)
74  throw (CertificationException);
75  virtual bool verify();
76  virtual bool isSigned() const throw();
77  X509_REQ* getX509Req() const;
79 protected:
80  X509_REQ *req;
81 };
82 
83 #endif /*CERTIFICATEREQUEST_H_*/
virtual bool verify()
Definition: CertificateRequest.cpp:653
Definition: MessageDigestException.h:6
Definition: PublicKey.h:19
Definition: RDNSequence.h:17
void setSubject(RDNSequence &name)
Definition: CertificateRequest.cpp:291
void setVersion(long version)
Definition: CertificateRequest.cpp:229
ByteArray getFingerPrint(MessageDigest::Algorithm algorithm) const
Definition: CertificateRequest.cpp:628
X509_REQ * req
Definition: CertificateRequest.h:80
std::vector< Extension * > getUnknownExtensions()
Definition: CertificateRequest.cpp:604
MessageDigest::Algorithm getMessageDigestAlgorithm()
Definition: CertificateRequest.cpp:239
std::string getXmlEncoded()
Definition: CertificateRequest.cpp:69
void addExtension(Extension &extension)
Definition: CertificateRequest.cpp:309
Algorithm
Definition: MessageDigest.h:29
ByteArray getPublicKeyInfo()
Definition: CertificateRequest.cpp:274
Definition: CertificationException.h:6
Definition: ObjectIdentifier.h:11
virtual std::string toXml(std::string tab="")
Definition: CertificateRequest.cpp:121
Classe usada para transportar dados binários pelo sistema. Pode ser usada para conversão de texto em ...
Definition: ByteArray.h:24
void addExtensions(std::vector< Extension *> &extensions)
Definition: CertificateRequest.cpp:333
Definition: AsymmetricKeyException.h:6
std::vector< Extension * > getExtension(Extension::Name extensionName)
Definition: CertificateRequest.cpp:491
ByteArray getDerEncoded() const
Definition: CertificateRequest.cpp:200
CertificateRequest & operator=(const CertificateRequest &value)
Definition: CertificateRequest.cpp:674
CertificateRequest()
Definition: CertificateRequest.cpp:3
long getVersion()
Definition: CertificateRequest.cpp:234
X509_REQ * getX509Req() const
Definition: CertificateRequest.cpp:669
Definition: PrivateKey.h:21
virtual bool isSigned() const
Definition: CertificateRequest.cpp:663
void replaceExtension(Extension &extension)
Definition: CertificateRequest.cpp:351
PublicKey * getPublicKey()
Definition: CertificateRequest.cpp:252
Definition: Extension.h:14
void setPublicKey(PublicKey &publicKey)
Definition: CertificateRequest.cpp:247
Definition: EncodeException.h:8
RDNSequence getSubject()
Definition: CertificateRequest.cpp:299
Definition: CertificateRequest.h:29
std::vector< Extension * > removeExtension(Extension::Name extensionName)
Definition: CertificateRequest.cpp:398
std::vector< Extension * > getExtensions()
Definition: CertificateRequest.cpp:549
Name
Definition: Extension.h:17
virtual ~CertificateRequest()
Definition: CertificateRequest.cpp:64
std::string getPemEncoded()
Definition: CertificateRequest.cpp:168
void sign(PrivateKey &privateKey, MessageDigest::Algorithm messageDigestAlgorithm)
Definition: CertificateRequest.cpp:639