Grid Community Toolkit  6.2.1705709074 (tag: v6.2.20240202)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
globus_gsi_callback.h
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2006 University of Chicago
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #ifndef GLOBUS_GSI_CALLBACK_H
18 #define GLOBUS_GSI_CALLBACK_H
19 
27 #include "globus_common.h"
28 #include "globus_gsi_cert_utils.h"
29 #include "openssl/x509.h"
30 
31 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
32 
36 #endif
37 
81 #ifdef __cplusplus
82 extern "C" {
83 #endif
84 
90 #define GLOBUS_GSI_CALLBACK_MODULE (&globus_i_gsi_callback_module)
91 
92 extern
93 globus_module_descriptor_t globus_i_gsi_callback_module;
94 
95 #define _CLS(s) globus_common_i18n_get_string(GLOBUS_GSI_CALLBACK_MODULE,\
96  s)
97 
121 typedef struct globus_l_gsi_callback_data_s *
123 
129  globus_gsi_callback_data_t callback_data,
130  X509_EXTENSION * extension);
131 
132 #ifndef DOXYGEN
133 
136  int * index);
137 
140  int * index);
141 
142 int
144  int preverify_ok,
145  X509_STORE_CTX * x509_context);
146 
147 int
149  int preverify_ok,
150  X509_STORE_CTX * x509_context);
151 
153  X509_STORE_CTX * context,
154  X509 * cert,
155  X509 * issuer);
156 
157 int
159  X509_STORE_CTX * context,
160  void * arg);
161 
164  globus_gsi_callback_data_t * callback_data);
165 
168  globus_gsi_callback_data_t callback_data);
169 
172  globus_gsi_callback_data_t source,
173  globus_gsi_callback_data_t * dest);
174 
177  globus_gsi_callback_data_t callback_data,
178  int * cert_depth);
179 
182  globus_gsi_callback_data_t callback_data,
183  int cert_depth);
184 
187  globus_gsi_callback_data_t callback_data,
188  int * proxy_depth);
189 
192  globus_gsi_callback_data_t callback_data,
193  int proxy_depth);
194 
197  globus_gsi_callback_data_t callback_data,
199 
202  globus_gsi_callback_data_t callback_data,
204 
207  globus_gsi_callback_data_t callback_data,
208  STACK_OF(X509) ** cert_chain);
209 
212  globus_gsi_callback_data_t callback_data,
213  STACK_OF(X509) * cert_chain);
214 
217  globus_gsi_callback_data_t callback_data,
218  int * multiple_limited_proxy_ok);
219 
222  globus_gsi_callback_data_t callback_data,
223  int multiple_limited_proxy_ok);
224 
227  globus_gsi_callback_data_t callback_data,
228  void ** extension_oids);
229 
232  globus_gsi_callback_data_t callback_data,
233  void * extension_oids);
234 
237  globus_gsi_callback_data_t callback_data,
238  char ** cert_dir);
239 
242  globus_gsi_callback_data_t callback_data,
243  char * cert_dir);
244 
246 globus_gsi_callback_get_goodtill(
247  globus_gsi_callback_data_t callback_data,
248  time_t * goodtill);
249 
251 globus_gsi_callback_set_goodtill(
252  globus_gsi_callback_data_t callback_data,
253  time_t goodtill);
254 
257  globus_gsi_callback_data_t callback_data,
258  globus_gsi_extension_callback_t * extension_cb);
259 
262  globus_gsi_callback_data_t callback_data,
263  globus_gsi_extension_callback_t extension_cb);
264 
267  globus_gsi_callback_data_t callback_data,
268  globus_result_t * error);
269 
272  globus_gsi_callback_data_t callback_data,
273  globus_result_t error);
274 
277  globus_gsi_callback_data_t callback_data,
278  globus_bool_t * check);
279 
282  globus_gsi_callback_data_t callback_data,
283  globus_bool_t check);
284 
287  globus_gsi_callback_data_t callback_data,
288  globus_bool_t * allow);
289 
292  globus_gsi_callback_data_t callback_data,
293  globus_bool_t allow);
294 
295 #endif /* DOXYGEN */
296 
297 #ifdef __cplusplus
298 }
299 #endif
300 
301 #endif /* GLOBUS_GSI_CALLBACK_H */
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:128
Globus GSI Cert Utils Library.
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
int globus_bool_t
Boolean type.
Definition: globus_types.h:93
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:593
int globus_gsi_callback_create_proxy_callback(int preverify_ok, X509_STORE_CTX *x509_context)
Independent path validation callback.
Definition: globus_gsi_callback.c:433
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:508
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:341
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
Headers common to all of Globus.
uint32_t globus_result_t
Definition: globus_types.h:99
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
enum globus_gsi_cert_utils_cert_type_e globus_gsi_cert_utils_cert_type_t
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:311
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:374
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:121
Module Descriptor.
Definition: globus_module.h:71