X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=lib%2Fcertificate.cc;fp=lib%2Fcertificate.cc;h=5230772f926788ae88499034b61c6b62d6f2c3ee;hb=fa1153b4c3237d897a871331f0f9c0f8d30ca5a1;hp=b8014033fd444c5cba0b0906581e1e9756759524;hpb=8f104b8742166c41e395375c1e740d7af6224699;p=fides
diff --git a/lib/certificate.cc b/lib/certificate.cc
index b801403..5230772 100644
--- a/lib/certificate.cc
+++ b/lib/certificate.cc
@@ -15,6 +15,7 @@
License along with this program; if not, see .
*/
+#include
#include
#include "certificate.h"
@@ -82,3 +83,30 @@ namespace Fides {
return data;
}
}
+
+// C bindings
+
+fides_certificate *fides_certificate_new(const fides_publickey *pub, struct timeval timestamp, const char *statement, const char *signature) {
+ return new Fides::Certificate(pub, timestamp, statement, signature);
+}
+
+fides_certificate *fides_certificate_new_priv(const fides_privatekey *priv, struct timeval timestamp, const char *statement) {
+ return new Fides::Certificate(priv, timestamp, statement);
+}
+
+void fides_certificate_free(fides_certificate *c) {
+ delete c;
+}
+
+
+char *fides_certificate_to_string(fides_certificate *c) {
+ return strdup(c->to_string().c_str());
+}
+
+char *fides_certificate_fingerprint(fides_certificate *c, unsigned int bits) {
+ return strdup(c->fingerprint(bits).c_str());
+}
+
+bool fides_certificate_validate(fides_certificate *c) {
+ return c->validate();
+}