libcryptosec
Pkcs7SignedData.h
Go to the documentation of this file.
1 #ifndef PKCS7SIGNEDDATA_H_
2 #define PKCS7SIGNEDDATA_H_
3 
4 #include "MessageDigest.h"
9 #include "Pkcs7.h"
11 
18 class Pkcs7SignedData : public Pkcs7
19 {
20 
21 public:
22 
23  struct VERIFY_ERROR
24  {
25 
26  };
27 
34  Pkcs7SignedData(PKCS7 *pkcs7) throw (Pkcs7Exception);
35 
39  virtual ~Pkcs7SignedData();
40 
45  virtual Pkcs7::Type getType();
46 
51  std::vector<Certificate *> getCertificates();
52 
53 
58  std::vector<CertificateRevocationList *> getCrls();
59 
64  //bool verify();
65 
66 
67  /*
68  * Verifica a assinatura e/ou a integridade do pacote PKCS7
69  * @return true se o pacote é íntegro e/ou suas assinaturas são válidas
70  * @param checkSignerCert true para verificar as assinaturas do pacote, false caso contrário
71  * @param trusted certificados confiáveis
72  * @param cpvr objeto resultado da verificação das assinaturas
73  * @flags opções de validação (ver CertPathValidator::ValidationFlags)
74  */
75  bool verify(bool checkSignerCert = false, vector<Certificate> trusted = vector<Certificate>(), CertPathValidatorResult **cpvr = NULL, vector<ValidationFlags>
76  flags = vector<ValidationFlags>());
77 
78  /*
79  * Função callback de tratamento de erro de validação de assinaturas
80  * @param ok resultado da verificação
81  * @param ctx contexto de certificado
82  * @return 1
83  */
84  static int callback(int ok, X509_STORE_CTX *ctx);
85 
86 
94  bool verifyAndExtract(std::ostream *out) throw (Pkcs7Exception);
95 
96 protected:
98 };
99 
100 //nao utilizado
101 //static void nodes_print(BIO *out, const char *name, STACK_OF(X509_POLICY_NODE) *nodes);
102 //static void policies_print(BIO *out, X509_STORE_CTX *ctx);
103 
104 #endif /*PKCS7SIGNEDDATA_H_*/
Definition: CertPathValidatorResult.h:22
std::vector< CertificateRevocationList * > getCrls()
Definition: Pkcs7SignedData.cpp:38
Definition: Pkcs7.h:31
PKCS7 * pkcs7
Definition: Pkcs7.h:93
static CertPathValidatorResult cpvr
Definition: Pkcs7SignedData.h:97
Definition: Pkcs7SignedData.h:18
bool verify(bool checkSignerCert=false, vector< Certificate > trusted=vector< Certificate >(), CertPathValidatorResult **cpvr=NULL, vector< ValidationFlags > flags=vector< ValidationFlags >())
Definition: Pkcs7SignedData.cpp:74
bool verifyAndExtract(std::ostream *out)
Definition: Pkcs7SignedData.cpp:175
Definition: Pkcs7SignedData.h:23
virtual Pkcs7::Type getType()
Definition: Pkcs7SignedData.cpp:17
static int callback(int ok, X509_STORE_CTX *ctx)
Definition: Pkcs7SignedData.cpp:203
Pkcs7SignedData(PKCS7 *pkcs7)
Definition: Pkcs7SignedData.cpp:5
std::vector< Certificate * > getCertificates()
Definition: Pkcs7SignedData.cpp:22
Definition: Pkcs7Exception.h:6
Type
Definition: Pkcs7.h:43
virtual ~Pkcs7SignedData()
Definition: Pkcs7SignedData.cpp:13