23 #ifndef GLOBUS_INCLUDE_GLOBUS_GSI_CREDENTIAL_H
24 #define GLOBUS_INCLUDE_GLOBUS_GSI_CREDENTIAL_H
26 #include "globus_common.h"
27 #include "globus_error_openssl.h"
29 #include "globus_gsi_callback.h"
30 #include "globus_gsi_cert_utils.h"
33 #include "openssl/x509.h"
34 #include "openssl/bio.h"
35 #include "openssl/ssl.h"
36 #include "globus_error_generic.h"
37 #include "globus_error_openssl.h"
43 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
97 #define GLOBUS_GSI_CREDENTIAL_MODULE (&globus_i_gsi_credential_module)
100 globus_module_descriptor_t globus_i_gsi_credential_module;
102 #define _GCRSL(s) globus_common_i18n_get_string( \
103 GLOBUS_GSI_CREDENTIAL_MODULE, \
156 typedef struct globus_l_gsi_cred_handle_s *
168 #if OPENSSL_VERSION_NUMBER >= 0x10000000L
169 #define STACK STACK_OF(OPENSSL_STRING)
172 typedef struct globus_l_gsi_cred_handle_attrs_s *
177 globus_gsi_cred_handle_t * handle,
178 globus_gsi_cred_handle_attrs_t handle_attrs);
181 globus_gsi_cred_handle_t handle);
184 globus_gsi_cred_handle_t source,
185 globus_gsi_cred_handle_t * dest);
188 globus_gsi_cred_handle_attrs_t * handle_attrs);
191 globus_gsi_cred_handle_attrs_t handle_attrs);
194 globus_gsi_cred_handle_attrs_t source,
195 globus_gsi_cred_handle_attrs_t * dest);
198 globus_gsi_cred_handle_init_ssl_context(
199 globus_gsi_cred_handle_t cred_handle);
202 globus_gsi_cred_handle_t handle,
203 X509_NAME * desired_subject);
206 globus_gsi_cred_handle_t handle,
207 const char * proxy_filename);
210 globus_gsi_cred_handle_t handle,
214 globus_gsi_cred_handle_t handle,
219 globus_gsi_cred_handle_t handle,
220 char * cert_filename);
223 globus_gsi_cred_handle_t handle,
228 globus_gsi_cred_handle_t * out_handle,
230 STACK_OF(X509) ** out_cert_chain,
231 char ** out_subject);
234 globus_gsi_cred_handle_t handle,
235 char * pkcs12_filename);
238 globus_gsi_cred_handle_t handle,
242 globus_gsi_cred_handle_t handle,
243 char * proxy_filename);
247 globus_gsi_cred_handle_t cred_handle,
248 globus_gsi_callback_data_t callback_data);
252 globus_gsi_cred_handle_t cred_handle,
253 globus_gsi_callback_data_t callback_data,
257 globus_gsi_cred_handle_t handle);
260 globus_gsi_cred_handle_t handle,
261 X509_NAME ** subject_name);
264 globus_gsi_cred_handle_t handle,
265 char ** subject_name);
268 globus_gsi_cred_handle_t handle,
272 globus_gsi_cred_handle_t handle,
273 STACK_OF(ASN1_OBJECT) ** languages);
275 globus_result_t globus_gsi_cred_get_path_lengths(
276 globus_gsi_cred_handle_t handle,
277 STACK_OF(ASN1_INTEGER) * integer);
280 globus_gsi_cred_handle_t handle,
281 X509_NAME ** issuer_name);
284 globus_gsi_cred_handle_t handle,
285 char ** issuer_name);
288 globus_gsi_cred_handle_t handle,
289 X509_NAME ** identity_name);
292 globus_gsi_cred_handle_t handle,
293 char ** identity_name);
296 globus_gsi_cred_handle_t handle,
300 globus_gsi_cred_handle_t handle,
304 globus_gsi_cred_handle_t handle,
305 STACK_OF(X509) * cert_chain);
308 globus_gsi_cred_handle_t handle,
312 globus_gsi_cred_handle_t handle,
316 globus_gsi_cred_handle_t handle,
317 STACK_OF(X509) ** cert_chain);
320 globus_gsi_cred_handle_t handle,
321 globus_gsi_cred_handle_attrs_t * handle_attrs);
324 globus_gsi_cred_handle_t handle,
328 globus_gsi_cred_handle_t handle,
332 globus_gsi_cred_handle_t handle,
333 globus_gsi_cert_utils_cert_type_t * type);
336 globus_gsi_cred_handle_t handle,
340 globus_gsi_cred_handle_attrs_t handle_attrs,
344 globus_gsi_cred_handle_attrs_t handle_attrs,
345 char ** ca_cert_dir);
348 globus_gsi_cred_handle_attrs_t handle_attrs,
353 globus_gsi_cred_handle_attrs_t handle_attrs,
globus_result_t globus_gsi_cred_handle_attrs_set_ca_cert_dir(globus_gsi_cred_handle_attrs_t handle_attrs, char *ca_cert_dir)
Definition: globus_gsi_cred_handle_attrs.c:247
globus_result_t globus_gsi_cred_get_subject_name(globus_gsi_cred_handle_t handle, char **subject_name)
Definition: globus_gsi_cred_handle.c:1197
globus_result_t globus_gsi_cred_handle_attrs_copy(globus_gsi_cred_handle_attrs_t source, globus_gsi_cred_handle_attrs_t *dest)
Definition: globus_gsi_cred_handle_attrs.c:166
globus_result_t globus_gsi_cred_get_key_bits(globus_gsi_cred_handle_t handle, int *key_bits)
Definition: globus_gsi_cred_handle.c:480
globus_result_t globus_gsi_cred_get_identity_name(globus_gsi_cred_handle_t handle, char **identity_name)
Definition: globus_gsi_cred_handle.c:1697
globus_result_t globus_gsi_cred_get_policies(globus_gsi_cred_handle_t handle, STACK **policies)
Definition: globus_gsi_cred_handle.c:1263
globus_result_t globus_gsi_cred_get_X509_subject_name(globus_gsi_cred_handle_t handle, X509_NAME **subject_name)
Definition: globus_gsi_cred_handle.c:1041
globus_result_t globus_gsi_cred_get_cert_type(globus_gsi_cred_handle_t handle, globus_gsi_cert_utils_cert_type_t *type)
Definition: globus_gsi_credential.c:2019
globus_result_t globus_gsi_cred_verify(globus_gsi_cred_handle_t handle)
Definition: globus_gsi_cred_handle.c:2123
globus_result_t globus_gsi_cred_read_pkcs12(globus_gsi_cred_handle_t handle, char *pkcs12_filename)
Definition: globus_gsi_credential.c:1553
globus_result_t globus_gsi_cred_handle_destroy(globus_gsi_cred_handle_t handle)
Definition: globus_gsi_cred_handle.c:146
struct globus_l_gsi_cred_handle_s * globus_gsi_cred_handle_t
Definition: globus_gsi_credential.h:156
globus_result_t globus_gsi_cred_handle_attrs_init(globus_gsi_cred_handle_attrs_t *handle_attrs)
Definition: globus_gsi_cred_handle_attrs.c:62
globus_result_t globus_gsi_cred_get_X509_issuer_name(globus_gsi_cred_handle_t handle, X509_NAME **issuer_name)
Definition: globus_gsi_cred_handle.c:1563
globus_result_t globus_gsi_cred_get_issuer_name(globus_gsi_cred_handle_t handle, char **issuer_name)
Definition: globus_gsi_cred_handle.c:1629
globus_result_t globus_gsi_cred_write_proxy(globus_gsi_cred_handle_t handle, char *proxy_filename)
Definition: globus_gsi_credential.c:1885
globus_result_t globus_gsi_cred_get_lifetime(globus_gsi_cred_handle_t handle, time_t *lifetime)
Definition: globus_gsi_cred_handle.c:424
globus_result_t globus_gsi_cred_get_goodtill(globus_gsi_cred_handle_t handle, time_t *goodtill)
Definition: globus_gsi_cred_handle.c:375
globus_result_t globus_gsi_cred_set_cert(globus_gsi_cred_handle_t handle, X509 *cert)
Definition: globus_gsi_cred_handle.c:570
globus_result_t globus_gsi_cred_handle_attrs_set_search_order(globus_gsi_cred_handle_attrs_t handle_attrs, globus_gsi_cred_type_t search_order[])
Definition: globus_gsi_cred_handle_attrs.c:357
globus_gsi_cred_type_t
Definition: globus_gsi_cred_constants.h:103
globus_result_t globus_gsi_cred_get_cert_chain(globus_gsi_cred_handle_t handle, STACK_OF(X509)**cert_chain)
Definition: globus_gsi_cred_handle.c:962
globus_result_t globus_gsi_cred_handle_copy(globus_gsi_cred_handle_t source, globus_gsi_cred_handle_t *dest)
Definition: globus_gsi_cred_handle.c:200
globus_result_t globus_gsi_cred_write(globus_gsi_cred_handle_t handle, BIO *bio)
Definition: globus_gsi_credential.c:1802
globus_result_t globus_gsi_cred_set_cert_chain(globus_gsi_cred_handle_t handle, STACK_OF(X509)*cert_chain)
Definition: globus_gsi_cred_handle.c:863
globus_result_t globus_gsi_cred_get_policy_languages(globus_gsi_cred_handle_t handle, STACK_OF(ASN1_OBJECT)**languages)
Definition: globus_gsi_cred_handle.c:1444
globus_result_t globus_gsi_cred_read_cert(globus_gsi_cred_handle_t handle, char *cert_filename)
Definition: globus_gsi_credential.c:1237
globus_result_t globus_gsi_cred_get_key(globus_gsi_cred_handle_t handle, EVP_PKEY **key)
Definition: globus_gsi_cred_handle.c:782
globus_result_t globus_gsi_cred_handle_init(globus_gsi_cred_handle_t *handle, globus_gsi_cred_handle_attrs_t handle_attrs)
Definition: globus_gsi_cred_handle.c:66
globus_result_t globus_gsi_cred_get_cert(globus_gsi_cred_handle_t handle, X509 **cert)
Definition: globus_gsi_cred_handle.c:640
globus_result_t globus_gsi_cred_read_cert_bio(globus_gsi_cred_handle_t handle, BIO *bio)
Definition: globus_gsi_credential.c:1296
globus_result_t globus_gsi_cred_read(globus_gsi_cred_handle_t handle, X509_NAME *desired_subject)
Definition: globus_gsi_credential.c:212
globus_result_t globus_gsi_cred_handle_attrs_get_search_order(globus_gsi_cred_handle_attrs_t handle_attrs, globus_gsi_cred_type_t **search_order)
Definition: globus_gsi_cred_handle_attrs.c:414
Globus GSI Credential Library.
struct globus_l_gsi_cred_handle_attrs_s * globus_gsi_cred_handle_attrs_t
Definition: globus_gsi_credential.h:172
globus_result_t globus_gsi_cred_get_handle_attrs(globus_gsi_cred_handle_t handle, globus_gsi_cred_handle_attrs_t *handle_attrs)
Definition: globus_gsi_cred_handle.c:311
globus_result_t globus_gsi_cred_get_X509_identity_name(globus_gsi_cred_handle_t handle, X509_NAME **identity_name)
Definition: globus_gsi_cred_handle.c:1107
globus_result_t globus_gsi_cred_set_key(globus_gsi_cred_handle_t handle, EVP_PKEY *key)
Definition: globus_gsi_cred_handle.c:695
globus_result_t globus_gsi_cred_verify_cert_chain_when(globus_gsi_cred_handle_t cred_handle, globus_gsi_callback_data_t callback_data, time_t check_time)
Definition: globus_gsi_cred_handle.c:1926
globus_result_t globus_gsi_cred_read_proxy(globus_gsi_cred_handle_t handle, const char *proxy_filename)
Definition: globus_gsi_credential.c:839
globus_result_t globus_gsi_cred_read_cert_buffer(char *pem_buf, globus_gsi_cred_handle_t *out_handle, X509 **out_cert, STACK_OF(X509)**out_cert_chain, char **out_subject)
Definition: globus_gsi_credential.c:1423
globus_result_t globus_gsi_cred_read_key(globus_gsi_cred_handle_t handle, char *key_filename, int(*pw_cb)())
Definition: globus_gsi_credential.c:1147
globus_result_t globus_gsi_cred_handle_attrs_destroy(globus_gsi_cred_handle_attrs_t handle_attrs)
Definition: globus_gsi_cred_handle_attrs.c:125
globus_result_t globus_gsi_cred_read_proxy_bio(globus_gsi_cred_handle_t handle, BIO *bio)
Definition: globus_gsi_credential.c:910
globus_result_t globus_gsi_cred_verify_cert_chain(globus_gsi_cred_handle_t cred_handle, globus_gsi_callback_data_t callback_data)
Definition: globus_gsi_cred_handle.c:1781
globus_result_t globus_gsi_cred_handle_attrs_get_ca_cert_dir(globus_gsi_cred_handle_attrs_t handle_attrs, char **ca_cert_dir)
Definition: globus_gsi_cred_handle_attrs.c:292