libpurple/certificate.h

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 25888
d0fdd378a635
child 27936
1763b40b18bd
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
1 /**
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
2 * @file certificate.h Public-Key Certificate API
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
3 * @ingroup core
20890
c4253dc37ac0 ChangeLog by resiak@soc.pidgin.im:
Will Thompson <resiak@pidgin.im>
parents: 19859
diff changeset
4 * @see @ref certificate-signals
20940
925d3d68b3af Doxygen @since tags for libpurple and pidgin.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 20890
diff changeset
5 * @since 2.2.0
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
6 */
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
7
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
8 /*
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
9 *
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
10 * purple
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
11 *
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
12 * Purple is the legal property of its developers, whose names are too numerous
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
13 * to list here. Please refer to the COPYRIGHT file distributed with this
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
14 * source distribution.
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
15 *
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
16 * This program is free software; you can redistribute it and/or modify
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
17 * it under the terms of the GNU General Public License as published by
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
18 * the Free Software Foundation; either version 2 of the License, or
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
19 * (at your option) any later version.
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
20 *
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
21 * This program is distributed in the hope that it will be useful,
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
24 * GNU General Public License for more details.
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
25 *
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
26 * You should have received a copy of the GNU General Public License
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
27 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19840
diff changeset
28 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
29 */
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
30
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
31 #ifndef _PURPLE_CERTIFICATE_H
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
32 #define _PURPLE_CERTIFICATE_H
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
33
22396
e0813f691fe2 felipec noticed that this include was missing.
Daniel Atallah <datallah@pidgin.im>
parents: 22001
diff changeset
34 #include <time.h>
e0813f691fe2 felipec noticed that this include was missing.
Daniel Atallah <datallah@pidgin.im>
parents: 22001
diff changeset
35
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
36 #include <glib.h>
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
37
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
38 #ifdef __cplusplus
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
39 extern "C" {
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
40 #endif /* __cplusplus */
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
41
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
42
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
43 typedef enum
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
44 {
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
45 PURPLE_CERTIFICATE_INVALID = 0,
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
46 PURPLE_CERTIFICATE_VALID = 1
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
47 } PurpleCertificateVerificationStatus;
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
48
18248
8f462eaffecd - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18247
diff changeset
49 typedef struct _PurpleCertificate PurpleCertificate;
18489
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
50 typedef struct _PurpleCertificatePool PurpleCertificatePool;
18248
8f462eaffecd - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18247
diff changeset
51 typedef struct _PurpleCertificateScheme PurpleCertificateScheme;
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
52 typedef struct _PurpleCertificateVerifier PurpleCertificateVerifier;
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
53 typedef struct _PurpleCertificateVerificationRequest PurpleCertificateVerificationRequest;
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
54
18460
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
55 /**
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
56 * Callback function for the results of a verification check
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
57 * @param st Status code
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
58 * @param userdata User-defined data
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
59 */
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
60 typedef void (*PurpleCertificateVerifiedCallback)
18473
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
61 (PurpleCertificateVerificationStatus st,
18460
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
62 gpointer userdata);
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 22396
diff changeset
63
17509
fa009823dbfd - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17508
diff changeset
64 /** A certificate instance
fa009823dbfd - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17508
diff changeset
65 *
fa009823dbfd - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17508
diff changeset
66 * An opaque data structure representing a single certificate under some
fa009823dbfd - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17508
diff changeset
67 * CertificateScheme
fa009823dbfd - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17508
diff changeset
68 */
18248
8f462eaffecd - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18247
diff changeset
69 struct _PurpleCertificate
17509
fa009823dbfd - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17508
diff changeset
70 {
fa009823dbfd - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17508
diff changeset
71 /** Scheme this certificate is under */
18248
8f462eaffecd - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18247
diff changeset
72 PurpleCertificateScheme * scheme;
17509
fa009823dbfd - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17508
diff changeset
73 /** Opaque pointer to internal data */
fa009823dbfd - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17508
diff changeset
74 gpointer data;
fa009823dbfd - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17508
diff changeset
75 };
fa009823dbfd - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17508
diff changeset
76
18489
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
77 /**
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
78 * Database for retrieval or storage of Certificates
18572
8c2c02e8fa9e Documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18571
diff changeset
79 *
18584
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
80 * More or less a hash table; all lookups and writes are controlled by a string
18572
8c2c02e8fa9e Documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18571
diff changeset
81 * key.
18489
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
82 */
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
83 struct _PurpleCertificatePool
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
84 {
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
85 /** Scheme this Pool operates for */
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
86 gchar *scheme_name;
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
87 /** Internal name to refer to the pool by */
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
88 gchar *name;
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
89
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
90 /** User-friendly name for this type
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
91 * ex: N_("SSL Servers")
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
92 * When this is displayed anywhere, it should be i18ned
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
93 * ex: _(pool->fullname)
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
94 */
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
95 gchar *fullname;
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
96
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
97 /** Internal pool data */
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
98 gpointer data;
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 22396
diff changeset
99
18489
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
100 /**
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
101 * Set up the Pool's internal state
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
102 *
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
103 * Upon calling purple_certificate_register_pool() , this function will
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
104 * be called. May be NULL.
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
105 * @return TRUE if the initialization succeeded, otherwise FALSE
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
106 */
18494
fc93e7020e83 - CertificatePool member functions no longer accept a Pool instance, as Pools are expected to be singletons
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18493
diff changeset
107 gboolean (* init)(void);
18489
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
108
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
109 /**
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
110 * Uninit the Pool's internal state
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
111 *
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
112 * Will be called by purple_certificate_unregister_pool() . May be NULL
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
113 */
18494
fc93e7020e83 - CertificatePool member functions no longer accept a Pool instance, as Pools are expected to be singletons
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18493
diff changeset
114 void (* uninit)(void);
18489
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
115
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
116 /** Check for presence of a certificate in the pool using unique ID */
18493
a4ee6630e3fb - cert_in_pool_by_id is now just cert_in_pool; finding the uniqueID of the Certificate wanted is entirely the caller's problem
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18490
diff changeset
117 gboolean (* cert_in_pool)(const gchar *id);
18489
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
118 /** Retrieve a PurpleCertificate from the pool */
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
119 PurpleCertificate * (* get_cert)(const gchar *id);
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
120 /** Add a certificate to the pool. Must overwrite any other
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
121 * certificates sharing the same ID in the pool.
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
122 * @return TRUE if the operation succeeded, otherwise FALSE
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
123 */
18571
abab131c242c - CertificatePool put_cert now accepts an id argument
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18496
diff changeset
124 gboolean (* put_cert)(const gchar *id, PurpleCertificate *crt);
18899
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
125 /** Delete a certificate from the pool */
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
126 gboolean (* delete_cert)(const gchar *id);
18661
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
127
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
128 /** Returns a list of IDs stored in the pool */
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
129 GList * (* get_idlist)(void);
19827
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
130
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
131 void (*_purple_reserved1)(void);
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
132 void (*_purple_reserved2)(void);
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
133 void (*_purple_reserved3)(void);
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
134 void (*_purple_reserved4)(void);
18489
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
135 };
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
136
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
137 /** A certificate type
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
138 *
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
139 * A CertificateScheme must implement all of the fields in the structure,
18456
1971d0938744 - Documentation correction
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18454
diff changeset
140 * and register it using purple_certificate_register_scheme()
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
141 *
17508
65f10c9a063b - Fixed a comment
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17506
diff changeset
142 * There may be only ONE CertificateScheme provided for each certificate
65f10c9a063b - Fixed a comment
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17506
diff changeset
143 * type, as specified by the "name" field.
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
144 */
18248
8f462eaffecd - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18247
diff changeset
145 struct _PurpleCertificateScheme
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
146 {
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
147 /** Name of the certificate type
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
148 * ex: "x509", "pgp", etc.
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
149 * This must be globally unique - you may not register more than one
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
150 * CertificateScheme of the same name at a time.
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
151 */
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
152 gchar * name;
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
153
18247
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
154 /** User-friendly name for this type
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
155 * ex: N_("X.509 Certificates")
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
156 * When this is displayed anywhere, it should be i18ned
18489
591ff6f5dca7 - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18481
diff changeset
157 * ex: _(scheme->fullname)
18247
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
158 */
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
159 gchar * fullname;
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
160
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
161 /** Imports a certificate from a file
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
162 *
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
163 * @param filename File to import the certificate from
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
164 * @return Pointer to the newly allocated Certificate struct
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
165 * or NULL on failure.
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
166 */
18249
21467a007ea7 - Eliminate compiler warning
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18248
diff changeset
167 PurpleCertificate * (* import_certificate)(const gchar * filename);
18247
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
168
18496
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
169 /**
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
170 * Exports a certificate to a file
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
171 *
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
172 * @param filename File to export the certificate to
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
173 * @param crt Certificate to export
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
174 * @return TRUE if the export succeeded, otherwise FALSE
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
175 * @see purple_certificate_export()
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
176 */
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
177 gboolean (* export_certificate)(const gchar *filename, PurpleCertificate *crt);
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
178
18653
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
179 /**
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
180 * Duplicates a certificate
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
181 *
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
182 * Certificates are generally assumed to be read-only, so feel free to
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
183 * do any sort of reference-counting magic you want here. If this ever
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
184 * changes, please remember to change the magic accordingly.
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
185 * @return Reference to the new copy
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
186 */
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
187 PurpleCertificate * (* copy_certificate)(PurpleCertificate *crt);
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
188
18247
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
189 /** Destroys and frees a Certificate structure
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
190 *
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
191 * Destroys a Certificate's internal data structures and calls
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
192 * free(crt)
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
193 *
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
194 * @param crt Certificate instance to be destroyed. It WILL NOT be
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
195 * destroyed if it is not of the correct
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
196 * CertificateScheme. Can be NULL
d9f7c426dbc9 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17509
diff changeset
197 */
18248
8f462eaffecd - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18247
diff changeset
198 void (* destroy_certificate)(PurpleCertificate * crt);
18454
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
199
19016
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
200 /** Find whether "crt" has a valid signature from issuer "issuer"
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
201 * @see purple_certificate_signed_by() */
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
202 gboolean (*signed_by)(PurpleCertificate *crt, PurpleCertificate *issuer);
18454
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
203 /**
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
204 * Retrieves the certificate public key fingerprint using SHA1
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
205 *
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
206 * @param crt Certificate instance
18457
e9e60bed8906 - More documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18456
diff changeset
207 * @return Binary representation of SHA1 hash - must be freed using
e9e60bed8906 - More documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18456
diff changeset
208 * g_byte_array_free()
18454
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
209 */
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
210 GByteArray * (* get_fingerprint_sha1)(PurpleCertificate *crt);
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
211
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
212 /**
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
213 * Retrieves a unique certificate identifier
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
214 *
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
215 * @param crt Certificate instance
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
216 * @return Newly allocated string that can be used to uniquely
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
217 * identify the certificate.
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
218 */
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
219 gchar * (* get_unique_id)(PurpleCertificate *crt);
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
220
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
221 /**
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
222 * Retrieves a unique identifier for the certificate's issuer
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
223 *
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
224 * @param crt Certificate instance
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
225 * @return Newly allocated string that can be used to uniquely
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
226 * identify the issuer's certificate.
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
227 */
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
228 gchar * (* get_issuer_unique_id)(PurpleCertificate *crt);
9a56a88152b9 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18453
diff changeset
229
18481
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
230 /**
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
231 * Gets the certificate subject's name
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
232 *
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
233 * For X.509, this is the "Common Name" field, as we're only using it
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
234 * for hostname verification at the moment
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
235 *
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
236 * @see purple_certificate_get_subject_name()
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
237 *
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
238 * @param crt Certificate instance
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
239 * @return Newly allocated string with the certificate subject.
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
240 */
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
241 gchar * (* get_subject_name)(PurpleCertificate *crt);
18641
4b3c12392054 - Add get_activation_time and get_expiration_time to CertificateScheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18584
diff changeset
242
18643
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
243 /**
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
244 * Check the subject name against that on the certificate
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
245 * @see purple_certificate_check_subject_name()
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
246 * @return TRUE if it is a match, else FALSE
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
247 */
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
248 gboolean (* check_subject_name)(PurpleCertificate *crt, const gchar *name);
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
249
19007
f3c3ddf37812 - Change the internal structure of activation/expiration times to match
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19000
diff changeset
250 /** Retrieve the certificate activation/expiration times */
f3c3ddf37812 - Change the internal structure of activation/expiration times to match
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19000
diff changeset
251 gboolean (* get_times)(PurpleCertificate *crt, time_t *activation, time_t *expiration);
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 22396
diff changeset
252
19827
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
253 void (*_purple_reserved1)(void);
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
254 void (*_purple_reserved2)(void);
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
255 void (*_purple_reserved3)(void);
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
256 void (*_purple_reserved4)(void);
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
257 };
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
258
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
259 /** A set of operations used to provide logic for verifying a Certificate's
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
260 * authenticity.
18461
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
261 *
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
262 * A Verifier provider must fill out these fields, then register it using
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
263 * purple_certificate_register_verifier()
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
264 *
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
265 * The (scheme_name, name) value must be unique for each Verifier - you may not
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
266 * register more than one Verifier of the same name for each Scheme
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
267 */
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
268 struct _PurpleCertificateVerifier
18460
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
269 {
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
270 /** Name of the scheme this Verifier operates on
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
271 *
18460
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
272 * The scheme will be looked up by name when a Request is generated
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
273 * using this Verifier
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
274 */
18460
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
275 gchar *scheme_name;
18461
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
276
18471
2eb86930cfaf - Reorder struct for clarity
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18470
diff changeset
277 /** Name of the Verifier - case insensitive */
2eb86930cfaf - Reorder struct for clarity
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18470
diff changeset
278 gchar *name;
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 22396
diff changeset
279
18461
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
280 /**
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
281 * Start the verification process
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
282 *
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
283 * To be called from purple_certificate_verify once it has
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
284 * constructed the request. This will use the information in the
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
285 * given VerificationRequest to check the certificate and callback
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
286 * the requester with the verification results.
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
287 *
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
288 * @param vrq Request to process
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
289 */
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
290 void (* start_verification)(PurpleCertificateVerificationRequest *vrq);
18467
6bd91f3acf84 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18466
diff changeset
291
6bd91f3acf84 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18466
diff changeset
292 /**
6bd91f3acf84 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18466
diff changeset
293 * Destroy a completed Request under this Verifier
18472
c7b825e0f75b - libpurple is now responsible for some cleanup and final deletion of a
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18471
diff changeset
294 * The function pointed to here is only responsible for cleaning up
c7b825e0f75b - libpurple is now responsible for some cleanup and final deletion of a
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18471
diff changeset
295 * whatever PurpleCertificateVerificationRequest::data points to.
c7b825e0f75b - libpurple is now responsible for some cleanup and final deletion of a
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18471
diff changeset
296 * It should not call free(vrq)
18467
6bd91f3acf84 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18466
diff changeset
297 *
6bd91f3acf84 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18466
diff changeset
298 * @param vrq Request to destroy
6bd91f3acf84 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18466
diff changeset
299 */
6bd91f3acf84 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18466
diff changeset
300 void (* destroy_request)(PurpleCertificateVerificationRequest *vrq);
19827
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
301
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
302 void (*_purple_reserved1)(void);
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
303 void (*_purple_reserved2)(void);
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
304 void (*_purple_reserved3)(void);
62c3805f723e - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19489
diff changeset
305 void (*_purple_reserved4)(void);
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
306 };
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
307
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
308 /** Structure for a single certificate request
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
309 *
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
310 * Useful for keeping track of the state of a verification that involves
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
311 * several steps
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
312 */
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
313 struct _PurpleCertificateVerificationRequest
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
314 {
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
315 /** Reference to the verification logic used */
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
316 PurpleCertificateVerifier *verifier;
18461
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
317 /** Reference to the scheme used.
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
318 *
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
319 * This is looked up from the Verifier when the Request is generated
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
320 */
18462
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
321 PurpleCertificateScheme *scheme;
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
322
18460
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
323 /**
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
324 * Name to check that the certificate is issued to
18451
304d2fa12f6a - purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18448
diff changeset
325 *
304d2fa12f6a - purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18448
diff changeset
326 * For X.509 certificates, this is the Common Name
304d2fa12f6a - purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18448
diff changeset
327 */
304d2fa12f6a - purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18448
diff changeset
328 gchar *subject_name;
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 22396
diff changeset
329
18451
304d2fa12f6a - purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18448
diff changeset
330 /** List of certificates in the chain to be verified (such as that returned by purple_ssl_get_peer_certificates )
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
331 *
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
332 * This is most relevant for X.509 certificates used in SSL sessions.
18451
304d2fa12f6a - purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18448
diff changeset
333 * The list order should be: certificate, issuer, issuer's issuer, etc.
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
334 */
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
335 GList *cert_chain;
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 22396
diff changeset
336
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
337 /** Internal data used by the Verifier code */
18460
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
338 gpointer data;
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
339
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
340 /** Function to call with the verification result */
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
341 PurpleCertificateVerifiedCallback cb;
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
342 /** Data to pass to the post-verification callback */
cceca1e961ad - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18457
diff changeset
343 gpointer cb_data;
18448
961dae46f969 - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18446
diff changeset
344 };
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
345
18465
e3f061608f7b - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18462
diff changeset
346 /*****************************************************************************/
18583
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
347 /** @name Certificate Verification Functions */
18465
e3f061608f7b - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18462
diff changeset
348 /*****************************************************************************/
e3f061608f7b - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18462
diff changeset
349 /*@{*/
e3f061608f7b - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18462
diff changeset
350
18462
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
351 /**
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
352 * Constructs a verification request and passed control to the specified Verifier
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
353 *
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
354 * It is possible that the callback will be called immediately upon calling
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
355 * this function. Plan accordingly.
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
356 *
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
357 * @param verifier Verification logic to use.
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
358 * @see purple_certificate_find_verifier()
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
359 *
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
360 * @param subject_name Name that should match the first certificate in the
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
361 * chain for the certificate to be valid. Will be strdup'd
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
362 * into the Request struct
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
363 *
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
364 * @param cert_chain Certificate chain to check. If there is more than one
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
365 * certificate in the chain (X.509), the peer's
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
366 * certificate comes first, then the issuer/signer's
18656
02c822b398d2 - purple_certificate_verify no longer takes possession of the
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18655
diff changeset
367 * certificate, etc. The whole list is duplicated into the
02c822b398d2 - purple_certificate_verify no longer takes possession of the
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18655
diff changeset
368 * Request struct.
18462
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
369 *
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
370 * @param cb Callback function to be called with whether the
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
371 * certificate was approved or not.
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
372 * @param cb_data User-defined data for the above.
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
373 */
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
374 void
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
375 purple_certificate_verify (PurpleCertificateVerifier *verifier,
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
376 const gchar *subject_name, GList *cert_chain,
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
377 PurpleCertificateVerifiedCallback cb,
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
378 gpointer cb_data);
2c6d71addbdb - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18461
diff changeset
379
18466
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
380 /**
19028
1c28409e9c5f - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
381 * Completes and destroys a VerificationRequest
1c28409e9c5f - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
382 *
1c28409e9c5f - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
383 * @param vrq Request to conclude
1c28409e9c5f - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
384 * @param st Success/failure code to pass to the request's
1c28409e9c5f - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
385 * completion callback.
1c28409e9c5f - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
386 */
1c28409e9c5f - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
387 void
1c28409e9c5f - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
388 purple_certificate_verify_complete(PurpleCertificateVerificationRequest *vrq,
1c28409e9c5f - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
389 PurpleCertificateVerificationStatus st);
1c28409e9c5f - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
390
18583
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
391 /*@}*/
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
392
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
393 /*****************************************************************************/
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
394 /** @name Certificate Functions */
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
395 /*****************************************************************************/
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
396 /*@{*/
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
397
18467
6bd91f3acf84 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18466
diff changeset
398 /**
18653
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
399 * Makes a duplicate of a certificate
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
400 *
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
401 * @param crt Instance to duplicate
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
402 * @return Pointer to new instance
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
403 */
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
404 PurpleCertificate *
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
405 purple_certificate_copy(PurpleCertificate *crt);
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
406
ac29c2efe90e - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18647
diff changeset
407 /**
18655
43b99fe59f54 - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18653
diff changeset
408 * Duplicates an entire list of certificates
43b99fe59f54 - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18653
diff changeset
409 *
43b99fe59f54 - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18653
diff changeset
410 * @param crt_list List to duplicate
43b99fe59f54 - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18653
diff changeset
411 * @return New list copy
43b99fe59f54 - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18653
diff changeset
412 */
43b99fe59f54 - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18653
diff changeset
413 GList *
43b99fe59f54 - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18653
diff changeset
414 purple_certificate_copy_list(GList *crt_list);
43b99fe59f54 - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18653
diff changeset
415
43b99fe59f54 - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18653
diff changeset
416 /**
18466
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
417 * Destroys and free()'s a Certificate
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
418 *
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
419 * @param crt Instance to destroy. May be NULL.
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
420 */
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
421 void
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
422 purple_certificate_destroy (PurpleCertificate *crt);
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
423
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
424 /**
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
425 * Destroy an entire list of Certificate instances and the containing list
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
426 *
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
427 * @param crt_list List of certificates to destroy. May be NULL.
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
428 */
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
429 void
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
430 purple_certificate_destroy_list (GList * crt_list);
881319eb171d - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18465
diff changeset
431
18473
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
432 /**
19016
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
433 * Check whether 'crt' has a valid signature made by 'issuer'
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
434 *
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
435 * @param crt Certificate instance to check signature of
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
436 * @param issuer Certificate thought to have signed 'crt'
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
437 *
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
438 * @return TRUE if 'crt' has a valid signature made by 'issuer',
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
439 * otherwise FALSE
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 22396
diff changeset
440 * @todo Find a way to give the reason (bad signature, not the issuer, etc.)
19016
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
441 */
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
442 gboolean
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
443 purple_certificate_signed_by(PurpleCertificate *crt, PurpleCertificate *issuer);
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
444
3cf632c31eb3 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
445 /**
19017
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
446 * Check that a certificate chain is valid
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
447 *
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
448 * Uses purple_certificate_signed_by() to verify that each PurpleCertificate
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
449 * in the chain carries a valid signature from the next. A single-certificate
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
450 * chain is considered to be valid.
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
451 *
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
452 * @param chain List of PurpleCertificate instances comprising the chain,
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
453 * in the order certificate, issuer, issuer's issuer, etc.
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
454 * @return TRUE if the chain is valid. See description.
21002
37217acd474c s/@TODO/@todo/ for Doxygen.
Richard Laager <rlaager@pidgin.im>
parents: 20940
diff changeset
455 * @todo Specify which certificate in the chain caused a failure
19017
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
456 */
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
457 gboolean
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
458 purple_certificate_check_signature_chain(GList *chain);
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
459
d89f7930272f - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19016
diff changeset
460 /**
18577
7b4c95fb042d - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18573
diff changeset
461 * Imports a PurpleCertificate from a file
7b4c95fb042d - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18573
diff changeset
462 *
7b4c95fb042d - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18573
diff changeset
463 * @param scheme Scheme to import under
7b4c95fb042d - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18573
diff changeset
464 * @param filename File path to import from
7b4c95fb042d - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18573
diff changeset
465 * @return Pointer to a new PurpleCertificate, or NULL on failure
7b4c95fb042d - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18573
diff changeset
466 */
7b4c95fb042d - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18573
diff changeset
467 PurpleCertificate *
18578
95080ca9610a - Fixed naming issues in previous revision
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18577
diff changeset
468 purple_certificate_import(PurpleCertificateScheme *scheme, const gchar *filename);
18577
7b4c95fb042d - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18573
diff changeset
469
7b4c95fb042d - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18573
diff changeset
470 /**
18496
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
471 * Exports a PurpleCertificate to a file
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
472 *
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
473 * @param filename File to export the certificate to
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
474 * @param crt Certificate to export
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
475 * @return TRUE if the export succeeded, otherwise FALSE
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
476 */
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
477 gboolean
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
478 purple_certificate_export(const gchar *filename, PurpleCertificate *crt);
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
479
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
480
3bb8e716482e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18494
diff changeset
481 /**
18473
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
482 * Retrieves the certificate public key fingerprint using SHA1.
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
483 *
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
484 * @param crt Certificate instance
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
485 * @return Binary representation of the hash. You are responsible for free()ing
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
486 * this.
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
487 * @see purple_base16_encode_chunked()
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
488 */
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
489 GByteArray *
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
490 purple_certificate_get_fingerprint_sha1(PurpleCertificate *crt);
a7251d502f6a - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18472
diff changeset
491
19020
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
492 /**
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
493 * Get a unique identifier for the certificate
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
494 *
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
495 * @param crt Certificate instance
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
496 * @return String representing the certificate uniquely. Must be g_free()'ed
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
497 */
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
498 gchar *
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
499 purple_certificate_get_unique_id(PurpleCertificate *crt);
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
500
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
501 /**
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
502 * Get a unique identifier for the certificate's issuer
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
503 *
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
504 * @param crt Certificate instance
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
505 * @return String representing the certificate's issuer uniquely. Must be
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
506 * g_free()'ed
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
507 */
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
508 gchar *
a9af8402bb04 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19017
diff changeset
509 purple_certificate_get_issuer_unique_id(PurpleCertificate *crt);
18481
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
510
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
511 /**
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
512 * Gets the certificate subject's name
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
513 *
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
514 * For X.509, this is the "Common Name" field, as we're only using it
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
515 * for hostname verification at the moment
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
516 *
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
517 * @param crt Certificate instance
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
518 * @return Newly allocated string with the certificate subject.
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
519 */
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
520 gchar *
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
521 purple_certificate_get_subject_name(PurpleCertificate *crt);
d220d85caaf1 - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18477
diff changeset
522
18643
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
523 /**
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
524 * Check the subject name against that on the certificate
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
525 * @param crt Certificate instance
25888
d0fdd378a635 Remove trailing whitespace
Mark Doliner <markdoliner@pidgin.im>
parents: 22396
diff changeset
526 * @param name Name to check.
18643
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
527 * @return TRUE if it is a match, else FALSE
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
528 */
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
529 gboolean
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
530 purple_certificate_check_subject_name(PurpleCertificate *crt, const gchar *name);
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
531
18647
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
532 /**
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
533 * Get the expiration/activation times.
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
534 *
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
535 * @param crt Certificate instance
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
536 * @param activation Reference to store the activation time at. May be NULL
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
537 * if you don't actually want it.
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
538 * @param expiration Reference to store the expiration time at. May be NULL
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
539 * if you don't actually want it.
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
540 * @return TRUE if the requested values were obtained, otherwise FALSE.
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
541 */
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
542 gboolean
45240511f4eb - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18646
diff changeset
543 purple_certificate_get_times(PurpleCertificate *crt, time_t *activation, time_t *expiration);
18643
a6a86ac3c219 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18642
diff changeset
544
18583
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
545 /*@}*/
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
546
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
547 /*****************************************************************************/
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
548 /** @name Certificate Pool Functions */
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
549 /*****************************************************************************/
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
550 /*@{*/
18573
c7fd4fbb4339 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18572
diff changeset
551 /**
c7fd4fbb4339 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18572
diff changeset
552 * Helper function for generating file paths in ~/.purple/certificates for
c7fd4fbb4339 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18572
diff changeset
553 * CertificatePools that use them.
c7fd4fbb4339 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18572
diff changeset
554 *
18645
805a3f4b259d - Fix overzealous escaping cause by ancestor revision
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18644
diff changeset
555 * All components will be escaped for filesystem friendliness.
805a3f4b259d - Fix overzealous escaping cause by ancestor revision
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18644
diff changeset
556 *
18573
c7fd4fbb4339 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18572
diff changeset
557 * @param pool CertificatePool to build a path for
c7fd4fbb4339 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18572
diff changeset
558 * @param id Key to look up a Certificate by. May be NULL.
c7fd4fbb4339 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18572
diff changeset
559 * @return A newly allocated path of the form
18645
805a3f4b259d - Fix overzealous escaping cause by ancestor revision
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18644
diff changeset
560 * ~/.purple/certificates/scheme_name/pool_name/unique_id
18573
c7fd4fbb4339 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18572
diff changeset
561 */
c7fd4fbb4339 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18572
diff changeset
562 gchar *
c7fd4fbb4339 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18572
diff changeset
563 purple_certificate_pool_mkpath(PurpleCertificatePool *pool, const gchar *id);
c7fd4fbb4339 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18572
diff changeset
564
18584
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
565 /**
18818
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
566 * Determines whether a pool can be used.
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
567 *
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
568 * Checks whether the associated CertificateScheme is loaded.
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
569 *
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
570 * @param pool Pool to check
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
571 *
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
572 * @return TRUE if the pool can be used, otherwise FALSE
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
573 */
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
574 gboolean
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
575 purple_certificate_pool_usable(PurpleCertificatePool *pool);
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
576
6460aa4cfa41 - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18663
diff changeset
577 /**
19000
ec4a9c38e415 - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18899
diff changeset
578 * Looks up the scheme the pool operates under
ec4a9c38e415 - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18899
diff changeset
579 *
ec4a9c38e415 - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18899
diff changeset
580 * @param pool Pool to get the scheme of
ec4a9c38e415 - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18899
diff changeset
581 *
ec4a9c38e415 - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18899
diff changeset
582 * @return Pointer to the pool's scheme, or NULL if it isn't loaded.
ec4a9c38e415 - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18899
diff changeset
583 * @see purple_certificate_pool_usable()
ec4a9c38e415 - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18899
diff changeset
584 */
ec4a9c38e415 - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18899
diff changeset
585 PurpleCertificateScheme *
ec4a9c38e415 - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18899
diff changeset
586 purple_certificate_pool_get_scheme(PurpleCertificatePool *pool);
ec4a9c38e415 - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18899
diff changeset
587
ec4a9c38e415 - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18899
diff changeset
588 /**
18584
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
589 * Check for presence of an ID in a pool.
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
590 * @param pool Pool to look in
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
591 * @param id ID to look for
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
592 * @return TRUE if the ID is in the pool, else FALSE
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
593 */
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
594 gboolean
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
595 purple_certificate_pool_contains(PurpleCertificatePool *pool, const gchar *id);
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
596
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
597 /**
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
598 * Retrieve a certificate from a pool.
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
599 * @param pool Pool to fish in
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
600 * @param id ID to look up
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
601 * @return Retrieved certificate, or NULL if it wasn't there
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
602 */
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
603 PurpleCertificate *
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
604 purple_certificate_pool_retrieve(PurpleCertificatePool *pool, const gchar *id);
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
605
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
606 /**
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
607 * Add a certificate to a pool
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
608 *
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
609 * Any pre-existing certificate of the same ID will be overwritten.
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
610 *
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
611 * @param pool Pool to add to
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
612 * @param id ID to store the certificate with
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
613 * @param crt Certificate to store
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
614 * @return TRUE if the operation succeeded, otherwise FALSE
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
615 */
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
616 gboolean
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
617 purple_certificate_pool_store(PurpleCertificatePool *pool, const gchar *id, PurpleCertificate *crt);
d4410000050f - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18583
diff changeset
618
18661
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
619 /**
18899
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
620 * Remove a certificate from a pool
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
621 *
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
622 * @param pool Pool to remove from
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
623 * @param id ID to remove
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
624 * @return TRUE if the operation succeeded, otherwise FALSE
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
625 */
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
626 gboolean
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
627 purple_certificate_pool_delete(PurpleCertificatePool *pool, const gchar *id);
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
628
45bdab2558f8 - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18818
diff changeset
629 /**
18661
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
630 * Get the list of IDs currently in the pool.
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
631 *
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
632 * @param pool Pool to enumerate
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
633 * @return GList pointing to newly-allocated id strings. Free using
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
634 * purple_certificate_pool_destroy_idlist()
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
635 */
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
636 GList *
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
637 purple_certificate_pool_get_idlist(PurpleCertificatePool *pool);
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
638
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
639 /**
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
640 * Destroys the result given by purple_certificate_pool_get_idlist()
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
641 *
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
642 * @param idlist ID List to destroy
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
643 */
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
644 void
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
645 purple_certificate_pool_destroy_idlist(GList *idlist);
a3c1e2719e45 - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18658
diff changeset
646
18465
e3f061608f7b - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18462
diff changeset
647 /*@}*/
e3f061608f7b - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18462
diff changeset
648
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
649 /*****************************************************************************/
18583
a3e6934ba7a8 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18578
diff changeset
650 /** @name Certificate Subsystem API */
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
651 /*****************************************************************************/
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
652 /*@{*/
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
653
18470
6a1deea19882 - Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18467
diff changeset
654 /**
18477
47243c0d52c6 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18473
diff changeset
655 * Initialize the certificate system
18470
6a1deea19882 - Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18467
diff changeset
656 */
6a1deea19882 - Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18467
diff changeset
657 void
18477
47243c0d52c6 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18473
diff changeset
658 purple_certificate_init(void);
47243c0d52c6 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18473
diff changeset
659
47243c0d52c6 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18473
diff changeset
660 /**
47243c0d52c6 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18473
diff changeset
661 * Un-initialize the certificate system
47243c0d52c6 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18473
diff changeset
662 */
47243c0d52c6 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18473
diff changeset
663 void
47243c0d52c6 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18473
diff changeset
664 purple_certificate_uninit(void);
18470
6a1deea19882 - Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18467
diff changeset
665
18657
4932aaf945ea - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18656
diff changeset
666 /**
4932aaf945ea - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18656
diff changeset
667 * Get the Certificate subsystem handle for signalling purposes
4932aaf945ea - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18656
diff changeset
668 */
4932aaf945ea - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18656
diff changeset
669 gpointer
4932aaf945ea - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18656
diff changeset
670 purple_certificate_get_handle(void);
4932aaf945ea - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18656
diff changeset
671
18251
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
672 /** Look up a registered CertificateScheme by name
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
673 * @param name The scheme name. Case insensitive.
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
674 * @return Pointer to the located Scheme, or NULL if it isn't found.
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
675 */
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
676 PurpleCertificateScheme *
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
677 purple_certificate_find_scheme(const gchar *name);
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
678
18658
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
679 /**
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
680 * Get all registered CertificateSchemes
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
681 *
18663
4b8a5bbdba2b - Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18661
diff changeset
682 * @return GList pointing to all registered CertificateSchemes . This value
4b8a5bbdba2b - Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18661
diff changeset
683 * is owned by libpurple
18658
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
684 */
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
685 GList *
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
686 purple_certificate_get_schemes(void);
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
687
18251
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
688 /** Register a CertificateScheme with libpurple
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
689 *
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
690 * No two schemes can be registered with the same name; this function enforces
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
691 * that.
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
692 *
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
693 * @param scheme Pointer to the scheme to register.
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
694 * @return TRUE if the scheme was successfully added, otherwise FALSE
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
695 */
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
696 gboolean
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
697 purple_certificate_register_scheme(PurpleCertificateScheme *scheme);
41e00264c49d - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18249
diff changeset
698
18446
3e79caab7088 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18251
diff changeset
699 /** Unregister a CertificateScheme from libpurple
3e79caab7088 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18251
diff changeset
700 *
3e79caab7088 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18251
diff changeset
701 * @param scheme Scheme to unregister.
3e79caab7088 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18251
diff changeset
702 * If the scheme is not registered, this is a no-op.
3e79caab7088 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18251
diff changeset
703 *
3e79caab7088 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18251
diff changeset
704 * @return TRUE if the unregister completed successfully
3e79caab7088 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18251
diff changeset
705 */
3e79caab7088 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18251
diff changeset
706 gboolean
3e79caab7088 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18251
diff changeset
707 purple_certificate_unregister_scheme(PurpleCertificateScheme *scheme);
3e79caab7088 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18251
diff changeset
708
18461
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
709 /** Look up a registered PurpleCertificateVerifier by scheme and name
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
710 * @param scheme_name Scheme name. Case insensitive.
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
711 * @param ver_name The verifier name. Case insensitive.
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
712 * @return Pointer to the located Verifier, or NULL if it isn't found.
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
713 */
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
714 PurpleCertificateVerifier *
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
715 purple_certificate_find_verifier(const gchar *scheme_name, const gchar *ver_name);
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
716
18658
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
717 /**
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
718 * Get the list of registered CertificateVerifiers
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
719 *
18663
4b8a5bbdba2b - Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18661
diff changeset
720 * @return GList of all registered PurpleCertificateVerifier. This value
4b8a5bbdba2b - Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18661
diff changeset
721 * is owned by libpurple
18658
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
722 */
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
723 GList *
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
724 purple_certificate_get_verifiers(void);
18461
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
725
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
726 /**
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
727 * Register a CertificateVerifier with libpurple
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
728 *
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
729 * @param vr Verifier to register.
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
730 * @return TRUE if register succeeded, otherwise FALSE
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
731 */
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
732 gboolean
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
733 purple_certificate_register_verifier(PurpleCertificateVerifier *vr);
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
734
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
735 /**
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
736 * Unregister a CertificateVerifier with libpurple
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
737 *
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
738 * @param vr Verifier to unregister.
18490
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
739 * @return TRUE if unregister succeeded, otherwise FALSE
18461
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
740 */
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
741 gboolean
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
742 purple_certificate_unregister_verifier(PurpleCertificateVerifier *vr);
8ae1cd456532 - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18460
diff changeset
743
18490
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
744 /** Look up a registered PurpleCertificatePool by scheme and name
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
745 * @param scheme_name Scheme name. Case insensitive.
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
746 * @param pool_name Pool name. Case insensitive.
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
747 * @return Pointer to the located Pool, or NULL if it isn't found.
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
748 */
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
749 PurpleCertificatePool *
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
750 purple_certificate_find_pool(const gchar *scheme_name, const gchar *pool_name);
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
751
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
752 /**
18658
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
753 * Get the list of registered Pools
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
754 *
18663
4b8a5bbdba2b - Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18661
diff changeset
755 * @return GList of all registered PurpleCertificatePool s. This value
4b8a5bbdba2b - Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18661
diff changeset
756 * is owned by libpurple
18658
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
757 */
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
758 GList *
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
759 purple_certificate_get_pools(void);
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
760
2cc5bc32898a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18657
diff changeset
761 /**
18490
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
762 * Register a CertificatePool with libpurple and call its init function
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
763 *
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
764 * @param pool Pool to register.
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
765 * @return TRUE if the register succeeded, otherwise FALSE
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
766 */
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
767 gboolean
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
768 purple_certificate_register_pool(PurpleCertificatePool *pool);
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
769
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
770 /**
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
771 * Unregister a CertificatePool with libpurple and call its uninit function
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
772 *
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
773 * @param pool Pool to unregister.
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
774 * @return TRUE if the unregister succeeded, otherwise FALSE
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
775 */
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
776 gboolean
691b0b16f8be - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18489
diff changeset
777 purple_certificate_unregister_pool(PurpleCertificatePool *pool);
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
778
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
779 /*@}*/
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
780
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
781
19489
772b691e901b - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19032
diff changeset
782 /**
772b691e901b - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19032
diff changeset
783 * Displays a window showing X.509 certificate information
772b691e901b - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19032
diff changeset
784 *
772b691e901b - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19032
diff changeset
785 * @param crt Certificate under an "x509" Scheme
21002
37217acd474c s/@TODO/@todo/ for Doxygen.
Richard Laager <rlaager@pidgin.im>
parents: 20940
diff changeset
786 * @todo Will break on CA certs, as they have no Common Name
19489
772b691e901b - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19032
diff changeset
787 */
772b691e901b - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19032
diff changeset
788 void
772b691e901b - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19032
diff changeset
789 purple_certificate_display_x509(PurpleCertificate *crt);
772b691e901b - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19032
diff changeset
790
22001
80abe994a8f3 Patch from Florian Quèze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21002
diff changeset
791 /**
80abe994a8f3 Patch from Florian Quèze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21002
diff changeset
792 * Add a search path for certificates.
80abe994a8f3 Patch from Florian Quèze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21002
diff changeset
793 *
80abe994a8f3 Patch from Florian Quèze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21002
diff changeset
794 * @param path Path to search for certificates.
80abe994a8f3 Patch from Florian Quèze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21002
diff changeset
795 */
80abe994a8f3 Patch from Florian Quèze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 21002
diff changeset
796 void purple_certificate_add_ca_search_path(const char *path);
19489
772b691e901b - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19032
diff changeset
797
17506
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
798 #ifdef __cplusplus
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
799 }
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
800 #endif /* __cplusplus */
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
801
eff6bdd382f3 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
802 #endif /* _PURPLE_CERTIFICATE_H */

mercurial