summaryrefslogtreecommitdiff
path: root/includes/gnutls/openpgp.h
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2003-10-03 09:42:48 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2003-10-03 09:42:48 +0000
commit8b99a69401e62d6e8721875fc9900bc887e4099f (patch)
tree8b023539206d5319a471556747d0747f1c1c7d0d /includes/gnutls/openpgp.h
parentb0a4ea9f5b29c8e04d5c22ff53f9c529419aaa65 (diff)
downloadgnutls-8b99a69401e62d6e8721875fc9900bc887e4099f.tar.gz
*** empty log message ***
Diffstat (limited to 'includes/gnutls/openpgp.h')
-rw-r--r--includes/gnutls/openpgp.h106
1 files changed, 106 insertions, 0 deletions
diff --git a/includes/gnutls/openpgp.h b/includes/gnutls/openpgp.h
new file mode 100644
index 0000000000..6767796a75
--- /dev/null
+++ b/includes/gnutls/openpgp.h
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2003 Nikos Mavroyanopoulos
+ *
+ * This file is part of GNUTLS.
+ *
+ * The GNUTLS library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+/* This file contains the types and prototypes for the OpenPGP
+ * key and private key parsing functions.
+ */
+
+#ifndef GNUTLS_OPENPGP_H
+# define GNUTLS_OPENPGP_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <gnutls/gnutls.h>
+
+struct gnutls_openpgp_key; /* object to hold (parsed) openpgp keys */
+
+typedef enum gnutls_openpgp_key_fmt { GNUTLS_X509_FMT_RAW,
+ GNUTLS_X509_FMT_BASE64 } gnutls_openpgp_key_fmt;
+
+int gnutls_openpgp_key_init( gnutls_openpgp_key* key); /* initializes the memory for gnutls_openpgp_key struct */
+void gnutls_openpgp_key_deinit(gnutls_openpgp_key key); /* frees all memory */
+
+int gnutls_openpgp_key_import(gnutls_openpgp_key key,
+ const gnutls_datum* data, gnutls_openpgp_key_fmt format);
+
+int gnutls_openpgp_key_get_fingerprint( gnutls_openpgp_key key,
+ char* result, size_t* result_size);
+
+int gnutls_openpgp_key_get_name( gnutls_openpgp_key key,
+ int idx,
+ char *buf, size_t *sizeof_buf);
+
+int gnutls_openpgp_key_get_pk_algorithm(gnutls_openpgp_key key,
+ int *r_bits);
+
+int gnutls_openpgp_key_get_version( gnutls_openpgp_key key );
+
+time_t gnutls_openpgp_key_get_creation_time( gnutls_openpgp_key key );
+time_t gnutls_openpgp_key_get_expiration_time( gnutls_openpgp_key key );
+
+int gnutls_openpgp_key_get_id( gnutls_openpgp_key key, unsigned char keyid[8]);
+
+int gnutls_openpgp_key_check_hostname( gnutls_openpgp_key key, const char *hostname);
+
+int gnutls_openpgp_key_to_xml( gnutls_openpgp_key key key, gnutls_datum *xmlkey,
+ int ext);
+
+/* Keyring stuff.
+ */
+struct gnutls_openpgp_keyring;
+
+int gnutls_openpgp_keyring_init( gnutls_openpgp_keyring* ring);
+void gnutls_openpgp_keyring_deinit(gnutls_openpgp_keyring ring);
+
+int gnutls_openpgp_keyring_import(gnutls_openpgp_keyring ring,
+ const gnutls_datum* data, gnutls_openpgp_key_fmt format);
+
+/* Trustdb functions.
+ */
+struct gnutls_openpgp_trustdb;
+
+int gnutls_openpgp_trustdb_init( gnutls_openpgp_trustdb* ring);
+void gnutls_openpgp_trustdb_deinit(gnutls_openpgp_trustdb ring);
+
+int gnutls_openpgp_trustdb_import(gnutls_openpgp_trustdb ring,
+ const gnutls_datum* data, gnutls_openpgp_key_fmt format);
+
+
+int gnutls_openpgp_key_verify_ring(
+ gnutls_openpgp_key key,
+ gnutls_openpgp_keyring ring,
+ unsigned int flags /* if not used reserved for future use,
+ unsigned int * verify /* the output of the verification */);
+
+int gnutls_openpgp_key_verify_db(
+ gnutls_openpgp_key key,
+ gnutls_openpgp_trustdb db,
+ unsigned int flags /* if not used reserved for future use,
+ unsigned int * verify /* the output of the verification */);
+
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* GNUTLS_OPENPGP_H */
+