annotate libpurple/certificate.h @ 20570:5913725cbcd6

Use an independant status type for 'current media' stuff, instead of using status attributes. This includes changes in both xmpp and msn. Also, in MSN, CurrentMedia is sent with PSM if you turn on the status and set the attributes on the account.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Thu, 20 Sep 2007 16:30:17 +0000
parents 44b4e8bd759b
children 0077d3b6ecd2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17910
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
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
4 */
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
5
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 * purple
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 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
11 * 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
12 * source distribution.
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
13 *
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
14 * 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
15 * 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
16 * 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
17 * (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
18 *
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
19 * 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
20 * 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
21 * 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
22 * 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
23 *
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
24 * 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
25 * along with this program; if not, write to the Free Software
19681
44b4e8bd759b The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19662
diff changeset
26 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
27 */
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
28
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
29 #ifndef _PURPLE_CERTIFICATE_H
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
30 #define _PURPLE_CERTIFICATE_H
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
31
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
32 #include <glib.h>
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
33
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
34 #ifdef __cplusplus
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
35 extern "C" {
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
36 #endif /* __cplusplus */
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
37
18928
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
38
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
39 typedef enum
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
40 {
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
41 PURPLE_CERTIFICATE_INVALID = 0,
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
42 PURPLE_CERTIFICATE_VALID = 1
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
43 } PurpleCertificateVerificationStatus;
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
44
18189
030a2209ae96 - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18188
diff changeset
45 typedef struct _PurpleCertificate PurpleCertificate;
18970
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
46 typedef struct _PurpleCertificatePool PurpleCertificatePool;
18189
030a2209ae96 - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18188
diff changeset
47 typedef struct _PurpleCertificateScheme PurpleCertificateScheme;
18928
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
48 typedef struct _PurpleCertificateVerifier PurpleCertificateVerifier;
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
49 typedef struct _PurpleCertificateVerificationRequest PurpleCertificateVerificationRequest;
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
50
18940
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
51 /**
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
52 * Callback function for the results of a verification check
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
53 * @param st Status code
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
54 * @param userdata User-defined data
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 typedef void (*PurpleCertificateVerifiedCallback)
18953
89b32569890c - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18952
diff changeset
57 (PurpleCertificateVerificationStatus st,
18940
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
58 gpointer userdata);
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
59
17913
55a0b0a42000 - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17912
diff changeset
60 /** A certificate instance
55a0b0a42000 - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17912
diff changeset
61 *
55a0b0a42000 - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17912
diff changeset
62 * 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: 17912
diff changeset
63 * CertificateScheme
55a0b0a42000 - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17912
diff changeset
64 */
18189
030a2209ae96 - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18188
diff changeset
65 struct _PurpleCertificate
17913
55a0b0a42000 - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17912
diff changeset
66 {
55a0b0a42000 - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17912
diff changeset
67 /** Scheme this certificate is under */
18189
030a2209ae96 - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18188
diff changeset
68 PurpleCertificateScheme * scheme;
17913
55a0b0a42000 - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17912
diff changeset
69 /** Opaque pointer to internal data */
55a0b0a42000 - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17912
diff changeset
70 gpointer data;
55a0b0a42000 - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17912
diff changeset
71 };
55a0b0a42000 - Exposed the _Certificate struct definition in certificate.h
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17912
diff changeset
72
18970
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
73 /**
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
74 * Database for retrieval or storage of Certificates
18983
bb4acabd8fac Documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18982
diff changeset
75 *
18995
47b06daea9d1 - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18994
diff changeset
76 * 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
77 * key.
18970
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
78 */
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
79 struct _PurpleCertificatePool
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
80 {
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
81 /** Scheme this Pool operates for */
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
82 gchar *scheme_name;
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
83 /** Internal name to refer to the pool by */
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
84 gchar *name;
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
85
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
86 /** User-friendly name for this type
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
87 * ex: N_("SSL Servers")
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
88 * When this is displayed anywhere, it should be i18ned
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
89 * ex: _(pool->fullname)
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
90 */
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
91 gchar *fullname;
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
92
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
93 /** Internal pool data */
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
94 gpointer data;
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
95
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 * Set up the Pool's internal state
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
98 *
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
99 * Upon calling purple_certificate_register_pool() , this function will
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
100 * be called. May be NULL.
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
101 * @return TRUE if the initialization succeeded, otherwise FALSE
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
102 */
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
103 gboolean (* init)(void);
18970
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
104
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
105 /**
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
106 * Uninit the Pool's internal state
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
107 *
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
108 * Will be called by purple_certificate_unregister_pool() . May be NULL
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
109 */
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
110 void (* uninit)(void);
18970
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 /** 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
113 gboolean (* cert_in_pool)(const gchar *id);
18970
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
114 /** Retrieve a PurpleCertificate from the pool */
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
115 PurpleCertificate * (* get_cert)(const gchar *id);
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
116 /** Add a certificate to the pool. Must overwrite any other
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
117 * certificates sharing the same ID in the pool.
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
118 * @return TRUE if the operation succeeded, otherwise FALSE
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
119 */
18982
8948cd6bb8bc - CertificatePool put_cert now accepts an id argument
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18977
diff changeset
120 gboolean (* put_cert)(const gchar *id, PurpleCertificate *crt);
19049
8cbc110456ac - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19034
diff changeset
121 /** Delete a certificate from the pool */
8cbc110456ac - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19034
diff changeset
122 gboolean (* delete_cert)(const gchar *id);
19026
b3acaf46d9ad - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19023
diff changeset
123
b3acaf46d9ad - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19023
diff changeset
124 /** 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
125 GList * (* get_idlist)(void);
19649
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
126
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
127 void (*_purple_reserved1)(void);
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
128 void (*_purple_reserved2)(void);
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
129 void (*_purple_reserved3)(void);
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
130 void (*_purple_reserved4)(void);
18970
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
131 };
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
132
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
133 /** A certificate type
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
134 *
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
135 * A CertificateScheme must implement all of the fields in the structure,
18936
895831f93380 - Documentation correction
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18934
diff changeset
136 * and register it using purple_certificate_register_scheme()
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
137 *
17912
945b60f02767 - Fixed a comment
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17910
diff changeset
138 * There may be only ONE CertificateScheme provided for each certificate
945b60f02767 - Fixed a comment
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17910
diff changeset
139 * type, as specified by the "name" field.
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
140 */
18189
030a2209ae96 - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18188
diff changeset
141 struct _PurpleCertificateScheme
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
142 {
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
143 /** Name of the certificate type
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
144 * ex: "x509", "pgp", etc.
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
145 * 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
146 * 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
147 */
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
148 gchar * name;
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
149
18188
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
150 /** User-friendly name for this type
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
151 * ex: N_("X.509 Certificates")
18928
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
152 * When this is displayed anywhere, it should be i18ned
18970
3d63bd78675d - Add CertificatePool struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18962
diff changeset
153 * ex: _(scheme->fullname)
18188
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
154 */
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
155 gchar * fullname;
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
156
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
157 /** Imports a certificate from a file
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
158 *
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
159 * @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: 17913
diff changeset
160 * @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: 17913
diff changeset
161 * or NULL on failure.
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
162 */
18190
b2d110e9857f - Eliminate compiler warning
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18189
diff changeset
163 PurpleCertificate * (* import_certificate)(const gchar * filename);
18188
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
164
18977
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
165 /**
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
166 * Exports a certificate to a file
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
167 *
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
168 * @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
169 * @param crt Certificate to export
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
170 * @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
171 * @see purple_certificate_export()
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
172 */
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
173 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
174
19018
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
175 /**
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
176 * Duplicates a certificate
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
177 *
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
178 * 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
179 * 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
180 * 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
181 * @return Reference to the new copy
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
182 */
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
183 PurpleCertificate * (* copy_certificate)(PurpleCertificate *crt);
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
184
18188
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
185 /** Destroys and frees a Certificate structure
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
186 *
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
187 * 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: 17913
diff changeset
188 * free(crt)
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
189 *
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
190 * @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: 17913
diff changeset
191 * 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: 17913
diff changeset
192 * CertificateScheme. Can be NULL
e6271671eb24 - Expose some more functions in the x509 CertificateScheme. Doesn't
William Ehlhardt <williamehlhardt@gmail.com>
parents: 17913
diff changeset
193 */
18189
030a2209ae96 - Style issues
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18188
diff changeset
194 void (* destroy_certificate)(PurpleCertificate * crt);
18934
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
195
19076
daa68185a018 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19067
diff changeset
196 /** 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
197 * @see purple_certificate_signed_by() */
daa68185a018 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19067
diff changeset
198 gboolean (*signed_by)(PurpleCertificate *crt, PurpleCertificate *issuer);
18934
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
199 /**
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
200 * Retrieves the certificate public key fingerprint using SHA1
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
201 *
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
202 * @param crt Certificate instance
18937
eac58c6caae7 - More documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18936
diff changeset
203 * @return Binary representation of SHA1 hash - must be freed using
eac58c6caae7 - More documentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18936
diff changeset
204 * g_byte_array_free()
18934
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 GByteArray * (* get_fingerprint_sha1)(PurpleCertificate *crt);
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
207
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
208 /**
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
209 * Retrieves a unique certificate identifier
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
210 *
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
211 * @param crt Certificate instance
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
212 * @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
213 * identify the certificate.
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 gchar * (* get_unique_id)(PurpleCertificate *crt);
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
216
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
217 /**
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
218 * 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
219 *
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
220 * @param crt Certificate instance
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
221 * @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
222 * identify the issuer's certificate.
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 gchar * (* get_issuer_unique_id)(PurpleCertificate *crt);
04be1b885ef3 - Add more to the Certificate struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18933
diff changeset
225
18962
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
226 /**
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
227 * 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
228 *
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
229 * 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
230 * 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
231 *
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
232 * @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
233 *
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
234 * @param crt Certificate instance
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
235 * @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
236 */
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
237 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
238
19008
7fd9bd55f8d0 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
239 /**
7fd9bd55f8d0 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
240 * 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
241 * @see purple_certificate_check_subject_name()
7fd9bd55f8d0 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
242 * @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
243 */
7fd9bd55f8d0 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
244 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
245
19067
6c0aad79c4c5 - Change the internal structure of activation/expiration times to match
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19060
diff changeset
246 /** 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
247 gboolean (* get_times)(PurpleCertificate *crt, time_t *activation, time_t *expiration);
19006
dc60287ce426 - Add get_activation_time and get_expiration_time to CertificateScheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18995
diff changeset
248
19649
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
249 void (*_purple_reserved1)(void);
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
250 void (*_purple_reserved2)(void);
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
251 void (*_purple_reserved3)(void);
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
252 void (*_purple_reserved4)(void);
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
253 };
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
254
18928
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
255 /** 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
256 * authenticity.
18941
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
257 *
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
258 * 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
259 * purple_certificate_register_verifier()
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
260 *
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
261 * 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
262 * 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
263 */
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
264 struct _PurpleCertificateVerifier
18940
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
265 {
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
266 /** Name of the scheme this Verifier operates on
18928
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
267 *
18940
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
268 * 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
269 * using this Verifier
18928
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
270 */
18940
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
271 gchar *scheme_name;
18941
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
272
18951
11e88e451bfb - Reorder struct for clarity
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18950
diff changeset
273 /** Name of the Verifier - case insensitive */
11e88e451bfb - Reorder struct for clarity
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18950
diff changeset
274 gchar *name;
11e88e451bfb - Reorder struct for clarity
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18950
diff changeset
275
18941
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
276 /**
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
277 * Start the verification process
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
278 *
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
279 * To be called from purple_certificate_verify once it has
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
280 * constructed the request. This will use the information in the
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
281 * given VerificationRequest to check the certificate and callback
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
282 * the requester with the verification results.
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
283 *
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
284 * @param vrq Request to process
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
285 */
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
286 void (* start_verification)(PurpleCertificateVerificationRequest *vrq);
18947
3c6bf77bf7c4 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18946
diff changeset
287
3c6bf77bf7c4 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18946
diff changeset
288 /**
3c6bf77bf7c4 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18946
diff changeset
289 * 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
290 * 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
291 * 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
292 * 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
293 *
3c6bf77bf7c4 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18946
diff changeset
294 * @param vrq Request to destroy
3c6bf77bf7c4 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18946
diff changeset
295 */
3c6bf77bf7c4 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18946
diff changeset
296 void (* destroy_request)(PurpleCertificateVerificationRequest *vrq);
19649
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
297
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
298 void (*_purple_reserved1)(void);
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
299 void (*_purple_reserved2)(void);
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
300 void (*_purple_reserved3)(void);
450f4a3c4c0f - Add purple_reserved fields to various structures.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19329
diff changeset
301 void (*_purple_reserved4)(void);
18928
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
302 };
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
303
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
304 /** Structure for a single certificate request
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
305 *
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
306 * 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
307 * several steps
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
308 */
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
309 struct _PurpleCertificateVerificationRequest
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
310 {
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
311 /** Reference to the verification logic used */
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
312 PurpleCertificateVerifier *verifier;
18941
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
313 /** Reference to the scheme used.
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
314 *
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
315 * 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
316 */
18942
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
317 PurpleCertificateScheme *scheme;
18928
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
318
18940
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
319 /**
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
320 * 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
321 *
e634122cec47 - purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18928
diff changeset
322 * For X.509 certificates, this is the Common Name
e634122cec47 - purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18928
diff changeset
323 */
e634122cec47 - purple_ssl_get_peer_certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18928
diff changeset
324 gchar *subject_name;
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 /** 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
327 *
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
328 * 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
329 * 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
330 */
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
331 GList *cert_chain;
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
332
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
333 /** Internal data used by the Verifier code */
18940
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
334 gpointer data;
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
335
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
336 /** Function to call with the verification result */
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
337 PurpleCertificateVerifiedCallback cb;
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
338 /** Data to pass to the post-verification callback */
5fa287322a82 - Fill out CertVerifier struct
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18937
diff changeset
339 gpointer cb_data;
18928
299022c9b32d - More API additions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18926
diff changeset
340 };
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
341
18945
fa42d8fa7873 - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18942
diff changeset
342 /*****************************************************************************/
18994
bf23d58ec9c3 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18989
diff changeset
343 /** @name Certificate Verification Functions */
18945
fa42d8fa7873 - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18942
diff changeset
344 /*****************************************************************************/
fa42d8fa7873 - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18942
diff changeset
345 /*@{*/
fa42d8fa7873 - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18942
diff changeset
346
18942
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
347 /**
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
348 * 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
349 *
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
350 * 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
351 * this function. Plan accordingly.
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
352 *
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
353 * @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
354 * @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
355 *
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
356 * @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
357 * 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
358 * into the Request struct
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 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
361 * 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
362 * 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
363 * 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
364 * Request struct.
18942
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
365 *
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
366 * @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
367 * 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
368 * @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
369 */
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
370 void
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
371 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
372 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
373 PurpleCertificateVerifiedCallback cb,
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
374 gpointer cb_data);
02102eccc4be - purple_certificate_verify now takes a Verifier argument, creates its
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18941
diff changeset
375
18946
617447a71ab7 - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18945
diff changeset
376 /**
19088
f5802217844d - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19082
diff changeset
377 * Completes and destroys a VerificationRequest
f5802217844d - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19082
diff changeset
378 *
f5802217844d - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19082
diff changeset
379 * @param vrq Request to conclude
f5802217844d - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19082
diff changeset
380 * @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
381 * completion callback.
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 void
f5802217844d - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19082
diff changeset
384 purple_certificate_verify_complete(PurpleCertificateVerificationRequest *vrq,
f5802217844d - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19082
diff changeset
385 PurpleCertificateVerificationStatus st);
f5802217844d - Add verify_complete, which should deprecate verify_destroy
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19082
diff changeset
386
18994
bf23d58ec9c3 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18989
diff changeset
387 /*@}*/
bf23d58ec9c3 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18989
diff changeset
388
bf23d58ec9c3 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18989
diff changeset
389 /*****************************************************************************/
bf23d58ec9c3 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18989
diff changeset
390 /** @name Certificate Functions */
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
18947
3c6bf77bf7c4 - Add purple_certificate_verify_destroy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18946
diff changeset
394 /**
19018
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
395 * Makes a duplicate of a certificate
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
396 *
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
397 * @param crt Instance to duplicate
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
398 * @return Pointer to new instance
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
399 */
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
400 PurpleCertificate *
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
401 purple_certificate_copy(PurpleCertificate *crt);
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
402
d6f902265076 - Add purple_certificate_copy and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19012
diff changeset
403 /**
19020
d69355001a6e - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19018
diff changeset
404 * Duplicates an entire list of certificates
d69355001a6e - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19018
diff changeset
405 *
d69355001a6e - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19018
diff changeset
406 * @param crt_list List to duplicate
d69355001a6e - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19018
diff changeset
407 * @return New list copy
d69355001a6e - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19018
diff changeset
408 */
d69355001a6e - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19018
diff changeset
409 GList *
d69355001a6e - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19018
diff changeset
410 purple_certificate_copy_list(GList *crt_list);
d69355001a6e - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19018
diff changeset
411
d69355001a6e - Add purple_certificate_copy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19018
diff changeset
412 /**
18946
617447a71ab7 - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18945
diff changeset
413 * Destroys and free()'s a Certificate
617447a71ab7 - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18945
diff changeset
414 *
617447a71ab7 - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18945
diff changeset
415 * @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
416 */
617447a71ab7 - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18945
diff changeset
417 void
617447a71ab7 - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18945
diff changeset
418 purple_certificate_destroy (PurpleCertificate *crt);
617447a71ab7 - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18945
diff changeset
419
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 * 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
422 *
617447a71ab7 - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18945
diff changeset
423 * @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
424 */
617447a71ab7 - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18945
diff changeset
425 void
617447a71ab7 - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18945
diff changeset
426 purple_certificate_destroy_list (GList * crt_list);
617447a71ab7 - Add certificate_destroy and certificate_destroy_list
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18945
diff changeset
427
18953
89b32569890c - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18952
diff changeset
428 /**
19076
daa68185a018 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19067
diff changeset
429 * 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
430 *
daa68185a018 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19067
diff changeset
431 * @param crt Certificate instance to check signature of
daa68185a018 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19067
diff changeset
432 * @param issuer Certificate thought to have signed 'crt'
daa68185a018 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19067
diff changeset
433 *
daa68185a018 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19067
diff changeset
434 * @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
435 * otherwise FALSE
daa68185a018 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19067
diff changeset
436 * @TODO Find a way to give the reason (bad signature, not the issuer, etc.)
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 gboolean
daa68185a018 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19067
diff changeset
439 purple_certificate_signed_by(PurpleCertificate *crt, PurpleCertificate *issuer);
daa68185a018 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19067
diff changeset
440
daa68185a018 - Add purple_certificate_signed_by
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19067
diff changeset
441 /**
19077
8275c3cbc9da - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19076
diff changeset
442 * Check that a certificate chain is valid
8275c3cbc9da - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19076
diff changeset
443 *
8275c3cbc9da - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19076
diff changeset
444 * 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
445 * 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
446 * chain is considered to be 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 * @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
449 * 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
450 * @return TRUE if the chain is valid. See description.
19082
ddb5ad55f2d2 - Add a TODO. A most worthy accomplishment, to be sure.
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19080
diff changeset
451 * @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
452 */
8275c3cbc9da - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19076
diff changeset
453 gboolean
8275c3cbc9da - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19076
diff changeset
454 purple_certificate_check_signature_chain(GList *chain);
8275c3cbc9da - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19076
diff changeset
455
8275c3cbc9da - Add purple_certificate_check_signature_chain
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19076
diff changeset
456 /**
18988
4189fc3befba - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18984
diff changeset
457 * Imports a PurpleCertificate from a file
4189fc3befba - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18984
diff changeset
458 *
4189fc3befba - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18984
diff changeset
459 * @param scheme Scheme to import under
4189fc3befba - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18984
diff changeset
460 * @param filename File path to import from
4189fc3befba - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18984
diff changeset
461 * @return Pointer to a new PurpleCertificate, or NULL on failure
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 PurpleCertificate *
18989
43d1ee6a3ed5 - Fixed naming issues in previous revision
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18988
diff changeset
464 purple_certificate_import(PurpleCertificateScheme *scheme, const gchar *filename);
18988
4189fc3befba - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18984
diff changeset
465
4189fc3befba - Add purple_certificate_import
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18984
diff changeset
466 /**
18977
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
467 * Exports a PurpleCertificate to a file
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
468 *
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
469 * @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
470 * @param crt Certificate to export
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
471 * @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
472 */
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
473 gboolean
31bdbb82de7e - Add purple_certificate_export and associated libpurple stuff
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18975
diff changeset
474 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
475
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 /**
18953
89b32569890c - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18952
diff changeset
478 * Retrieves the certificate public key fingerprint using SHA1.
89b32569890c - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18952
diff changeset
479 *
89b32569890c - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18952
diff changeset
480 * @param crt Certificate instance
89b32569890c - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18952
diff changeset
481 * @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
482 * this.
89b32569890c - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18952
diff changeset
483 * @see purple_base16_encode_chunked()
89b32569890c - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18952
diff changeset
484 */
89b32569890c - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18952
diff changeset
485 GByteArray *
89b32569890c - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18952
diff changeset
486 purple_certificate_get_fingerprint_sha1(PurpleCertificate *crt);
89b32569890c - Add purple_certificate_get_fingerprint_sha1
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18952
diff changeset
487
19080
3bdede51c007 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19077
diff changeset
488 /**
3bdede51c007 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19077
diff changeset
489 * 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
490 *
3bdede51c007 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19077
diff changeset
491 * @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
492 * @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
493 */
3bdede51c007 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19077
diff changeset
494 gchar *
3bdede51c007 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19077
diff changeset
495 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
496
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 * 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
499 *
3bdede51c007 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19077
diff changeset
500 * @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
501 * @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
502 * 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
503 */
3bdede51c007 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19077
diff changeset
504 gchar *
3bdede51c007 - Expose get_unique_id and get_issuer_unique_id through libpurple functions
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19077
diff changeset
505 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
506
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
507 /**
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
508 * 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
509 *
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
510 * 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
511 * 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
512 *
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
513 * @param crt Certificate instance
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
514 * @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
515 */
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
516 gchar *
fcd05c39803e - Add purple_certificate_get_subject_name and associated libpurple
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18957
diff changeset
517 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
518
19008
7fd9bd55f8d0 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
519 /**
7fd9bd55f8d0 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
520 * 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
521 * @param crt Certificate instance
7fd9bd55f8d0 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
522 * @param name Name to check.
7fd9bd55f8d0 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
523 * @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
524 */
7fd9bd55f8d0 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
525 gboolean
7fd9bd55f8d0 - Add certificate_check_subject_name and associated machinery
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19007
diff changeset
526 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
527
19012
b1090cbfc286 - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19011
diff changeset
528 /**
b1090cbfc286 - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19011
diff changeset
529 * Get the expiration/activation times.
b1090cbfc286 - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19011
diff changeset
530 *
b1090cbfc286 - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19011
diff changeset
531 * @param crt Certificate instance
b1090cbfc286 - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19011
diff changeset
532 * @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
533 * if you don't actually want it.
b1090cbfc286 - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19011
diff changeset
534 * @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
535 * if you don't actually want it.
b1090cbfc286 - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19011
diff changeset
536 * @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
537 */
b1090cbfc286 - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19011
diff changeset
538 gboolean
b1090cbfc286 - Add expiration/activation functions for Certificates
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19011
diff changeset
539 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
540
18994
bf23d58ec9c3 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18989
diff changeset
541 /*@}*/
bf23d58ec9c3 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18989
diff changeset
542
bf23d58ec9c3 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18989
diff changeset
543 /*****************************************************************************/
bf23d58ec9c3 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18989
diff changeset
544 /** @name Certificate Pool Functions */
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 /*@{*/
18984
2b4150624cf2 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18983
diff changeset
547 /**
2b4150624cf2 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18983
diff changeset
548 * 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
549 * CertificatePools that use them.
2b4150624cf2 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18983
diff changeset
550 *
19010
0d4b84820390 - Fix overzealous escaping cause by ancestor revision
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19009
diff changeset
551 * 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
552 *
18984
2b4150624cf2 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18983
diff changeset
553 * @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
554 * @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
555 * @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
556 * ~/.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
557 */
2b4150624cf2 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18983
diff changeset
558 gchar *
2b4150624cf2 - Add purple_certificate_pool_mkpath helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18983
diff changeset
559 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
560
18995
47b06daea9d1 - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18994
diff changeset
561 /**
19034
8b627694bf4a - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19028
diff changeset
562 * 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
563 *
8b627694bf4a - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19028
diff changeset
564 * 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
565 *
8b627694bf4a - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19028
diff changeset
566 * @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
567 *
8b627694bf4a - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19028
diff changeset
568 * @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
569 */
8b627694bf4a - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19028
diff changeset
570 gboolean
8b627694bf4a - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19028
diff changeset
571 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
572
8b627694bf4a - Add purple_certificate_pool_usable to check whether a pool's
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19028
diff changeset
573 /**
19060
c79b54f03f9d - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19049
diff changeset
574 * 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
575 *
c79b54f03f9d - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19049
diff changeset
576 * @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
577 *
c79b54f03f9d - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19049
diff changeset
578 * @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
579 * @see purple_certificate_pool_usable()
c79b54f03f9d - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19049
diff changeset
580 */
c79b54f03f9d - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19049
diff changeset
581 PurpleCertificateScheme *
c79b54f03f9d - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19049
diff changeset
582 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
583
c79b54f03f9d - Add purple_certificate_pool_get_scheme helper function
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19049
diff changeset
584 /**
18995
47b06daea9d1 - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18994
diff changeset
585 * 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
586 * @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
587 * @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
588 * @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
589 */
47b06daea9d1 - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18994
diff changeset
590 gboolean
47b06daea9d1 - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18994
diff changeset
591 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
592
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 * 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
595 * @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
596 * @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
597 * @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
598 */
47b06daea9d1 - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18994
diff changeset
599 PurpleCertificate *
47b06daea9d1 - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18994
diff changeset
600 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
601
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 * 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
604 *
47b06daea9d1 - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18994
diff changeset
605 * 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
606 *
47b06daea9d1 - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18994
diff changeset
607 * @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
608 * @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
609 * @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
610 * @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
611 */
47b06daea9d1 - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18994
diff changeset
612 gboolean
47b06daea9d1 - Add pool retrieve, contains, and store functions to certificate API
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18994
diff changeset
613 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
614
19026
b3acaf46d9ad - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19023
diff changeset
615 /**
19049
8cbc110456ac - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19034
diff changeset
616 * Remove a certificate from a pool
8cbc110456ac - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19034
diff changeset
617 *
8cbc110456ac - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19034
diff changeset
618 * @param pool Pool to remove from
8cbc110456ac - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19034
diff changeset
619 * @param id ID to remove
8cbc110456ac - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19034
diff changeset
620 * @return TRUE if the operation succeeded, otherwise FALSE
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 gboolean
8cbc110456ac - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19034
diff changeset
623 purple_certificate_pool_delete(PurpleCertificatePool *pool, const gchar *id);
8cbc110456ac - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19034
diff changeset
624
8cbc110456ac - Add purple_certificate_pool_delete
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19034
diff changeset
625 /**
19026
b3acaf46d9ad - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19023
diff changeset
626 * 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
627 *
b3acaf46d9ad - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19023
diff changeset
628 * @param pool Pool to enumerate
b3acaf46d9ad - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19023
diff changeset
629 * @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
630 * purple_certificate_pool_destroy_idlist()
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 GList *
b3acaf46d9ad - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19023
diff changeset
633 purple_certificate_pool_get_idlist(PurpleCertificatePool *pool);
b3acaf46d9ad - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19023
diff changeset
634
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 * 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
637 *
b3acaf46d9ad - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19023
diff changeset
638 * @param idlist ID List to destroy
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 void
b3acaf46d9ad - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19023
diff changeset
641 purple_certificate_pool_destroy_idlist(GList *idlist);
b3acaf46d9ad - Add pool_get_idlist / pool_destroy_idlist
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19023
diff changeset
642
18945
fa42d8fa7873 - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18942
diff changeset
643 /*@}*/
fa42d8fa7873 - Documentation segmentation
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18942
diff changeset
644
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
645 /*****************************************************************************/
18994
bf23d58ec9c3 - Rearrange certificate.h for better organization
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18989
diff changeset
646 /** @name Certificate Subsystem API */
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
647 /*****************************************************************************/
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
648 /*@{*/
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
649
18950
f78a9efa9eaf - Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18947
diff changeset
650 /**
18957
9205841eed06 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18953
diff changeset
651 * Initialize the certificate system
18950
f78a9efa9eaf - Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18947
diff changeset
652 */
f78a9efa9eaf - Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18947
diff changeset
653 void
18957
9205841eed06 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18953
diff changeset
654 purple_certificate_init(void);
9205841eed06 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18953
diff changeset
655
9205841eed06 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18953
diff changeset
656 /**
9205841eed06 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18953
diff changeset
657 * 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
658 */
9205841eed06 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18953
diff changeset
659 void
9205841eed06 - Certificate system now has init and uninit like other systems
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18953
diff changeset
660 purple_certificate_uninit(void);
18950
f78a9efa9eaf - Add purple_certificate_register_builtins
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18947
diff changeset
661
19022
1f07f96dc1ce - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19021
diff changeset
662 /**
1f07f96dc1ce - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19021
diff changeset
663 * Get the Certificate subsystem handle for signalling purposes
1f07f96dc1ce - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19021
diff changeset
664 */
1f07f96dc1ce - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19021
diff changeset
665 gpointer
1f07f96dc1ce - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19021
diff changeset
666 purple_certificate_get_handle(void);
1f07f96dc1ce - Add purple_certificate_get_handle
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19021
diff changeset
667
18192
dc7e7b8bdc8c - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18190
diff changeset
668 /** 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
669 * @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
670 * @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
671 */
dc7e7b8bdc8c - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18190
diff changeset
672 PurpleCertificateScheme *
dc7e7b8bdc8c - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18190
diff changeset
673 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
674
19023
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
675 /**
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
676 * Get all registered CertificateSchemes
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
677 *
19028
86403f33720b - Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19026
diff changeset
678 * @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
679 * is owned by libpurple
19023
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
680 */
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
681 GList *
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
682 purple_certificate_get_schemes(void);
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
683
18192
dc7e7b8bdc8c - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18190
diff changeset
684 /** Register a CertificateScheme with libpurple
dc7e7b8bdc8c - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18190
diff changeset
685 *
dc7e7b8bdc8c - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18190
diff changeset
686 * 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
687 * that.
dc7e7b8bdc8c - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18190
diff changeset
688 *
dc7e7b8bdc8c - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18190
diff changeset
689 * @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
690 * @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
691 */
dc7e7b8bdc8c - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18190
diff changeset
692 gboolean
dc7e7b8bdc8c - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18190
diff changeset
693 purple_certificate_register_scheme(PurpleCertificateScheme *scheme);
dc7e7b8bdc8c - Add chunks of the certificate scheme registration interface
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18190
diff changeset
694
18926
8c4d52bc0319 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18192
diff changeset
695 /** Unregister a CertificateScheme from libpurple
8c4d52bc0319 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18192
diff changeset
696 *
8c4d52bc0319 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18192
diff changeset
697 * @param scheme Scheme to unregister.
8c4d52bc0319 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18192
diff changeset
698 * If the scheme is not registered, this is a no-op.
8c4d52bc0319 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18192
diff changeset
699 *
8c4d52bc0319 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18192
diff changeset
700 * @return TRUE if the unregister completed successfully
8c4d52bc0319 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18192
diff changeset
701 */
8c4d52bc0319 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18192
diff changeset
702 gboolean
8c4d52bc0319 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18192
diff changeset
703 purple_certificate_unregister_scheme(PurpleCertificateScheme *scheme);
8c4d52bc0319 - Add unregister_scheme
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18192
diff changeset
704
18941
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
705 /** Look up a registered PurpleCertificateVerifier by scheme and name
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
706 * @param scheme_name Scheme name. Case insensitive.
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
707 * @param ver_name The verifier name. Case insensitive.
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
708 * @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
709 */
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
710 PurpleCertificateVerifier *
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
711 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
712
19023
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
713 /**
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
714 * Get the list of registered CertificateVerifiers
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
715 *
19028
86403f33720b - Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19026
diff changeset
716 * @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
717 * is owned by libpurple
19023
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
718 */
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
719 GList *
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
720 purple_certificate_get_verifiers(void);
18941
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
721
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
722 /**
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
723 * Register a CertificateVerifier with libpurple
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
724 *
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
725 * @param vr Verifier to register.
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
726 * @return TRUE if register succeeded, otherwise FALSE
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
727 */
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
728 gboolean
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
729 purple_certificate_register_verifier(PurpleCertificateVerifier *vr);
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
730
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 * Unregister a CertificateVerifier with libpurple
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
733 *
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
734 * @param vr Verifier to unregister.
18971
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
735 * @return TRUE if unregister succeeded, otherwise FALSE
18941
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
736 */
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
737 gboolean
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
738 purple_certificate_unregister_verifier(PurpleCertificateVerifier *vr);
425f494bd1ec - CertificateVerifier register/unregister/find
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18940
diff changeset
739
18971
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
740 /** 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
741 * @param scheme_name Scheme name. Case insensitive.
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
742 * @param pool_name Pool name. Case insensitive.
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
743 * @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
744 */
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
745 PurpleCertificatePool *
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
746 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
747
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
748 /**
19023
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
749 * Get the list of registered Pools
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
750 *
19028
86403f33720b - Add dire warnings to the purple_certificate_get_Xs docs
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19026
diff changeset
751 * @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
752 * is owned by libpurple
19023
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
753 */
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
754 GList *
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
755 purple_certificate_get_pools(void);
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
756
eb86ff3ba21a - Add get_pools, get_verifiers, and get_schemes
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19022
diff changeset
757 /**
18971
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
758 * 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
759 *
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
760 * @param pool Pool to register.
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
761 * @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
762 */
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
763 gboolean
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
764 purple_certificate_register_pool(PurpleCertificatePool *pool);
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
765
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 * 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
768 *
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
769 * @param pool Pool to unregister.
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
770 * @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
771 */
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
772 gboolean
898e2bd70f23 - Add find, register, and unregister for CertificatePools
William Ehlhardt <williamehlhardt@gmail.com>
parents: 18970
diff changeset
773 purple_certificate_unregister_pool(PurpleCertificatePool *pool);
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
774
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
775 /*@}*/
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
776
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
777
19329
e93db0c87b26 - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19092
diff changeset
778 /**
e93db0c87b26 - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19092
diff changeset
779 * Displays a window showing X.509 certificate information
e93db0c87b26 - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19092
diff changeset
780 *
e93db0c87b26 - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19092
diff changeset
781 * @param crt Certificate under an "x509" Scheme
e93db0c87b26 - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19092
diff changeset
782 * @TODO Will break on CA certs, as they have no Common Name
e93db0c87b26 - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19092
diff changeset
783 */
e93db0c87b26 - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19092
diff changeset
784 void
e93db0c87b26 - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19092
diff changeset
785 purple_certificate_display_x509(PurpleCertificate *crt);
e93db0c87b26 - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19092
diff changeset
786
e93db0c87b26 - Add purple_certificate_display_x509
William Ehlhardt <williamehlhardt@gmail.com>
parents: 19092
diff changeset
787
17910
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
788 #ifdef __cplusplus
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
789 }
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
790 #endif /* __cplusplus */
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
791
668a294f9a72 - Added certificate.[ch] and got them integrated into the build
William Ehlhardt <williamehlhardt@gmail.com>
parents:
diff changeset
792 #endif /* _PURPLE_CERTIFICATE_H */