Grid Community Toolkit  6.2.1541705016
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 
79 #ifdef __cplusplus
80 extern "C" {
81 #endif
82 
88 #define GLOBUS_GSI_CALLBACK_MODULE (&globus_i_gsi_callback_module)
89 
90 extern
91 globus_module_descriptor_t globus_i_gsi_callback_module;
92 
93 #define _CLS(s) globus_common_i18n_get_string(GLOBUS_GSI_CALLBACK_MODULE,\
94  s)
95 
117 typedef struct globus_l_gsi_callback_data_s *
119 
125  globus_gsi_callback_data_t callback_data,
126  X509_EXTENSION * extension);
127 
128 #ifndef DOXYGEN
129 
132  int * index);
133 
136  int * index);
137 
138 int
140  int preverify_ok,
141  X509_STORE_CTX * x509_context);
142 
143 int
145  int preverify_ok,
146  X509_STORE_CTX * x509_context);
147 
149  X509_STORE_CTX * context,
150  X509 * cert,
151  X509 * issuer);
152 
153 int
155  X509_STORE_CTX * context,
156  void * arg);
157 
160  globus_gsi_callback_data_t * callback_data);
161 
164  globus_gsi_callback_data_t callback_data);
165 
170 
173  globus_gsi_callback_data_t callback_data,
174  int * cert_depth);
175 
178  globus_gsi_callback_data_t callback_data,
179  int cert_depth);
180 
183  globus_gsi_callback_data_t callback_data,
184  int * proxy_depth);
185 
188  globus_gsi_callback_data_t callback_data,
189  int proxy_depth);
190 
193  globus_gsi_callback_data_t callback_data,
195 
198  globus_gsi_callback_data_t callback_data,
200 
203  globus_gsi_callback_data_t callback_data,
204  STACK_OF(X509) ** cert_chain);
205 
208  globus_gsi_callback_data_t callback_data,
209  STACK_OF(X509) * cert_chain);
210 
213  globus_gsi_callback_data_t callback_data,
214  int * multiple_limited_proxy_ok);
215 
218  globus_gsi_callback_data_t callback_data,
219  int multiple_limited_proxy_ok);
220 
223  globus_gsi_callback_data_t callback_data,
224  void ** extension_oids);
225 
228  globus_gsi_callback_data_t callback_data,
229  void * extension_oids);
230 
233  globus_gsi_callback_data_t callback_data,
234  char ** cert_dir);
235 
238  globus_gsi_callback_data_t callback_data,
239  char * cert_dir);
240 
242 globus_gsi_callback_get_goodtill(
243  globus_gsi_callback_data_t callback_data,
244  time_t * goodtill);
245 
247 globus_gsi_callback_set_goodtill(
248  globus_gsi_callback_data_t callback_data,
249  time_t goodtill);
250 
253  globus_gsi_callback_data_t callback_data,
254  globus_gsi_extension_callback_t * extension_cb);
255 
258  globus_gsi_callback_data_t callback_data,
259  globus_gsi_extension_callback_t extension_cb);
260 
263  globus_gsi_callback_data_t callback_data,
264  globus_result_t * error);
265 
268  globus_gsi_callback_data_t callback_data,
269  globus_result_t error);
270 
273  globus_gsi_callback_data_t callback_data,
274  globus_bool_t * check);
275 
278  globus_gsi_callback_data_t callback_data,
279  globus_bool_t check);
280 
283  globus_gsi_callback_data_t callback_data,
284  globus_bool_t * allow);
285 
288  globus_gsi_callback_data_t callback_data,
289  globus_bool_t allow);
290 
291 #endif /* DOXYGEN */
292 
293 #ifdef __cplusplus
294 }
295 #endif
296 
297 #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:124
Globus GSI Cert Utils Library.
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_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_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_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_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_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:117
Module Descriptor.
Definition: globus_module.h:69