aboutsummaryrefslogtreecommitdiffstats
path: root/src/pluto/certs.h
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2009-11-10 23:54:04 +0100
committerAndreas Steffen <andreas.steffen@strongswan.org>2009-11-10 23:54:04 +0100
commitf565d0c575f9d7e4a53e10ee447871fea21cb2e3 (patch)
tree950b57b988a21db56ded2da3892cfad4dea6b9d4 /src/pluto/certs.h
parentcc543182bcf79b306188262b5537bc55f89c0965 (diff)
downloadstrongswan-f565d0c575f9d7e4a53e10ee447871fea21cb2e3.tar.bz2
strongswan-f565d0c575f9d7e4a53e10ee447871fea21cb2e3.tar.xz
merged pluto's PGP certificate parsing with charon's
Diffstat (limited to 'src/pluto/certs.h')
-rw-r--r--src/pluto/certs.h45
1 files changed, 23 insertions, 22 deletions
diff --git a/src/pluto/certs.h b/src/pluto/certs.h
index faf820dae..b2b11eb37 100644
--- a/src/pluto/certs.h
+++ b/src/pluto/certs.h
@@ -18,9 +18,12 @@
#define _CERTS_H
#include <credentials/keys/private_key.h>
+#include <credentials/certificates/certificate.h>
+#include <credentials/certificates/x509.h>
-#include "x509.h"
-#include "pgpcert.h"
+#include <freeswan.h>
+
+#include "defs.h"
/* path definitions for private keys, end certs,
* cacerts, attribute certs and crls
@@ -43,16 +46,16 @@
#define CRL_WARNING_INTERVAL 7 /* days */
#define ACERT_WARNING_INTERVAL 1 /* day */
-/* certificate access structure
- * currently X.509 and OpenPGP certificates are supported
- */
-typedef struct {
- u_char type;
- union {
- x509cert_t *x509;
- pgpcert_t *pgp;
- } u;
-} cert_t;
+/* access structure for a pluto certificate */
+
+typedef struct cert_t cert_t;
+
+struct cert_t {
+ certificate_t *cert;
+ cert_t *next;
+ int count;
+ bool smartcard;
+};
/* used for initialization */
extern const cert_t cert_empty;
@@ -62,18 +65,16 @@ extern const cert_t cert_empty;
*/
extern bool no_cr_send;
-extern public_key_t* cert_get_public_key(const cert_t cert);
-extern chunk_t cert_get_encoding(cert_t cert);
extern private_key_t* load_private_key(char* filename, prompt_pass_t *pass,
key_type_t type);
-extern bool load_cert(char *filename, const char *label, x509_flag_t flags,
- cert_t *cert);
-extern bool load_host_cert(char *filename, cert_t *cert);
-extern bool load_ca_cert(char *filename, cert_t *cert);
-extern bool same_cert(const cert_t *a, const cert_t *b);
-extern void share_cert(cert_t cert);
-extern void release_cert(cert_t cert);
-extern void list_certs(bool utc);
+extern cert_t* load_cert(char *filename, const char *label, x509_flag_t flags);
+extern cert_t* load_host_cert(char *filename);
+extern cert_t* load_ca_cert(char *filename);
+extern cert_t* cert_add(cert_t *cert);
+extern void cert_free(cert_t *cert);
+extern void cert_share(cert_t *cert);
+extern void cert_release(cert_t *cert);
+extern void cert_list(bool utc);
#endif /* _CERTS_H */