*** empty log message ***
[gnutls.git] / libextra / gnutls_openpgp.h
blob38e942fb580170c79248796dc14c148e8cc88e99
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 unsigned char keyid[8] );
55 int gnutls_openpgp_add_keyring_mem(
56 gnutls_datum *keyring,
57 const opaque *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 opaque *data,
71 size_t dlen );
73 int gnutls_openpgp_get_key(
74 gnutls_datum *key,
75 const gnutls_datum *keyring,
76 key_attr_t by,
77 opaque *pattern );
79 int gnutls_openpgp_get_key_trust(
80 const char *trustdb,
81 gnutls_datum *key );
83 int gnutls_openpgp_recv_key(
84 const char *host,
85 short port,
86 uint32 keyid,
87 gnutls_datum *key );
89 int gnutls_certificate_openpgp_get_as_xml(
90 const gnutls_datum *cert,
91 int ext,
92 gnutls_datum *xmlkey );
94 /* internal */
95 int _gnutls_openpgp_cert2gnutls_cert(
96 gnutls_cert *cert,
97 gnutls_datum raw );
99 int
100 _gnutls_openpgp_request_key(
101 gnutls_datum* ret,
102 const GNUTLS_CERTIFICATE_CREDENTIALS cred,
103 opaque* key_fpr,
104 int key_fpr_size );
106 #endif /*GNUTLS_OPENPGP_H*/