summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2004-06-12 09:43:50 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2004-06-12 09:43:50 +0000
commita3620ec951821309d4d4d76e5b8b9002edfabe00 (patch)
tree2d4aadb17e466c7c0e53f363838b026f0c72dbe2
parent7d4c9035ce5fd098276c5f30620671f800514723 (diff)
downloadgnutls-a3620ec951821309d4d4d76e5b8b9002edfabe00.tar.gz
*** empty log message ***
-rw-r--r--NEWS3
-rw-r--r--includes/gnutls/openpgp.h3
-rw-r--r--libextra/openpgp/extras.c28
-rw-r--r--libextra/openpgp/openpgp.h3
-rw-r--r--libextra/openpgp/verify.c28
5 files changed, 35 insertions, 30 deletions
diff --git a/NEWS b/NEWS
index 64815d6908..9e6df4e707 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-Version 1.1.10
+Version 1.1.10 (12/06/2004)
- Added gnutls_sign_algorithm_get_name() and gnutls_pk_algorithm_get_name()
- Corrected bug in TLS renegotiation.
- Corrected bug in OpenPGP key loading using a callback.
@@ -23,6 +23,7 @@ Version 1.1.10
gnutls_rsa_export_get_pubkey() to retrieve parameters of the DH or
RSA-EXPORT key exchange.
- Some fixes in the session resuming code.
+- Added gnutls_openpgp_keyring_check_id().
Version 1.1.9 (14/04/2004)
- Added support for authority key identifier and the extended key usage
diff --git a/includes/gnutls/openpgp.h b/includes/gnutls/openpgp.h
index d18a115a3b..7d9dc237cd 100644
--- a/includes/gnutls/openpgp.h
+++ b/includes/gnutls/openpgp.h
@@ -93,6 +93,9 @@ 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);
+int gnutls_openpgp_keyring_check_id( gnutls_openpgp_keyring ring,
+ const unsigned char keyid[8], unsigned int flags);
+
/* Trustdb functions.
*/
struct gnutls_openpgp_trustdb_int; /* object to hold (parsed) openpgp trustdbs */
diff --git a/libextra/openpgp/extras.c b/libextra/openpgp/extras.c
index 41defd6678..c45dea88b6 100644
--- a/libextra/openpgp/extras.c
+++ b/libextra/openpgp/extras.c
@@ -74,6 +74,34 @@ void gnutls_openpgp_keyring_deinit(gnutls_openpgp_keyring keyring)
}
/**
+ * gnutls_openpgp_keyring_check_id - Check if a key id exists in the keyring
+ * @ring: holds the keyring to check against
+ * @keyid: will hold the keyid to check for.
+ * @flags: unused (should be 0)
+ *
+ * Check if a given key ID exists in the keyring.
+ *
+ * Returns 0 on success (if keyid exists) and a negative error code
+ * on failure.
+ */
+int gnutls_openpgp_keyring_check_id( gnutls_openpgp_keyring ring,
+ const unsigned char keyid[8], unsigned int flags)
+{
+int rc;
+cdk_pkt_pubkey_t sig_pk;
+uint32 id[2];
+
+ id[0] = _gnutls_read_uint32( keyid);
+ id[1] = _gnutls_read_uint32( &keyid[4]);
+
+ rc = cdk_keydb_get_pk( ring->hd, id, &sig_pk);
+ if (!rc)
+ return 0;
+ else
+ return GNUTLS_E_NO_CERTIFICATE_FOUND;
+}
+
+/**
* gnutls_openpgp_keyring_import - This function will import a RAW or BASE64 encoded key
* @keyring: The structure to store the parsed key.
* @data: The RAW or BASE64 encoded keyring.
diff --git a/libextra/openpgp/openpgp.h b/libextra/openpgp/openpgp.h
index 403cea6370..d4711d68c2 100644
--- a/libextra/openpgp/openpgp.h
+++ b/libextra/openpgp/openpgp.h
@@ -61,6 +61,8 @@ void gnutls_openpgp_keyring_deinit(gnutls_openpgp_keyring keyring);
int gnutls_openpgp_keyring_init(gnutls_openpgp_keyring * keyring);
int gnutls_openpgp_keyring_import(gnutls_openpgp_keyring keyring,
const gnutls_datum * data, gnutls_openpgp_key_fmt format);
+int gnutls_openpgp_keyring_check_id( gnutls_openpgp_keyring ring,
+ const unsigned char keyid[8], unsigned int flags);
void gnutls_openpgp_trustdb_deinit(gnutls_openpgp_trustdb trustdb);
int gnutls_openpgp_trustdb_init(gnutls_openpgp_trustdb * trustdb);
@@ -85,7 +87,6 @@ int _gnutls_openpgp_privkey_to_gkey(gnutls_privkey * dest,
void gnutls_openpgp_privkey_deinit(gnutls_openpgp_privkey key);
-
#else /* no opencdk */
typedef void *gnutls_openpgp_key;
diff --git a/libextra/openpgp/verify.c b/libextra/openpgp/verify.c
index 81646f4e9b..5b1d3420d7 100644
--- a/libextra/openpgp/verify.c
+++ b/libextra/openpgp/verify.c
@@ -76,34 +76,6 @@ openpgp_get_key_trust(gnutls_openpgp_trustdb trustdb,
}
/**
- * gnutls_openpgp_keyring_check_id - Check if a key id exists in the keyring
- * @ring: holds the keyring to check against
- * @keyid: will hold the keyid to check for.
- * @flags: unused (should be 0)
- *
- * Check if a given key ID exists in the keyring.
- *
- * Returns 0 on success (if keyid exists) and a negative error code
- * on failure.
- */
-int gnutls_openpgp_keyring_check_id( gnutls_openpgp_keyring ring,
- const unsigned char keyid[8], unsigned int flags)
-{
-int rc;
-cdk_pkt_pubkey_t sig_pk;
-uint32 id[2];
-
- id[0] = _gnutls_read_uint32( keyid);
- id[1] = _gnutls_read_uint32( &keyid[4]);
-
- rc = cdk_keydb_get_pk( ring->hd, id, &sig_pk);
- if (!rc)
- return 0;
- else
- return GNUTLS_E_NO_CERTIFICATE_FOUND;
-}
-
-/**
* gnutls_openpgp_key_verify_ring - Verify all signatures in the key
* @key: the structure that holds the key.
* @keyring: holds the keyring to check against