]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
Implemented cert payload constructor for custom encoding types
authorMartin Willi <martin@revosec.ch>
Tue, 2 Nov 2010 11:13:03 +0000 (12:13 +0100)
committerMartin Willi <martin@revosec.ch>
Wed, 5 Jan 2011 15:45:41 +0000 (16:45 +0100)
src/libcharon/encoding/payloads/cert_payload.c
src/libcharon/encoding/payloads/cert_payload.h

index 80239f65434d13094f8204e4a9f79a15cd642216..19eb513804bb1d36f3b8468575083c0fde9b1ef6 100644 (file)
@@ -343,3 +343,15 @@ cert_payload_t *cert_payload_create_from_hash_and_url(chunk_t hash, char *url)
        return &this->public;
 }
 
+/*
+ * Described in header
+ */
+cert_payload_t *cert_payload_create_custom(cert_encoding_t type, chunk_t data)
+{
+       private_cert_payload_t *this = (private_cert_payload_t*)cert_payload_create();
+
+       this->encoding = type;
+       this->data = data;
+       this->payload_length = CERT_PAYLOAD_HEADER_LENGTH + this->data.len;
+       return &this->public;
+}
index aa1c7bf5aa7f9e2fecdc1d237cf5346aadc78b7d..c35d4919b178975b91adaf9df6d41b9477991aa3 100644 (file)
@@ -134,4 +134,13 @@ cert_payload_t *cert_payload_create_from_cert(certificate_t *cert);
  */
 cert_payload_t *cert_payload_create_from_hash_and_url(chunk_t hash, char *url);
 
+/**
+ * Creates a custom certificate payload using type and associated data.
+ *
+ * @param type                         encoding type of certificate
+ * @param url                          associated data (gets owned)
+ * @return                                     cert_payload_t object
+ */
+cert_payload_t *cert_payload_create_custom(cert_encoding_t type, chunk_t data);
+
 #endif /** CERT_PAYLOAD_H_ @}*/