Virgil Security Crypto library  2.0.7
VirgilCMSEnvelopedData.h
1 
37 #ifndef VIRGIL_CRYPTO_VIRGIL_CMS_ENVELOPED_DATA_H
38 #define VIRGIL_CRYPTO_VIRGIL_CMS_ENVELOPED_DATA_H
39 
40 #include <vector>
41 
42 #include <virgil/crypto/foundation/asn1/VirgilAsn1Compatible.h>
43 #include <virgil/crypto/foundation/cms/VirgilCMSKeyTransRecipient.h>
44 #include <virgil/crypto/foundation/cms/VirgilCMSPasswordRecipient.h>
45 #include <virgil/crypto/foundation/cms/VirgilCMSEncryptedContent.h>
46 
47 namespace virgil { namespace crypto { namespace foundation { namespace cms {
48 
54 public:
59  std::vector<VirgilCMSKeyTransRecipient> keyTransRecipients;
64  std::vector<VirgilCMSPasswordRecipient> passwordRecipients;
70 public:
103  virtual size_t asn1Write(
106  size_t childWrittenBytes = 0) const;
107 
110 private:
111  int defineVersion() const;
112 };
113 
114 }}}}
115 
116 #endif /* VIRGIL_CRYPTO_VIRGIL_CMS_ENVELOPED_DATA_H */
This class provides methods for reading ASN.1 data structure.
Definition: VirgilAsn1Reader.h:53
This class provides interface that allow to save and restore object state in the ASN.1 structure.
Definition: VirgilAsn1Compatible.h:59
std::vector< VirgilCMSPasswordRecipient > passwordRecipients
Set of recipients identified by password.
Definition: VirgilCMSEnvelopedData.h:64
This class provides methods for writing ASN.1 data structure.
Definition: VirgilAsn1Writer.h:54
Root namespace for all Virgil Security libraries.
Definition: VirgilAsn1Compatible.h:46
virtual size_t asn1Write(virgil::crypto::foundation::asn1::VirgilAsn1Writer &asn1Writer, size_t childWrittenBytes=0) const
Write object state to the writer.
std::vector< VirgilCMSKeyTransRecipient > keyTransRecipients
Set of recipients identified by key.
Definition: VirgilCMSEnvelopedData.h:59
virtual void asn1Read(virgil::crypto::foundation::asn1::VirgilAsn1Reader &asn1Reader)
Read object state from the reader.
Data object that represent CMS structure: EncryptedContentInfo.
Definition: VirgilCMSEncryptedContent.h:49
VirgilCMSEncryptedContent encryptedContent
Encrypted content and/or meta information about it.
Definition: VirgilCMSEnvelopedData.h:69
Data object that represent CMS structure: EnvelopedData.
Definition: VirgilCMSEnvelopedData.h:53