2 #ifndef GLOBUS_GSI_CALLBACK_H
3 #define GLOBUS_GSI_CALLBACK_H
12 #include "globus_common.h"
13 #include "globus_gsi_cert_utils.h"
14 #include "openssl/x509.h"
16 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
73 #define GLOBUS_GSI_CALLBACK_MODULE (&globus_i_gsi_callback_module)
76 globus_module_descriptor_t globus_i_gsi_callback_module;
78 #define _CLS(s) globus_common_i18n_get_string(GLOBUS_GSI_CALLBACK_MODULE,\
102 typedef struct globus_l_gsi_callback_data_s *
110 globus_gsi_callback_data_t callback_data,
111 X509_EXTENSION * extension);
126 X509_STORE_CTX * x509_context);
131 X509_STORE_CTX * x509_context);
134 X509_STORE_CTX * context,
140 X509_STORE_CTX * context,
145 globus_gsi_callback_data_t * callback_data);
149 globus_gsi_callback_data_t callback_data);
153 globus_gsi_callback_data_t source,
154 globus_gsi_callback_data_t * dest);
158 globus_gsi_callback_data_t callback_data,
163 globus_gsi_callback_data_t callback_data,
168 globus_gsi_callback_data_t callback_data,
173 globus_gsi_callback_data_t callback_data,
178 globus_gsi_callback_data_t callback_data,
179 globus_gsi_cert_utils_cert_type_t cert_type);
183 globus_gsi_callback_data_t callback_data,
184 globus_gsi_cert_utils_cert_type_t * cert_type);
188 globus_gsi_callback_data_t callback_data,
189 STACK_OF(X509) ** cert_chain);
193 globus_gsi_callback_data_t callback_data,
194 STACK_OF(X509) * cert_chain);
198 globus_gsi_callback_data_t callback_data,
199 int * multiple_limited_proxy_ok);
203 globus_gsi_callback_data_t callback_data,
204 int multiple_limited_proxy_ok);
208 globus_gsi_callback_data_t callback_data,
209 void ** extension_oids);
213 globus_gsi_callback_data_t callback_data,
214 void * extension_oids);
218 globus_gsi_callback_data_t callback_data,
223 globus_gsi_callback_data_t callback_data,
227 globus_gsi_callback_get_goodtill(
228 globus_gsi_callback_data_t callback_data,
232 globus_gsi_callback_set_goodtill(
233 globus_gsi_callback_data_t callback_data,
238 globus_gsi_callback_data_t callback_data,
243 globus_gsi_callback_data_t callback_data,
248 globus_gsi_callback_data_t callback_data,
249 globus_result_t * error);
253 globus_gsi_callback_data_t callback_data,
254 globus_result_t error);
258 globus_gsi_callback_data_t callback_data,
259 globus_bool_t * check);
263 globus_gsi_callback_data_t callback_data,
264 globus_bool_t check);
268 globus_gsi_callback_data_t callback_data,
269 globus_bool_t * allow);
273 globus_gsi_callback_data_t callback_data,
274 globus_bool_t allow);
globus_result_t globus_gsi_callback_get_cert_depth(globus_gsi_callback_data_t callback_data, int *cert_depth)
Getting the certificate chain depth.
Definition: globus_gsi_callback_data.c:228
globus_result_t globus_gsi_callback_data_init(globus_gsi_callback_data_t *callback_data)
Initialize a callback data structure.
Definition: globus_gsi_callback_data.c:29
int(* globus_gsi_extension_callback_t)(globus_gsi_callback_data_t callback_data, X509_EXTENSION *extension)
Definition: globus_gsi_callback.h:109
globus_result_t globus_gsi_callback_set_cert_chain(globus_gsi_callback_data_t callback_data, STACK_OF(X509)*cert_chain)
Set the certificate chain.
Definition: globus_gsi_callback_data.c:585
globus_result_t globus_gsi_callback_set_extension_cb(globus_gsi_callback_data_t callback_data, globus_gsi_extension_callback_t extension_cb)
Definition: globus_gsi_callback_data.c:1004
globus_result_t globus_gsi_callback_set_error(globus_gsi_callback_data_t callback_data, globus_result_t error)
Set error status.
Definition: globus_gsi_callback_data.c:1087
globus_result_t globus_gsi_callback_get_cert_dir(globus_gsi_callback_data_t callback_data, char **cert_dir)
Get the trusted certificate directory.
Definition: globus_gsi_callback_data.c:851
globus_result_t globus_gsi_callback_data_copy(globus_gsi_callback_data_t source, globus_gsi_callback_data_t *dest)
Copy a callback data structure.
Definition: globus_gsi_callback_data.c:145
int globus_gsi_callback_check_issued(X509_STORE_CTX *context, X509 *cert, X509 *issuer)
OpenSSL X509_check_issued() wrapper.
Definition: globus_gsi_callback.c:578
int globus_gsi_callback_create_proxy_callback(int preverify_ok, X509_STORE_CTX *x509_context)
Independent path validation callback.
Definition: globus_gsi_callback.c:418
globus_result_t globus_gsi_callback_set_multiple_limited_proxy_ok(globus_gsi_callback_data_t callback_data, int multiple_limited_proxy_ok)
Set the limited proxy handling setting.
Definition: globus_gsi_callback_data.c:711
int globus_gsi_callback_handshake_callback(int preverify_ok, X509_STORE_CTX *x509_context)
SSL path validation callback.
Definition: globus_gsi_callback.c:493
globus_result_t globus_gsi_callback_set_proxy_depth(globus_gsi_callback_data_t callback_data, int proxy_depth)
Set the "proxy chain" depth.
Definition: globus_gsi_callback_data.c:376
globus_result_t globus_gsi_callback_set_extension_oids(globus_gsi_callback_data_t callback_data, void *extension_oids)
Set X.509 extension OIDs.
Definition: globus_gsi_callback_data.c:806
globus_result_t globus_gsi_callback_get_SSL_callback_data_index(int *index)
Get callback data index from SSL structure.
Definition: globus_gsi_callback.c:326
globus_result_t globus_gsi_callback_set_allow_missing_signing_policy(globus_gsi_callback_data_t callback_data, globus_bool_t allow)
Set the "allow missing signing policy" flag.
Definition: globus_gsi_callback_data.c:1267
globus_result_t globus_gsi_callback_get_cert_chain(globus_gsi_callback_data_t callback_data, STACK_OF(X509)**cert_chain)
Get the certificate chain.
Definition: globus_gsi_callback_data.c:516
globus_result_t globus_gsi_callback_set_cert_depth(globus_gsi_callback_data_t callback_data, int cert_depth)
Set the certificate chain depth.
Definition: globus_gsi_callback_data.c:281
globus_result_t globus_gsi_callback_set_check_policy_for_self_signed_certs(globus_gsi_callback_data_t callback_data, globus_bool_t check)
Set the self-signed policy checking flag.
Definition: globus_gsi_callback_data.c:1178
globus_result_t globus_gsi_callback_get_multiple_limited_proxy_ok(globus_gsi_callback_data_t callback_data, int *multiple_limited_proxy_ok)
Get the limited proxy handling setting.
Definition: globus_gsi_callback_data.c:654
globus_result_t globus_gsi_callback_get_extension_oids(globus_gsi_callback_data_t callback_data, void **extension_oids)
Get X.509 extension OIDs.
Definition: globus_gsi_callback_data.c:753
globus_result_t globus_gsi_callback_get_check_policy_for_self_signed_certs(globus_gsi_callback_data_t callback_data, globus_bool_t *check)
Get the self-signed policy checking flag.
Definition: globus_gsi_callback_data.c:1133
globus_result_t globus_gsi_callback_set_cert_dir(globus_gsi_callback_data_t callback_data, char *cert_dir)
Set the trusted certificate directory.
Definition: globus_gsi_callback_data.c:905
globus_result_t globus_gsi_callback_data_destroy(globus_gsi_callback_data_t callback_data)
Initialize a callback data structure.
Definition: globus_gsi_callback_data.c:94
globus_result_t globus_gsi_callback_get_X509_STORE_callback_data_index(int *index)
Get callback data index from X509_STORE.
Definition: globus_gsi_callback.c:296
globus_result_t globus_gsi_callback_get_error(globus_gsi_callback_data_t callback_data, globus_result_t *error)
Get error status.
Definition: globus_gsi_callback_data.c:1046
int globus_gsi_callback_X509_verify_cert(X509_STORE_CTX *context, void *arg)
Certificate verify wrapper.
Definition: globus_gsi_callback.c:359
globus_result_t globus_gsi_callback_get_proxy_depth(globus_gsi_callback_data_t callback_data, int *proxy_depth)
Get the "proxy chain" depth.
Definition: globus_gsi_callback_data.c:323
globus_result_t globus_gsi_callback_get_allow_missing_signing_policy(globus_gsi_callback_data_t callback_data, globus_bool_t *allow)
Get the "allow missing signing policy" flag.
Definition: globus_gsi_callback_data.c:1223
globus_result_t globus_gsi_callback_get_cert_type(globus_gsi_callback_data_t callback_data, globus_gsi_cert_utils_cert_type_t *cert_type)
Get the certificate type.
Definition: globus_gsi_callback_data.c:419
globus_result_t globus_gsi_callback_get_extension_cb(globus_gsi_callback_data_t callback_data, globus_gsi_extension_callback_t *extension_cb)
Get the unknown X.509 extension callback.
Definition: globus_gsi_callback_data.c:953
globus_result_t globus_gsi_callback_set_cert_type(globus_gsi_callback_data_t callback_data, globus_gsi_cert_utils_cert_type_t cert_type)
Set the certificate type.
Definition: globus_gsi_callback_data.c:472
struct globus_l_gsi_callback_data_s * globus_gsi_callback_data_t
Definition: globus_gsi_callback.h:102