*/
bool (*get_attribute)(pkcs7_t *this, int oid, enumerator_t *enumerator,
chunk_t *value);
+
+ /**
+ * Create an enumerator over attached certificates.
+ *
+ * @return enumerator over certificate_t
+ */
+ enumerator_t* (*create_cert_enumerator)(pkcs7_t *this);
};
#endif /** PKCS7_H_ @}*/
return FALSE;
}
+METHOD(pkcs7_t, create_cert_enumerator, enumerator_t*,
+ private_pkcs7_signed_data_t *this)
+{
+ return this->creds->set.create_cert_enumerator(&this->creds->set,
+ CERT_ANY, KEY_ANY, NULL, FALSE);
+}
+
METHOD(container_t, get_data, bool,
private_pkcs7_signed_data_t *this, chunk_t *data)
{
.destroy = _destroy,
},
.get_attribute = _get_attribute,
+ .create_cert_enumerator = _create_cert_enumerator,
},
.creds = mem_cred_create(),
.signerinfos = linked_list_create(),