Mercurial > pidgin.yaz
annotate libpurple/certificate.h @ 26553:91583903b478
Migrate googleinfo:jabber handlers and add some safety checks.
Do not parse STUN servers from anyone, enforce that they must come from our
bare JID (i.e. our server on behalf of us).
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Fri, 03 Apr 2009 17:15:40 +0000 |
parents | 584063555949 |
children | 99baf778e0b9 |
rev | line source |
---|---|
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
1 /** |
668a294f9a72
- 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 |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
3 * @ingroup core |
20800
0077d3b6ecd2
Patch from nix_nix to add some links to signal documentation.
Will Thompson <will.thompson@collabora.co.uk>
parents:
19680
diff
changeset
|
4 * @see @ref certificate-signals |
20875
4511d15a8f80
Doxygen @since tags for libpurple and pidgin.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20800
diff
changeset
|
5 * @since 2.2.0 |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
6 */ |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
7 |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
8 /* |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
9 * |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
10 * purple |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
11 * |
668a294f9a72
- 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 |
668a294f9a72
- 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 |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
14 * source distribution. |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
15 * |
668a294f9a72
- 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 |
668a294f9a72
- 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 |
668a294f9a72
- 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 |
668a294f9a72
- 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. |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
20 * |
668a294f9a72
- 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, |
668a294f9a72
- 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 |
668a294f9a72
- 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 |
668a294f9a72
- 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. |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
25 * |
668a294f9a72
- 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 |
668a294f9a72
- 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 |
19680
44b4e8bd759b
The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
19661
diff
changeset
|
28 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
29 */ |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
30 |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
31 #ifndef _PURPLE_CERTIFICATE_H |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
32 #define _PURPLE_CERTIFICATE_H |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
33 |
22267
7f7c89ff5cc7
felipec noticed that this include was missing.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21647
diff
changeset
|
34 #include <time.h> |
7f7c89ff5cc7
felipec noticed that this include was missing.
Daniel Atallah <daniel.atallah@gmail.com>
parents:
21647
diff
changeset
|
35 |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
36 #include <glib.h> |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
37 |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
38 #ifdef __cplusplus |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
39 extern "C" { |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
40 #endif /* __cplusplus */ |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
41 |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
42 |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
43 typedef enum |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
44 { |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
45 PURPLE_CERTIFICATE_INVALID = 0, |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
46 PURPLE_CERTIFICATE_VALID = 1 |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
47 } PurpleCertificateVerificationStatus; |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
48 |
18189
030a2209ae96
- Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18188
diff
changeset
|
49 typedef struct _PurpleCertificate PurpleCertificate; |
18970
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
50 typedef struct _PurpleCertificatePool PurpleCertificatePool; |
18189
030a2209ae96
- Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18188
diff
changeset
|
51 typedef struct _PurpleCertificateScheme PurpleCertificateScheme; |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
52 typedef struct _PurpleCertificateVerifier PurpleCertificateVerifier; |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
53 typedef struct _PurpleCertificateVerificationRequest PurpleCertificateVerificationRequest; |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
54 |
18940
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
55 /** |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
56 * Callback function for the results of a verification check |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
57 * @param st Status code |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
58 * @param userdata User-defined data |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
59 */ |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
60 typedef void (*PurpleCertificateVerifiedCallback) |
18953
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
61 (PurpleCertificateVerificationStatus st, |
18940
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
62 gpointer userdata); |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
22267
diff
changeset
|
63 |
17641
55a0b0a42000
- Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17640
diff
changeset
|
64 /** A certificate instance |
55a0b0a42000
- Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17640
diff
changeset
|
65 * |
55a0b0a42000
- Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17640
diff
changeset
|
66 * An opaque data structure representing a single certificate under some |
55a0b0a42000
- Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17640
diff
changeset
|
67 * CertificateScheme |
55a0b0a42000
- Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17640
diff
changeset
|
68 */ |
18189
030a2209ae96
- Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18188
diff
changeset
|
69 struct _PurpleCertificate |
17641
55a0b0a42000
- Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17640
diff
changeset
|
70 { |
55a0b0a42000
- Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17640
diff
changeset
|
71 /** Scheme this certificate is under */ |
18189
030a2209ae96
- Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18188
diff
changeset
|
72 PurpleCertificateScheme * scheme; |
17641
55a0b0a42000
- Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17640
diff
changeset
|
73 /** Opaque pointer to internal data */ |
55a0b0a42000
- Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17640
diff
changeset
|
74 gpointer data; |
55a0b0a42000
- Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17640
diff
changeset
|
75 }; |
55a0b0a42000
- Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17640
diff
changeset
|
76 |
18970
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
77 /** |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
78 * Database for retrieval or storage of Certificates |
18983
bb4acabd8fac
Documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18982
diff
changeset
|
79 * |
18995
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
80 * More or less a hash table; all lookups and writes are controlled by a string |
18983
bb4acabd8fac
Documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18982
diff
changeset
|
81 * key. |
18970
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
82 */ |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
83 struct _PurpleCertificatePool |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
84 { |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
85 /** Scheme this Pool operates for */ |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
86 gchar *scheme_name; |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
87 /** Internal name to refer to the pool by */ |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
88 gchar *name; |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
89 |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
90 /** User-friendly name for this type |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
91 * ex: N_("SSL Servers") |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
92 * When this is displayed anywhere, it should be i18ned |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
93 * ex: _(pool->fullname) |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
94 */ |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
95 gchar *fullname; |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
96 |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
97 /** Internal pool data */ |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
98 gpointer data; |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
22267
diff
changeset
|
99 |
18970
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
100 /** |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
101 * Set up the Pool's internal state |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
102 * |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
103 * Upon calling purple_certificate_register_pool() , this function will |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
104 * be called. May be NULL. |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
105 * @return TRUE if the initialization succeeded, otherwise FALSE |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
106 */ |
18975
172b8d1dc2be
- CertificatePool member functions no longer accept a Pool instance, as Pools are expected to be singletons
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18974
diff
changeset
|
107 gboolean (* init)(void); |
18970
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
108 |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
109 /** |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
110 * Uninit the Pool's internal state |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
111 * |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
112 * Will be called by purple_certificate_unregister_pool() . May be NULL |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
113 */ |
18975
172b8d1dc2be
- CertificatePool member functions no longer accept a Pool instance, as Pools are expected to be singletons
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18974
diff
changeset
|
114 void (* uninit)(void); |
18970
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
115 |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
116 /** Check for presence of a certificate in the pool using unique ID */ |
18974
6b7c234b4984
- 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:
18971
diff
changeset
|
117 gboolean (* cert_in_pool)(const gchar *id); |
18970
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
118 /** Retrieve a PurpleCertificate from the pool */ |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
119 PurpleCertificate * (* get_cert)(const gchar *id); |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
120 /** Add a certificate to the pool. Must overwrite any other |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
121 * certificates sharing the same ID in the pool. |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
122 * @return TRUE if the operation succeeded, otherwise FALSE |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
123 */ |
18982
8948cd6bb8bc
- CertificatePool put_cert now accepts an id argument
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18977
diff
changeset
|
124 gboolean (* put_cert)(const gchar *id, PurpleCertificate *crt); |
19049
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
125 /** Delete a certificate from the pool */ |
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
126 gboolean (* delete_cert)(const gchar *id); |
19026
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
127 |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
128 /** Returns a list of IDs stored in the pool */ |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
129 GList * (* get_idlist)(void); |
19648
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
130 |
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
131 void (*_purple_reserved1)(void); |
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
132 void (*_purple_reserved2)(void); |
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
133 void (*_purple_reserved3)(void); |
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
134 void (*_purple_reserved4)(void); |
18970
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
135 }; |
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
136 |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
137 /** A certificate type |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
138 * |
668a294f9a72
- 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, |
18936
895831f93380
- Documentation correction
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18934
diff
changeset
|
140 * and register it using purple_certificate_register_scheme() |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
141 * |
17640
945b60f02767
- Fixed a comment
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17638
diff
changeset
|
142 * There may be only ONE CertificateScheme provided for each certificate |
945b60f02767
- Fixed a comment
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17638
diff
changeset
|
143 * type, as specified by the "name" field. |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
144 */ |
18189
030a2209ae96
- Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18188
diff
changeset
|
145 struct _PurpleCertificateScheme |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
146 { |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
147 /** Name of the certificate type |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
148 * ex: "x509", "pgp", etc. |
668a294f9a72
- 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 |
668a294f9a72
- 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. |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
151 */ |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
152 gchar * name; |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
153 |
18188
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
154 /** User-friendly name for this type |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
155 * ex: N_("X.509 Certificates") |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
156 * When this is displayed anywhere, it should be i18ned |
18970
3d63bd78675d
- Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18962
diff
changeset
|
157 * ex: _(scheme->fullname) |
18188
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
158 */ |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
159 gchar * fullname; |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
160 |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
161 /** Imports a certificate from a file |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
162 * |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
163 * @param filename File to import the certificate from |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
164 * @return Pointer to the newly allocated Certificate struct |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
165 * or NULL on failure. |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
166 */ |
18190
b2d110e9857f
- Eliminate compiler warning
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18189
diff
changeset
|
167 PurpleCertificate * (* import_certificate)(const gchar * filename); |
18188
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
168 |
18977
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
169 /** |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
170 * Exports a certificate to a file |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
171 * |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
172 * @param filename File to export the certificate to |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
173 * @param crt Certificate to export |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
174 * @return TRUE if the export succeeded, otherwise FALSE |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
175 * @see purple_certificate_export() |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
176 */ |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
177 gboolean (* export_certificate)(const gchar *filename, PurpleCertificate *crt); |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
178 |
19018
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
179 /** |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
180 * Duplicates a certificate |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
181 * |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
182 * Certificates are generally assumed to be read-only, so feel free to |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
183 * do any sort of reference-counting magic you want here. If this ever |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
184 * changes, please remember to change the magic accordingly. |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
185 * @return Reference to the new copy |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
186 */ |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
187 PurpleCertificate * (* copy_certificate)(PurpleCertificate *crt); |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
188 |
18188
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
189 /** Destroys and frees a Certificate structure |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
190 * |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
191 * Destroys a Certificate's internal data structures and calls |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
192 * free(crt) |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
193 * |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
194 * @param crt Certificate instance to be destroyed. It WILL NOT be |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
195 * destroyed if it is not of the correct |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
196 * CertificateScheme. Can be NULL |
e6271671eb24
- Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents:
17641
diff
changeset
|
197 */ |
18189
030a2209ae96
- Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18188
diff
changeset
|
198 void (* destroy_certificate)(PurpleCertificate * crt); |
18934
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
199 |
19076
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
200 /** Find whether "crt" has a valid signature from issuer "issuer" |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
201 * @see purple_certificate_signed_by() */ |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
202 gboolean (*signed_by)(PurpleCertificate *crt, PurpleCertificate *issuer); |
18934
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
203 /** |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
204 * Retrieves the certificate public key fingerprint using SHA1 |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
205 * |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
206 * @param crt Certificate instance |
18937
eac58c6caae7
- More documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18936
diff
changeset
|
207 * @return Binary representation of SHA1 hash - must be freed using |
eac58c6caae7
- More documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18936
diff
changeset
|
208 * g_byte_array_free() |
18934
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
209 */ |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
210 GByteArray * (* get_fingerprint_sha1)(PurpleCertificate *crt); |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
211 |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
212 /** |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
213 * Retrieves a unique certificate identifier |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
214 * |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
215 * @param crt Certificate instance |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
216 * @return Newly allocated string that can be used to uniquely |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
217 * identify the certificate. |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
218 */ |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
219 gchar * (* get_unique_id)(PurpleCertificate *crt); |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
220 |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
221 /** |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
222 * Retrieves a unique identifier for the certificate's issuer |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
223 * |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
224 * @param crt Certificate instance |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
225 * @return Newly allocated string that can be used to uniquely |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
226 * identify the issuer's certificate. |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
227 */ |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
228 gchar * (* get_issuer_unique_id)(PurpleCertificate *crt); |
04be1b885ef3
- Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18933
diff
changeset
|
229 |
18962
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
230 /** |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
231 * Gets the certificate subject's name |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
232 * |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
233 * For X.509, this is the "Common Name" field, as we're only using it |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
234 * for hostname verification at the moment |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
235 * |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
236 * @see purple_certificate_get_subject_name() |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
237 * |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
238 * @param crt Certificate instance |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
239 * @return Newly allocated string with the certificate subject. |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
240 */ |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
241 gchar * (* get_subject_name)(PurpleCertificate *crt); |
19006
dc60287ce426
- Add get_activation_time and get_expiration_time to CertificateScheme
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18995
diff
changeset
|
242 |
19008
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
243 /** |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
244 * Check the subject name against that on the certificate |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
245 * @see purple_certificate_check_subject_name() |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
246 * @return TRUE if it is a match, else FALSE |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
247 */ |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
248 gboolean (* check_subject_name)(PurpleCertificate *crt, const gchar *name); |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
249 |
19067
6c0aad79c4c5
- Change the internal structure of activation/expiration times to match
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19060
diff
changeset
|
250 /** Retrieve the certificate activation/expiration times */ |
6c0aad79c4c5
- Change the internal structure of activation/expiration times to match
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19060
diff
changeset
|
251 gboolean (* get_times)(PurpleCertificate *crt, time_t *activation, time_t *expiration); |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
22267
diff
changeset
|
252 |
19648
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
253 void (*_purple_reserved1)(void); |
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
254 void (*_purple_reserved2)(void); |
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
255 void (*_purple_reserved3)(void); |
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
256 void (*_purple_reserved4)(void); |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
257 }; |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
258 |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
259 /** A set of operations used to provide logic for verifying a Certificate's |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
260 * authenticity. |
18941
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
261 * |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
262 * A Verifier provider must fill out these fields, then register it using |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
263 * purple_certificate_register_verifier() |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
264 * |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
265 * The (scheme_name, name) value must be unique for each Verifier - you may not |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
266 * register more than one Verifier of the same name for each Scheme |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
267 */ |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
268 struct _PurpleCertificateVerifier |
18940
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
269 { |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
270 /** Name of the scheme this Verifier operates on |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
271 * |
18940
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
272 * The scheme will be looked up by name when a Request is generated |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
273 * using this Verifier |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
274 */ |
18940
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
275 gchar *scheme_name; |
18941
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
276 |
18951
11e88e451bfb
- Reorder struct for clarity
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18950
diff
changeset
|
277 /** Name of the Verifier - case insensitive */ |
11e88e451bfb
- Reorder struct for clarity
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18950
diff
changeset
|
278 gchar *name; |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
22267
diff
changeset
|
279 |
18941
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
280 /** |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
281 * Start the verification process |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
282 * |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
283 * To be called from purple_certificate_verify once it has |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
284 * constructed the request. This will use the information in the |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
285 * given VerificationRequest to check the certificate and callback |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
286 * the requester with the verification results. |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
287 * |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
288 * @param vrq Request to process |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
289 */ |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
290 void (* start_verification)(PurpleCertificateVerificationRequest *vrq); |
18947
3c6bf77bf7c4
- Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18946
diff
changeset
|
291 |
3c6bf77bf7c4
- Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18946
diff
changeset
|
292 /** |
3c6bf77bf7c4
- Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18946
diff
changeset
|
293 * Destroy a completed Request under this Verifier |
18952
974d110cf7b1
- libpurple is now responsible for some cleanup and final deletion of a
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18951
diff
changeset
|
294 * The function pointed to here is only responsible for cleaning up |
974d110cf7b1
- libpurple is now responsible for some cleanup and final deletion of a
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18951
diff
changeset
|
295 * whatever PurpleCertificateVerificationRequest::data points to. |
974d110cf7b1
- libpurple is now responsible for some cleanup and final deletion of a
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18951
diff
changeset
|
296 * It should not call free(vrq) |
18947
3c6bf77bf7c4
- Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18946
diff
changeset
|
297 * |
3c6bf77bf7c4
- Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18946
diff
changeset
|
298 * @param vrq Request to destroy |
3c6bf77bf7c4
- Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18946
diff
changeset
|
299 */ |
3c6bf77bf7c4
- Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18946
diff
changeset
|
300 void (* destroy_request)(PurpleCertificateVerificationRequest *vrq); |
19648
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
301 |
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
302 void (*_purple_reserved1)(void); |
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
303 void (*_purple_reserved2)(void); |
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
304 void (*_purple_reserved3)(void); |
450f4a3c4c0f
- Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19329
diff
changeset
|
305 void (*_purple_reserved4)(void); |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
306 }; |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
307 |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
308 /** Structure for a single certificate request |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
309 * |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
310 * Useful for keeping track of the state of a verification that involves |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
311 * several steps |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
312 */ |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
313 struct _PurpleCertificateVerificationRequest |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
314 { |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
315 /** Reference to the verification logic used */ |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
316 PurpleCertificateVerifier *verifier; |
18941
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
317 /** Reference to the scheme used. |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
318 * |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
319 * This is looked up from the Verifier when the Request is generated |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
320 */ |
18942
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
321 PurpleCertificateScheme *scheme; |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
322 |
18940
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
323 /** |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
324 * Name to check that the certificate is issued to |
18931
e634122cec47
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18928
diff
changeset
|
325 * |
e634122cec47
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18928
diff
changeset
|
326 * For X.509 certificates, this is the Common Name |
e634122cec47
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18928
diff
changeset
|
327 */ |
e634122cec47
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18928
diff
changeset
|
328 gchar *subject_name; |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
22267
diff
changeset
|
329 |
18931
e634122cec47
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18928
diff
changeset
|
330 /** List of certificates in the chain to be verified (such as that returned by purple_ssl_get_peer_certificates ) |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
331 * |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
332 * This is most relevant for X.509 certificates used in SSL sessions. |
18931
e634122cec47
- purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18928
diff
changeset
|
333 * The list order should be: certificate, issuer, issuer's issuer, etc. |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
334 */ |
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
335 GList *cert_chain; |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
22267
diff
changeset
|
336 |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
337 /** Internal data used by the Verifier code */ |
18940
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
338 gpointer data; |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
339 |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
340 /** Function to call with the verification result */ |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
341 PurpleCertificateVerifiedCallback cb; |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
342 /** Data to pass to the post-verification callback */ |
5fa287322a82
- Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18937
diff
changeset
|
343 gpointer cb_data; |
18928
299022c9b32d
- More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18926
diff
changeset
|
344 }; |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
345 |
18945
fa42d8fa7873
- Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18942
diff
changeset
|
346 /*****************************************************************************/ |
18994
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
347 /** @name Certificate Verification Functions */ |
18945
fa42d8fa7873
- Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18942
diff
changeset
|
348 /*****************************************************************************/ |
fa42d8fa7873
- Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18942
diff
changeset
|
349 /*@{*/ |
fa42d8fa7873
- Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18942
diff
changeset
|
350 |
18942
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
351 /** |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
352 * Constructs a verification request and passed control to the specified Verifier |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
353 * |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
354 * It is possible that the callback will be called immediately upon calling |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
355 * this function. Plan accordingly. |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
356 * |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
357 * @param verifier Verification logic to use. |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
358 * @see purple_certificate_find_verifier() |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
359 * |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
360 * @param subject_name Name that should match the first certificate in the |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
361 * chain for the certificate to be valid. Will be strdup'd |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
362 * into the Request struct |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
363 * |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
364 * @param cert_chain Certificate chain to check. If there is more than one |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
365 * certificate in the chain (X.509), the peer's |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
366 * certificate comes first, then the issuer/signer's |
19021
fcca10d0ac7d
- purple_certificate_verify no longer takes possession of the
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19020
diff
changeset
|
367 * certificate, etc. The whole list is duplicated into the |
fcca10d0ac7d
- purple_certificate_verify no longer takes possession of the
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19020
diff
changeset
|
368 * Request struct. |
18942
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
369 * |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
370 * @param cb Callback function to be called with whether the |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
371 * certificate was approved or not. |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
372 * @param cb_data User-defined data for the above. |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
373 */ |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
374 void |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
375 purple_certificate_verify (PurpleCertificateVerifier *verifier, |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
376 const gchar *subject_name, GList *cert_chain, |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
377 PurpleCertificateVerifiedCallback cb, |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
378 gpointer cb_data); |
02102eccc4be
- purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18941
diff
changeset
|
379 |
18946
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
380 /** |
19088
f5802217844d
- Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19082
diff
changeset
|
381 * Completes and destroys a VerificationRequest |
f5802217844d
- Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19082
diff
changeset
|
382 * |
f5802217844d
- Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19082
diff
changeset
|
383 * @param vrq Request to conclude |
f5802217844d
- Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19082
diff
changeset
|
384 * @param st Success/failure code to pass to the request's |
f5802217844d
- Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19082
diff
changeset
|
385 * completion callback. |
f5802217844d
- Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19082
diff
changeset
|
386 */ |
f5802217844d
- Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19082
diff
changeset
|
387 void |
f5802217844d
- Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19082
diff
changeset
|
388 purple_certificate_verify_complete(PurpleCertificateVerificationRequest *vrq, |
f5802217844d
- Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19082
diff
changeset
|
389 PurpleCertificateVerificationStatus st); |
f5802217844d
- Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19082
diff
changeset
|
390 |
18994
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
391 /*@}*/ |
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
392 |
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
393 /*****************************************************************************/ |
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
394 /** @name Certificate Functions */ |
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
395 /*****************************************************************************/ |
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
396 /*@{*/ |
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
397 |
18947
3c6bf77bf7c4
- Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18946
diff
changeset
|
398 /** |
19018
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
399 * Makes a duplicate of a certificate |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
400 * |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
401 * @param crt Instance to duplicate |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
402 * @return Pointer to new instance |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
403 */ |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
404 PurpleCertificate * |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
405 purple_certificate_copy(PurpleCertificate *crt); |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
406 |
d6f902265076
- Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19012
diff
changeset
|
407 /** |
19020
d69355001a6e
- Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19018
diff
changeset
|
408 * Duplicates an entire list of certificates |
d69355001a6e
- Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19018
diff
changeset
|
409 * |
d69355001a6e
- Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19018
diff
changeset
|
410 * @param crt_list List to duplicate |
d69355001a6e
- Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19018
diff
changeset
|
411 * @return New list copy |
d69355001a6e
- Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19018
diff
changeset
|
412 */ |
d69355001a6e
- Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19018
diff
changeset
|
413 GList * |
d69355001a6e
- Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19018
diff
changeset
|
414 purple_certificate_copy_list(GList *crt_list); |
d69355001a6e
- Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19018
diff
changeset
|
415 |
d69355001a6e
- Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19018
diff
changeset
|
416 /** |
18946
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
417 * Destroys and free()'s a Certificate |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
418 * |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
419 * @param crt Instance to destroy. May be NULL. |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
420 */ |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
421 void |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
422 purple_certificate_destroy (PurpleCertificate *crt); |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
423 |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
424 /** |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
425 * Destroy an entire list of Certificate instances and the containing list |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
426 * |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
427 * @param crt_list List of certificates to destroy. May be NULL. |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
428 */ |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
429 void |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
430 purple_certificate_destroy_list (GList * crt_list); |
617447a71ab7
- Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18945
diff
changeset
|
431 |
18953
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
432 /** |
19076
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
433 * Check whether 'crt' has a valid signature made by 'issuer' |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
434 * |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
435 * @param crt Certificate instance to check signature of |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
436 * @param issuer Certificate thought to have signed 'crt' |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
437 * |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
438 * @return TRUE if 'crt' has a valid signature made by 'issuer', |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
439 * otherwise FALSE |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
22267
diff
changeset
|
440 * @todo Find a way to give the reason (bad signature, not the issuer, etc.) |
19076
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
441 */ |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
442 gboolean |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
443 purple_certificate_signed_by(PurpleCertificate *crt, PurpleCertificate *issuer); |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
444 |
daa68185a018
- Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19067
diff
changeset
|
445 /** |
19077
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
446 * Check that a certificate chain is valid |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
447 * |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
448 * Uses purple_certificate_signed_by() to verify that each PurpleCertificate |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
449 * in the chain carries a valid signature from the next. A single-certificate |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
450 * chain is considered to be valid. |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
451 * |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
452 * @param chain List of PurpleCertificate instances comprising the chain, |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
453 * in the order certificate, issuer, issuer's issuer, etc. |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
454 * @return TRUE if the chain is valid. See description. |
20927
3d704e6bd08a
s/@TODO/@todo/ for Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
20875
diff
changeset
|
455 * @todo Specify which certificate in the chain caused a failure |
19077
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
456 */ |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
457 gboolean |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
458 purple_certificate_check_signature_chain(GList *chain); |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
459 |
8275c3cbc9da
- Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19076
diff
changeset
|
460 /** |
18988
4189fc3befba
- Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18984
diff
changeset
|
461 * Imports a PurpleCertificate from a file |
4189fc3befba
- Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18984
diff
changeset
|
462 * |
4189fc3befba
- Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18984
diff
changeset
|
463 * @param scheme Scheme to import under |
4189fc3befba
- Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18984
diff
changeset
|
464 * @param filename File path to import from |
4189fc3befba
- Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18984
diff
changeset
|
465 * @return Pointer to a new PurpleCertificate, or NULL on failure |
4189fc3befba
- Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18984
diff
changeset
|
466 */ |
4189fc3befba
- Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18984
diff
changeset
|
467 PurpleCertificate * |
18989
43d1ee6a3ed5
- Fixed naming issues in previous revision
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18988
diff
changeset
|
468 purple_certificate_import(PurpleCertificateScheme *scheme, const gchar *filename); |
18988
4189fc3befba
- Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18984
diff
changeset
|
469 |
4189fc3befba
- Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18984
diff
changeset
|
470 /** |
18977
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
471 * Exports a PurpleCertificate to a file |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
472 * |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
473 * @param filename File to export the certificate to |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
474 * @param crt Certificate to export |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
475 * @return TRUE if the export succeeded, otherwise FALSE |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
476 */ |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
477 gboolean |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
478 purple_certificate_export(const gchar *filename, PurpleCertificate *crt); |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
479 |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
480 |
31bdbb82de7e
- Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18975
diff
changeset
|
481 /** |
18953
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
482 * Retrieves the certificate public key fingerprint using SHA1. |
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
483 * |
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
484 * @param crt Certificate instance |
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
485 * @return Binary representation of the hash. You are responsible for free()ing |
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
486 * this. |
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
487 * @see purple_base16_encode_chunked() |
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
488 */ |
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
489 GByteArray * |
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
490 purple_certificate_get_fingerprint_sha1(PurpleCertificate *crt); |
89b32569890c
- Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18952
diff
changeset
|
491 |
19080
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
492 /** |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
493 * Get a unique identifier for the certificate |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
494 * |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
495 * @param crt Certificate instance |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
496 * @return String representing the certificate uniquely. Must be g_free()'ed |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
497 */ |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
498 gchar * |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
499 purple_certificate_get_unique_id(PurpleCertificate *crt); |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
500 |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
501 /** |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
502 * Get a unique identifier for the certificate's issuer |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
503 * |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
504 * @param crt Certificate instance |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
505 * @return String representing the certificate's issuer uniquely. Must be |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
506 * g_free()'ed |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
507 */ |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
508 gchar * |
3bdede51c007
- Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19077
diff
changeset
|
509 purple_certificate_get_issuer_unique_id(PurpleCertificate *crt); |
18962
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
510 |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
511 /** |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
512 * Gets the certificate subject's name |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
513 * |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
514 * For X.509, this is the "Common Name" field, as we're only using it |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
515 * for hostname verification at the moment |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
516 * |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
517 * @param crt Certificate instance |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
518 * @return Newly allocated string with the certificate subject. |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
519 */ |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
520 gchar * |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
521 purple_certificate_get_subject_name(PurpleCertificate *crt); |
fcd05c39803e
- Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18957
diff
changeset
|
522 |
19008
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
523 /** |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
524 * Check the subject name against that on the certificate |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
525 * @param crt Certificate instance |
25415
584063555949
Remove trailing whitespace
Mark Doliner <mark@kingant.net>
parents:
22267
diff
changeset
|
526 * @param name Name to check. |
19008
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
527 * @return TRUE if it is a match, else FALSE |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
528 */ |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
529 gboolean |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
530 purple_certificate_check_subject_name(PurpleCertificate *crt, const gchar *name); |
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
531 |
19012
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
532 /** |
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
533 * Get the expiration/activation times. |
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
534 * |
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
535 * @param crt Certificate instance |
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
536 * @param activation Reference to store the activation time at. May be NULL |
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
537 * if you don't actually want it. |
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
538 * @param expiration Reference to store the expiration time at. May be NULL |
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
539 * if you don't actually want it. |
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
540 * @return TRUE if the requested values were obtained, otherwise FALSE. |
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
541 */ |
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
542 gboolean |
b1090cbfc286
- Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19011
diff
changeset
|
543 purple_certificate_get_times(PurpleCertificate *crt, time_t *activation, time_t *expiration); |
19008
7fd9bd55f8d0
- Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19007
diff
changeset
|
544 |
18994
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
545 /*@}*/ |
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
546 |
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
547 /*****************************************************************************/ |
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
548 /** @name Certificate Pool Functions */ |
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
549 /*****************************************************************************/ |
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
550 /*@{*/ |
18984
2b4150624cf2
- Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18983
diff
changeset
|
551 /** |
2b4150624cf2
- Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18983
diff
changeset
|
552 * Helper function for generating file paths in ~/.purple/certificates for |
2b4150624cf2
- Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18983
diff
changeset
|
553 * CertificatePools that use them. |
2b4150624cf2
- Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18983
diff
changeset
|
554 * |
19010
0d4b84820390
- Fix overzealous escaping cause by ancestor revision
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19009
diff
changeset
|
555 * All components will be escaped for filesystem friendliness. |
0d4b84820390
- Fix overzealous escaping cause by ancestor revision
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19009
diff
changeset
|
556 * |
18984
2b4150624cf2
- Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18983
diff
changeset
|
557 * @param pool CertificatePool to build a path for |
2b4150624cf2
- Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18983
diff
changeset
|
558 * @param id Key to look up a Certificate by. May be NULL. |
2b4150624cf2
- Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18983
diff
changeset
|
559 * @return A newly allocated path of the form |
19010
0d4b84820390
- Fix overzealous escaping cause by ancestor revision
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19009
diff
changeset
|
560 * ~/.purple/certificates/scheme_name/pool_name/unique_id |
18984
2b4150624cf2
- Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18983
diff
changeset
|
561 */ |
2b4150624cf2
- Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18983
diff
changeset
|
562 gchar * |
2b4150624cf2
- Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18983
diff
changeset
|
563 purple_certificate_pool_mkpath(PurpleCertificatePool *pool, const gchar *id); |
2b4150624cf2
- Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18983
diff
changeset
|
564 |
18995
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
565 /** |
19034
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
566 * Determines whether a pool can be used. |
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
567 * |
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
568 * Checks whether the associated CertificateScheme is loaded. |
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
569 * |
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
570 * @param pool Pool to check |
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
571 * |
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
572 * @return TRUE if the pool can be used, otherwise FALSE |
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
573 */ |
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
574 gboolean |
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
575 purple_certificate_pool_usable(PurpleCertificatePool *pool); |
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
576 |
8b627694bf4a
- Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19028
diff
changeset
|
577 /** |
19060
c79b54f03f9d
- Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19049
diff
changeset
|
578 * Looks up the scheme the pool operates under |
c79b54f03f9d
- Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19049
diff
changeset
|
579 * |
c79b54f03f9d
- Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19049
diff
changeset
|
580 * @param pool Pool to get the scheme of |
c79b54f03f9d
- Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19049
diff
changeset
|
581 * |
c79b54f03f9d
- Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19049
diff
changeset
|
582 * @return Pointer to the pool's scheme, or NULL if it isn't loaded. |
c79b54f03f9d
- Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19049
diff
changeset
|
583 * @see purple_certificate_pool_usable() |
c79b54f03f9d
- Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19049
diff
changeset
|
584 */ |
c79b54f03f9d
- Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19049
diff
changeset
|
585 PurpleCertificateScheme * |
c79b54f03f9d
- Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19049
diff
changeset
|
586 purple_certificate_pool_get_scheme(PurpleCertificatePool *pool); |
c79b54f03f9d
- Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19049
diff
changeset
|
587 |
c79b54f03f9d
- Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19049
diff
changeset
|
588 /** |
18995
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
589 * Check for presence of an ID in a pool. |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
590 * @param pool Pool to look in |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
591 * @param id ID to look for |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
592 * @return TRUE if the ID is in the pool, else FALSE |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
593 */ |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
594 gboolean |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
595 purple_certificate_pool_contains(PurpleCertificatePool *pool, const gchar *id); |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
596 |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
597 /** |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
598 * Retrieve a certificate from a pool. |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
599 * @param pool Pool to fish in |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
600 * @param id ID to look up |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
601 * @return Retrieved certificate, or NULL if it wasn't there |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
602 */ |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
603 PurpleCertificate * |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
604 purple_certificate_pool_retrieve(PurpleCertificatePool *pool, const gchar *id); |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
605 |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
606 /** |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
607 * Add a certificate to a pool |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
608 * |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
609 * Any pre-existing certificate of the same ID will be overwritten. |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
610 * |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
611 * @param pool Pool to add to |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
612 * @param id ID to store the certificate with |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
613 * @param crt Certificate to store |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
614 * @return TRUE if the operation succeeded, otherwise FALSE |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
615 */ |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
616 gboolean |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
617 purple_certificate_pool_store(PurpleCertificatePool *pool, const gchar *id, PurpleCertificate *crt); |
47b06daea9d1
- Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18994
diff
changeset
|
618 |
19026
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
619 /** |
19049
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
620 * Remove a certificate from a pool |
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
621 * |
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
622 * @param pool Pool to remove from |
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
623 * @param id ID to remove |
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
624 * @return TRUE if the operation succeeded, otherwise FALSE |
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
625 */ |
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
626 gboolean |
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
627 purple_certificate_pool_delete(PurpleCertificatePool *pool, const gchar *id); |
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
628 |
8cbc110456ac
- Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19034
diff
changeset
|
629 /** |
19026
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
630 * Get the list of IDs currently in the pool. |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
631 * |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
632 * @param pool Pool to enumerate |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
633 * @return GList pointing to newly-allocated id strings. Free using |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
634 * purple_certificate_pool_destroy_idlist() |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
635 */ |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
636 GList * |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
637 purple_certificate_pool_get_idlist(PurpleCertificatePool *pool); |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
638 |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
639 /** |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
640 * Destroys the result given by purple_certificate_pool_get_idlist() |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
641 * |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
642 * @param idlist ID List to destroy |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
643 */ |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
644 void |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
645 purple_certificate_pool_destroy_idlist(GList *idlist); |
b3acaf46d9ad
- Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19023
diff
changeset
|
646 |
18945
fa42d8fa7873
- Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18942
diff
changeset
|
647 /*@}*/ |
fa42d8fa7873
- Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18942
diff
changeset
|
648 |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
649 /*****************************************************************************/ |
18994
bf23d58ec9c3
- Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18989
diff
changeset
|
650 /** @name Certificate Subsystem API */ |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
651 /*****************************************************************************/ |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
652 /*@{*/ |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
653 |
18950
f78a9efa9eaf
- Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18947
diff
changeset
|
654 /** |
18957
9205841eed06
- Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18953
diff
changeset
|
655 * Initialize the certificate system |
18950
f78a9efa9eaf
- Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18947
diff
changeset
|
656 */ |
f78a9efa9eaf
- Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18947
diff
changeset
|
657 void |
18957
9205841eed06
- Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18953
diff
changeset
|
658 purple_certificate_init(void); |
9205841eed06
- Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18953
diff
changeset
|
659 |
9205841eed06
- Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18953
diff
changeset
|
660 /** |
9205841eed06
- Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18953
diff
changeset
|
661 * Un-initialize the certificate system |
9205841eed06
- Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18953
diff
changeset
|
662 */ |
9205841eed06
- Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18953
diff
changeset
|
663 void |
9205841eed06
- Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18953
diff
changeset
|
664 purple_certificate_uninit(void); |
18950
f78a9efa9eaf
- Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18947
diff
changeset
|
665 |
19022
1f07f96dc1ce
- Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19021
diff
changeset
|
666 /** |
1f07f96dc1ce
- Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19021
diff
changeset
|
667 * Get the Certificate subsystem handle for signalling purposes |
1f07f96dc1ce
- Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19021
diff
changeset
|
668 */ |
1f07f96dc1ce
- Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19021
diff
changeset
|
669 gpointer |
1f07f96dc1ce
- Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19021
diff
changeset
|
670 purple_certificate_get_handle(void); |
1f07f96dc1ce
- Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19021
diff
changeset
|
671 |
18192
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
672 /** Look up a registered CertificateScheme by name |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
673 * @param name The scheme name. Case insensitive. |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
674 * @return Pointer to the located Scheme, or NULL if it isn't found. |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
675 */ |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
676 PurpleCertificateScheme * |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
677 purple_certificate_find_scheme(const gchar *name); |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
678 |
19023
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
679 /** |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
680 * Get all registered CertificateSchemes |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
681 * |
19028
86403f33720b
- Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19026
diff
changeset
|
682 * @return GList pointing to all registered CertificateSchemes . This value |
86403f33720b
- Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19026
diff
changeset
|
683 * is owned by libpurple |
19023
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
684 */ |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
685 GList * |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
686 purple_certificate_get_schemes(void); |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
687 |
18192
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
688 /** Register a CertificateScheme with libpurple |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
689 * |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
690 * No two schemes can be registered with the same name; this function enforces |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
691 * that. |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
692 * |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
693 * @param scheme Pointer to the scheme to register. |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
694 * @return TRUE if the scheme was successfully added, otherwise FALSE |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
695 */ |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
696 gboolean |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
697 purple_certificate_register_scheme(PurpleCertificateScheme *scheme); |
dc7e7b8bdc8c
- Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18190
diff
changeset
|
698 |
18926
8c4d52bc0319
- Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18192
diff
changeset
|
699 /** Unregister a CertificateScheme from libpurple |
8c4d52bc0319
- Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18192
diff
changeset
|
700 * |
8c4d52bc0319
- Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18192
diff
changeset
|
701 * @param scheme Scheme to unregister. |
8c4d52bc0319
- Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18192
diff
changeset
|
702 * If the scheme is not registered, this is a no-op. |
8c4d52bc0319
- Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18192
diff
changeset
|
703 * |
8c4d52bc0319
- Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18192
diff
changeset
|
704 * @return TRUE if the unregister completed successfully |
8c4d52bc0319
- Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18192
diff
changeset
|
705 */ |
8c4d52bc0319
- Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18192
diff
changeset
|
706 gboolean |
8c4d52bc0319
- Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18192
diff
changeset
|
707 purple_certificate_unregister_scheme(PurpleCertificateScheme *scheme); |
8c4d52bc0319
- Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18192
diff
changeset
|
708 |
18941
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
709 /** Look up a registered PurpleCertificateVerifier by scheme and name |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
710 * @param scheme_name Scheme name. Case insensitive. |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
711 * @param ver_name The verifier name. Case insensitive. |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
712 * @return Pointer to the located Verifier, or NULL if it isn't found. |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
713 */ |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
714 PurpleCertificateVerifier * |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
715 purple_certificate_find_verifier(const gchar *scheme_name, const gchar *ver_name); |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
716 |
19023
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
717 /** |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
718 * Get the list of registered CertificateVerifiers |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
719 * |
19028
86403f33720b
- Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19026
diff
changeset
|
720 * @return GList of all registered PurpleCertificateVerifier. This value |
86403f33720b
- Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19026
diff
changeset
|
721 * is owned by libpurple |
19023
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
722 */ |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
723 GList * |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
724 purple_certificate_get_verifiers(void); |
18941
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
725 |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
726 /** |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
727 * Register a CertificateVerifier with libpurple |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
728 * |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
729 * @param vr Verifier to register. |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
730 * @return TRUE if register succeeded, otherwise FALSE |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
731 */ |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
732 gboolean |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
733 purple_certificate_register_verifier(PurpleCertificateVerifier *vr); |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
734 |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
735 /** |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
736 * Unregister a CertificateVerifier with libpurple |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
737 * |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
738 * @param vr Verifier to unregister. |
18971
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
739 * @return TRUE if unregister succeeded, otherwise FALSE |
18941
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
740 */ |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
741 gboolean |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
742 purple_certificate_unregister_verifier(PurpleCertificateVerifier *vr); |
425f494bd1ec
- CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18940
diff
changeset
|
743 |
18971
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
744 /** Look up a registered PurpleCertificatePool by scheme and name |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
745 * @param scheme_name Scheme name. Case insensitive. |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
746 * @param pool_name Pool name. Case insensitive. |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
747 * @return Pointer to the located Pool, or NULL if it isn't found. |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
748 */ |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
749 PurpleCertificatePool * |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
750 purple_certificate_find_pool(const gchar *scheme_name, const gchar *pool_name); |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
751 |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
752 /** |
19023
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
753 * Get the list of registered Pools |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
754 * |
19028
86403f33720b
- Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19026
diff
changeset
|
755 * @return GList of all registered PurpleCertificatePool s. This value |
86403f33720b
- Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19026
diff
changeset
|
756 * is owned by libpurple |
19023
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
757 */ |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
758 GList * |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
759 purple_certificate_get_pools(void); |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
760 |
eb86ff3ba21a
- Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19022
diff
changeset
|
761 /** |
18971
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
762 * Register a CertificatePool with libpurple and call its init function |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
763 * |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
764 * @param pool Pool to register. |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
765 * @return TRUE if the register succeeded, otherwise FALSE |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
766 */ |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
767 gboolean |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
768 purple_certificate_register_pool(PurpleCertificatePool *pool); |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
769 |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
770 /** |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
771 * Unregister a CertificatePool with libpurple and call its uninit function |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
772 * |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
773 * @param pool Pool to unregister. |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
774 * @return TRUE if the unregister succeeded, otherwise FALSE |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
775 */ |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
776 gboolean |
898e2bd70f23
- Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents:
18970
diff
changeset
|
777 purple_certificate_unregister_pool(PurpleCertificatePool *pool); |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
778 |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
779 /*@}*/ |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
780 |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
781 |
19329
e93db0c87b26
- Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19092
diff
changeset
|
782 /** |
e93db0c87b26
- Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19092
diff
changeset
|
783 * Displays a window showing X.509 certificate information |
e93db0c87b26
- Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19092
diff
changeset
|
784 * |
e93db0c87b26
- Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19092
diff
changeset
|
785 * @param crt Certificate under an "x509" Scheme |
20927
3d704e6bd08a
s/@TODO/@todo/ for Doxygen.
Richard Laager <rlaager@wiktel.com>
parents:
20875
diff
changeset
|
786 * @todo Will break on CA certs, as they have no Common Name |
19329
e93db0c87b26
- Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19092
diff
changeset
|
787 */ |
e93db0c87b26
- Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19092
diff
changeset
|
788 void |
e93db0c87b26
- Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19092
diff
changeset
|
789 purple_certificate_display_x509(PurpleCertificate *crt); |
e93db0c87b26
- Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19092
diff
changeset
|
790 |
21647
a57adf1de9cb
Patch from Florian Quze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20927
diff
changeset
|
791 /** |
a57adf1de9cb
Patch from Florian Quze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20927
diff
changeset
|
792 * Add a search path for certificates. |
a57adf1de9cb
Patch from Florian Quze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20927
diff
changeset
|
793 * |
a57adf1de9cb
Patch from Florian Quze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20927
diff
changeset
|
794 * @param path Path to search for certificates. |
a57adf1de9cb
Patch from Florian Quze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20927
diff
changeset
|
795 */ |
a57adf1de9cb
Patch from Florian Quze (the InstantBird dude) to add a search path for
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
20927
diff
changeset
|
796 void purple_certificate_add_ca_search_path(const char *path); |
19329
e93db0c87b26
- Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents:
19092
diff
changeset
|
797 |
17638
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
798 #ifdef __cplusplus |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
799 } |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
800 #endif /* __cplusplus */ |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
801 |
668a294f9a72
- Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff
changeset
|
802 #endif /* _PURPLE_CERTIFICATE_H */ |