added create_certificate_iterator() method
This commit is contained in:
@@ -618,12 +618,20 @@ static chunk_t get_data(private_pkcs7_t *this)
|
|||||||
return this->data;
|
return this->data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implements pkcs_t.create_crluri_iterator
|
||||||
|
*/
|
||||||
|
static iterator_t *create_certificate_iterator(const private_pkcs7_t *this)
|
||||||
|
{
|
||||||
|
return this->certs->create_iterator(this->certs, TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements pkcs7_t.destroy
|
* Implements pkcs7_t.destroy
|
||||||
*/
|
*/
|
||||||
static void destroy(private_pkcs7_t *this)
|
static void destroy(private_pkcs7_t *this)
|
||||||
{
|
{
|
||||||
this->certs->destroy(this->certs);
|
this->certs->destroy_offset(this->certs, offsetof(x509_t, destroy));
|
||||||
free(this->data.ptr);
|
free(this->data.ptr);
|
||||||
free(this);
|
free(this);
|
||||||
}
|
}
|
||||||
@@ -690,6 +698,7 @@ pkcs7_t *pkcs7_create_from_chunk(chunk_t chunk, u_int level)
|
|||||||
this->public.parse_signedData = (bool (*) (pkcs7_t*,x509_t*))parse_signedData;
|
this->public.parse_signedData = (bool (*) (pkcs7_t*,x509_t*))parse_signedData;
|
||||||
this->public.parse_envelopedData = (bool (*) (pkcs7_t*,chunk_t,rsa_private_key_t*))parse_envelopedData;
|
this->public.parse_envelopedData = (bool (*) (pkcs7_t*,chunk_t,rsa_private_key_t*))parse_envelopedData;
|
||||||
this->public.get_data = (chunk_t (*) (pkcs7_t*))get_data;
|
this->public.get_data = (chunk_t (*) (pkcs7_t*))get_data;
|
||||||
|
this->public.create_certificate_iterator = (iterator_t* (*) (pkcs7_t*))create_certificate_iterator;
|
||||||
this->public.destroy = (void (*) (pkcs7_t*))destroy;
|
this->public.destroy = (void (*) (pkcs7_t*))destroy;
|
||||||
|
|
||||||
if (!parse_contentInfo(chunk, level, this))
|
if (!parse_contentInfo(chunk, level, this))
|
||||||
|
|||||||
@@ -32,12 +32,10 @@ typedef struct pkcs7_t pkcs7_t;
|
|||||||
#include <library.h>
|
#include <library.h>
|
||||||
#include <crypto/x509.h>
|
#include <crypto/x509.h>
|
||||||
#include <crypto/rsa/rsa_private_key.h>
|
#include <crypto/rsa/rsa_private_key.h>
|
||||||
|
#include <utils/iterator.h>
|
||||||
/* Access structure for a PKCS#7 ContentInfo object */
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief PKCS#7 ContentInfo object.
|
* @brief PKCS#7 contentInfo object.
|
||||||
*
|
*
|
||||||
* @b Constructors:
|
* @b Constructors:
|
||||||
* -pkcs7_create_from_chunk()
|
* -pkcs7_create_from_chunk()
|
||||||
@@ -104,6 +102,14 @@ struct pkcs7_t {
|
|||||||
*/
|
*/
|
||||||
chunk_t (*get_data) (pkcs7_t *this);
|
chunk_t (*get_data) (pkcs7_t *this);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Create an iterator for the certificates.
|
||||||
|
*
|
||||||
|
* @param this calling object
|
||||||
|
* @return iterator for the certificates
|
||||||
|
*/
|
||||||
|
iterator_t *(*create_certificate_iterator) (pkcs7_t *this);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Destroys the contentInfo object.
|
* @brief Destroys the contentInfo object.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user