*** empty log message ***
[gnutls.git] / libextra / gnutls_openpgp.h
blobe794b2d8f7a9f781ff58ac6cc2b45a75c7562fe3
1 #ifndef GNUTLS_OPENPGP_H
2 #define GNUTLS_OPENPGP_H
4 #include <auth_cert.h>
6 /* OpenCDK compatible */
7 typedef enum {
8 KEY_ATTR_NONE = 0,
9 KEY_ATTR_SHORT_KEYID = 3,
10 KEY_ATTR_KEYID = 4,
11 KEY_ATTR_FPR = 5
12 } key_attr_t;
14 int gnutls_certificate_set_openpgp_key_file(
15 GNUTLS_CERTIFICATE_CREDENTIALS res,
16 char* CERTFILE,
17 char* KEYFILE);
19 int gnutls_openpgp_count_key_names(
20 const gnutls_datum *cert );
22 int gnutls_openpgp_extract_key_name(
23 const gnutls_datum *cert,
24 int idx,
25 gnutls_openpgp_name *dn );
27 int gnutls_openpgp_extract_key_pk_algorithm(
28 const gnutls_datum *cert,
29 int *r_bits );
31 int gnutls_openpgp_extract_key_version(
32 const gnutls_datum *cert );
34 time_t gnutls_openpgp_extract_key_creation_time(
35 const gnutls_datum *cert );
37 time_t gnutls_openpgp_extract_key_expiration_time(
38 const gnutls_datum *cert );
40 int gnutls_openpgp_verify_key(
41 const char *trustdb,
42 const gnutls_datum *keyring,
43 const gnutls_datum* cert_list,
44 int cert_list_length );
46 int gnutls_openpgp_fingerprint(
47 const gnutls_datum *cert,
48 char *fpr,
49 size_t *fprlen );
51 int gnutls_openpgp_keyid(
52 const gnutls_datum *cert,
53 uint32 *keyid );
55 int gnutls_openpgp_add_keyring_mem(
56 gnutls_datum *keyring,
57 const char *data,
58 size_t len );
60 int gnutls_openpgp_add_keyring_file(
61 gnutls_datum *keyring,
62 const char *name );
64 int gnutls_certificate_set_openpgp_keyring_file(
65 GNUTLS_CERTIFICATE_CREDENTIALS c,
66 const char *file );
68 int gnutls_certificate_set_openpgp_keyring_mem(
69 GNUTLS_CERTIFICATE_CREDENTIALS c,
70 const char *file );
72 int gnutls_openpgp_get_key(
73 gnutls_datum *key,
74 const gnutls_datum *keyring,
75 key_attr_t by,
76 opaque *pattern );
78 int gnutls_openpgp_get_key_trust(
79 const char *trustdb,
80 gnutls_datum *key );
82 int gnutls_openpgp_recv_key(
83 const char *host,
84 short port,
85 uint32 keyid,
86 gnutls_datum *key );
88 /* internal */
89 int _gnutls_openpgp_cert2gnutls_cert(
90 gnutls_cert *cert,
91 gnutls_datum raw );
93 int
94 _gnutls_openpgp_request_key(
95 gnutls_datum* ret,
96 const GNUTLS_CERTIFICATE_CREDENTIALS cred,
97 opaque* key_fpr,
98 int key_fpr_size );
100 #endif /*GNUTLS_OPENPGP_H*/