Added get_attributes() method to pkcs7_t.
authorTobias Brunner <tobias@strongswan.org>
Fri, 4 May 2012 17:29:59 +0000 (19:29 +0200)
committerTobias Brunner <tobias@strongswan.org>
Mon, 11 Jun 2012 15:09:19 +0000 (17:09 +0200)
src/libstrongswan/crypto/pkcs7.c
src/libstrongswan/crypto/pkcs7.h

index a69242c..b8ee8ce 100644 (file)
@@ -681,6 +681,12 @@ METHOD(pkcs7_t, set_attributes, void,
        this->attributes = attributes;
 }
 
+METHOD(pkcs7_t, get_attributes, pkcs9_t*,
+       private_pkcs7_t *this)
+{
+       return this->attributes;
+}
+
 /**
  * build a DER-encoded issuerAndSerialNumber object
  */
@@ -990,6 +996,7 @@ static private_pkcs7_t *pkcs7_create_empty(void)
                        .create_certificate_enumerator = _create_certificate_enumerator,
                        .set_certificate = _set_certificate,
                        .set_attributes = _set_attributes,
+                       .get_attributes = _get_attributes,
                        .build_envelopedData = _build_envelopedData,
                        .build_signedData = _build_signedData,
                        .destroy = _destroy,
index 107f272..531acb3 100644 (file)
@@ -112,11 +112,18 @@ struct pkcs7_t {
        /**
         * Add authenticated attributes.
         *
-        * @param attributes    attributes to be included
+        * @param attributes    attributes to be included (gets adopted)
         */
        void (*set_attributes) (pkcs7_t *this, pkcs9_t *attributes);
 
        /**
+        * Get attributes.
+        *
+        * @reutrn                              attributes (internal data)
+        */
+       pkcs9_t *(*get_attributes) (pkcs7_t *this);
+
+       /**
         * Build a data object
         *
         * @return                              TRUE if build was successful