aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/crypto/ca.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstrongswan/crypto/ca.h')
-rw-r--r--src/libstrongswan/crypto/ca.h43
1 files changed, 39 insertions, 4 deletions
diff --git a/src/libstrongswan/crypto/ca.h b/src/libstrongswan/crypto/ca.h
index deff8305c..8b1bd3d71 100644
--- a/src/libstrongswan/crypto/ca.h
+++ b/src/libstrongswan/crypto/ca.h
@@ -26,6 +26,7 @@
typedef struct ca_info_t ca_info_t;
#include <library.h>
+#include <chunk.h>
#include "x509.h"
@@ -40,20 +41,54 @@ typedef struct ca_info_t ca_info_t;
struct ca_info_t {
/**
+ * @brief Compare two ca info records
+ *
+ * Comparison is doen via the keyid of the ca certificate
+ *
+ * @param this first ca info object
+ * @param that second ca info objct
+ * @return TRUE if a match is found
+ */
+ bool (*equals) (const ca_info_t *this, const ca_info_t* that);
+
+ /**
+ * @brief Checks if the ca info record has the same name
+ *
+ * @param this ca info object
+ * @return TRUE if a match is found
+ */
+ bool (*equals_name) (const ca_info_t *this, const char *name);
+
+ /**
+ * @brief Merges info from a secondary ca info object
+ *
+ * @param this primary ca info object
+ * @param that secondary ca info object
+ */
+ void (*add_info) (ca_info_t *this, const ca_info_t *that);
+
+ /**
* @brief Adds a CRL URI to a list
*
* @param this ca info object
- * @param uri crl uri string to be added
+ * @param uri crl uri to be added
*/
- void (*add_crluri) (ca_info_t *this, const char* uri);
+ void (*add_crluri) (ca_info_t *this, chunk_t uri);
/**
* @brief Adds a CRL URI to a list
*
* @param this ca info object
- * @param uri ocsp uri string to be added
+ * @param uri ocsp uri to be added
+ */
+ void (*add_ocspuri) (ca_info_t *this, chunk_t uri);
+
+ /**
+ * @brief Releases the name and URIs of ca info record
+ *
+ * @param this ca info to release
*/
- void (*add_ocspuri) (ca_info_t *this, const char* uri);
+ void (*release_info) (ca_info_t *this);
/**
* @brief Destroys a ca info record