17 #ifndef GLOBUS_GSI_CALLBACK_H
18 #define GLOBUS_GSI_CALLBACK_H
27 #include "globus_common.h"
28 #include "globus_gsi_cert_utils.h"
29 #include "openssl/x509.h"
31 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
88 #define GLOBUS_GSI_CALLBACK_MODULE (&globus_i_gsi_callback_module)
91 globus_module_descriptor_t globus_i_gsi_callback_module;
93 #define _CLS(s) globus_common_i18n_get_string(GLOBUS_GSI_CALLBACK_MODULE,\
117 typedef struct globus_l_gsi_callback_data_s *
125 globus_gsi_callback_data_t callback_data,
126 X509_EXTENSION * extension);
141 X509_STORE_CTX * x509_context);
146 X509_STORE_CTX * x509_context);
149 X509_STORE_CTX * context,
155 X509_STORE_CTX * context,
160 globus_gsi_callback_data_t * callback_data);
164 globus_gsi_callback_data_t callback_data);
168 globus_gsi_callback_data_t source,
169 globus_gsi_callback_data_t * dest);
173 globus_gsi_callback_data_t callback_data,
178 globus_gsi_callback_data_t callback_data,
183 globus_gsi_callback_data_t callback_data,
188 globus_gsi_callback_data_t callback_data,
193 globus_gsi_callback_data_t callback_data,
194 globus_gsi_cert_utils_cert_type_t cert_type);
198 globus_gsi_callback_data_t callback_data,
199 globus_gsi_cert_utils_cert_type_t * cert_type);
203 globus_gsi_callback_data_t callback_data,
204 STACK_OF(X509) ** cert_chain);
208 globus_gsi_callback_data_t callback_data,
209 STACK_OF(X509) * cert_chain);
213 globus_gsi_callback_data_t callback_data,
214 int * multiple_limited_proxy_ok);
218 globus_gsi_callback_data_t callback_data,
219 int multiple_limited_proxy_ok);
223 globus_gsi_callback_data_t callback_data,
224 void ** extension_oids);
228 globus_gsi_callback_data_t callback_data,
229 void * extension_oids);
233 globus_gsi_callback_data_t callback_data,
238 globus_gsi_callback_data_t callback_data,
242 globus_gsi_callback_get_goodtill(
243 globus_gsi_callback_data_t callback_data,
247 globus_gsi_callback_set_goodtill(
248 globus_gsi_callback_data_t callback_data,
253 globus_gsi_callback_data_t callback_data,
258 globus_gsi_callback_data_t callback_data,
263 globus_gsi_callback_data_t callback_data,
264 globus_result_t * error);
268 globus_gsi_callback_data_t callback_data,
269 globus_result_t error);
273 globus_gsi_callback_data_t callback_data,
274 globus_bool_t * check);
278 globus_gsi_callback_data_t callback_data,
279 globus_bool_t check);
283 globus_gsi_callback_data_t callback_data,
284 globus_bool_t * allow);
288 globus_gsi_callback_data_t callback_data,
289 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:243
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:44
int(* globus_gsi_extension_callback_t)(globus_gsi_callback_data_t callback_data, X509_EXTENSION *extension)
Definition: globus_gsi_callback.h:124
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:600
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:1019
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:1102
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:866
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:160
int globus_gsi_callback_check_issued(X509_STORE_CTX *context, X509 *cert, X509 *issuer)
OpenSSL X509_check_issued() wrapper.
Definition: globus_gsi_callback.c:590
int globus_gsi_callback_create_proxy_callback(int preverify_ok, X509_STORE_CTX *x509_context)
Independent path validation callback.
Definition: globus_gsi_callback.c:430
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:726
int globus_gsi_callback_handshake_callback(int preverify_ok, X509_STORE_CTX *x509_context)
SSL path validation callback.
Definition: globus_gsi_callback.c:505
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:391
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:821
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:338
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:1282
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:531
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:296
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:1193
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:669
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:768
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:1148
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:920
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:109
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:308
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:1061
int globus_gsi_callback_X509_verify_cert(X509_STORE_CTX *context, void *arg)
Certificate verify wrapper.
Definition: globus_gsi_callback.c:371
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:338
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:1238
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:434
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:968
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:487
struct globus_l_gsi_callback_data_s * globus_gsi_callback_data_t
Definition: globus_gsi_callback.h:117