globus_gsi_callback.h

Go to the documentation of this file.
00001 /*
00002  * Copyright 1999-2006 University of Chicago
00003  * 
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  * 
00008  * http://www.apache.org/licenses/LICENSE-2.0
00009  * 
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef GLOBUS_GSI_CALLBACK_H
00018 #define GLOBUS_GSI_CALLBACK_H
00019 
00027 #include "globus_common.h"
00028 #include "globus_gsi_cert_utils.h"
00029 #include "openssl/x509.h"
00030 
00031 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
00032 
00036 #endif
00037 
00079 #ifdef __cplusplus
00080 extern "C" {
00081 #endif
00082 
00088 #define GLOBUS_GSI_CALLBACK_MODULE    (&globus_i_gsi_callback_module)
00089 
00090 extern 
00091 globus_module_descriptor_t              globus_i_gsi_callback_module;
00092 
00093 #define _CLS(s) globus_common_i18n_get_string(GLOBUS_GSI_CALLBACK_MODULE,\
00094                 s)
00095 
00117 typedef struct globus_l_gsi_callback_data_s *
00118                                         globus_gsi_callback_data_t;
00119 
00124 typedef int (*globus_gsi_extension_callback_t)(
00125     globus_gsi_callback_data_t          callback_data,
00126     X509_EXTENSION *                    extension);
00127 
00128 #ifndef DOXYGEN
00129 
00130 globus_result_t
00131 globus_gsi_callback_get_X509_STORE_callback_data_index(
00132     int *                               index);
00133 
00134 globus_result_t
00135 globus_gsi_callback_get_SSL_callback_data_index(
00136     int *                               index);
00137 
00138 int
00139 globus_gsi_callback_create_proxy_callback(
00140     int                                 preverify_ok,
00141     X509_STORE_CTX *                    x509_context);
00142 
00143 int
00144 globus_gsi_callback_handshake_callback(
00145     int                                 preverify_ok,
00146     X509_STORE_CTX *                    x509_context);
00147 
00148 int globus_gsi_callback_check_issued(
00149     X509_STORE_CTX *                    context,
00150     X509 *                              cert,
00151     X509 *                              issuer);
00152 
00153 int 
00154 globus_gsi_callback_X509_verify_cert(
00155     X509_STORE_CTX *                    context,
00156     void *                              arg);
00157 
00158 globus_result_t
00159 globus_gsi_callback_data_init(
00160     globus_gsi_callback_data_t *        callback_data);
00161 
00162 globus_result_t
00163 globus_gsi_callback_data_destroy(
00164     globus_gsi_callback_data_t          callback_data);
00165 
00166 globus_result_t
00167 globus_gsi_callback_data_copy(
00168     globus_gsi_callback_data_t     source,
00169     globus_gsi_callback_data_t *   dest);
00170 
00171 globus_result_t
00172 globus_gsi_callback_get_cert_depth(
00173     globus_gsi_callback_data_t          callback_data,
00174     int *                               cert_depth);
00175 
00176 globus_result_t
00177 globus_gsi_callback_set_cert_depth(
00178     globus_gsi_callback_data_t          callback_data,
00179     int                                 cert_depth);
00180 
00181 globus_result_t
00182 globus_gsi_callback_get_proxy_depth(
00183     globus_gsi_callback_data_t          callback_data,
00184     int *                               proxy_depth);
00185 
00186 globus_result_t
00187 globus_gsi_callback_set_proxy_depth(
00188     globus_gsi_callback_data_t          callback_data,
00189     int                                 proxy_depth);
00190 
00191 globus_result_t
00192 globus_gsi_callback_set_cert_type(
00193     globus_gsi_callback_data_t          callback_data,
00194     globus_gsi_cert_utils_cert_type_t   cert_type);
00195 
00196 globus_result_t
00197 globus_gsi_callback_get_cert_type(
00198     globus_gsi_callback_data_t          callback_data,
00199     globus_gsi_cert_utils_cert_type_t * cert_type);
00200 
00201 globus_result_t
00202 globus_gsi_callback_get_cert_chain(
00203     globus_gsi_callback_data_t          callback_data,
00204     STACK_OF(X509) **                   cert_chain);
00205 
00206 globus_result_t
00207 globus_gsi_callback_set_cert_chain(
00208     globus_gsi_callback_data_t          callback_data,
00209     STACK_OF(X509) *                    cert_chain);
00210 
00211 globus_result_t
00212 globus_gsi_callback_get_multiple_limited_proxy_ok(
00213     globus_gsi_callback_data_t          callback_data,
00214     int *                               multiple_limited_proxy_ok);
00215 
00216 globus_result_t
00217 globus_gsi_callback_set_multiple_limited_proxy_ok(
00218     globus_gsi_callback_data_t          callback_data,
00219     int                                 multiple_limited_proxy_ok);
00220 
00221 globus_result_t
00222 globus_gsi_callback_get_extension_oids(
00223     globus_gsi_callback_data_t          callback_data,
00224     void **                             extension_oids);
00225 
00226 globus_result_t
00227 globus_gsi_callback_set_extension_oids(
00228     globus_gsi_callback_data_t          callback_data,
00229     void *                              extension_oids);
00230 
00231 globus_result_t
00232 globus_gsi_callback_get_cert_dir(
00233     globus_gsi_callback_data_t          callback_data,
00234     char **                             cert_dir);
00235 
00236 globus_result_t
00237 globus_gsi_callback_set_cert_dir(
00238     globus_gsi_callback_data_t          callback_data,
00239     char *                              cert_dir);
00240 
00241 globus_result_t
00242 globus_gsi_callback_get_goodtill(
00243     globus_gsi_callback_data_t          callback_data,
00244     time_t *                            goodtill);
00245 
00246 globus_result_t
00247 globus_gsi_callback_set_goodtill(
00248     globus_gsi_callback_data_t          callback_data,
00249     time_t                              goodtill);
00250 
00251 globus_result_t
00252 globus_gsi_callback_get_extension_cb(
00253     globus_gsi_callback_data_t          callback_data,
00254     globus_gsi_extension_callback_t *   extension_cb);
00255 
00256 globus_result_t
00257 globus_gsi_callback_set_extension_cb(
00258     globus_gsi_callback_data_t          callback_data,
00259     globus_gsi_extension_callback_t     extension_cb);
00260 
00261 globus_result_t
00262 globus_gsi_callback_get_error(
00263     globus_gsi_callback_data_t          callback_data,
00264     globus_result_t *                   error);
00265 
00266 globus_result_t
00267 globus_gsi_callback_set_error(
00268     globus_gsi_callback_data_t          callback_data,
00269     globus_result_t                     error);
00270 
00271 globus_result_t
00272 globus_gsi_callback_get_check_policy_for_self_signed_certs(
00273     globus_gsi_callback_data_t          callback_data,
00274     globus_bool_t *                     check);
00275 
00276 globus_result_t
00277 globus_gsi_callback_set_check_policy_for_self_signed_certs(
00278     globus_gsi_callback_data_t          callback_data,
00279     globus_bool_t                       check);
00280 
00281 globus_result_t
00282 globus_gsi_callback_get_allow_missing_signing_policy(
00283     globus_gsi_callback_data_t          callback_data,
00284     globus_bool_t *                     allow);
00285 
00286 globus_result_t
00287 globus_gsi_callback_set_allow_missing_signing_policy(
00288     globus_gsi_callback_data_t          callback_data,
00289     globus_bool_t                       allow);
00290     
00291 #endif /* DOXYGEN */
00292 
00293 #ifdef __cplusplus
00294 }
00295 #endif
00296 
00297 #endif /* GLOBUS_GSI_CALLBACK_H */

Generated on 28 Oct 2014 for globus_gsi_callback by  doxygen 1.4.7