23 #ifndef GLOBUS_INCLUDE_GLOBUS_GSI_CREDENTIAL_H
24 #define GLOBUS_INCLUDE_GLOBUS_GSI_CREDENTIAL_H
33 #include "openssl/x509.h"
34 #include "openssl/bio.h"
35 #include "openssl/ssl.h"
43 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET
100 #define GLOBUS_GSI_CREDENTIAL_MODULE (&globus_i_gsi_credential_module)
105 #define _GCRSL(s) globus_common_i18n_get_string( \
106 GLOBUS_GSI_CREDENTIAL_MODULE, \
162 typedef struct globus_l_gsi_cred_handle_s *
175 typedef struct globus_l_gsi_cred_handle_attrs_s *
180 globus_gsi_cred_handle_t * handle,
181 globus_gsi_cred_handle_attrs_t handle_attrs);
184 globus_gsi_cred_handle_t handle);
187 globus_gsi_cred_handle_t source,
188 globus_gsi_cred_handle_t * dest);
191 globus_gsi_cred_handle_attrs_t * handle_attrs);
194 globus_gsi_cred_handle_attrs_t handle_attrs);
197 globus_gsi_cred_handle_attrs_t source,
198 globus_gsi_cred_handle_attrs_t * dest);
201 globus_gsi_cred_handle_t handle,
202 X509_NAME * desired_subject);
205 globus_gsi_cred_handle_t handle,
206 const char * proxy_filename);
209 globus_gsi_cred_handle_t handle,
213 globus_gsi_cred_handle_t handle,
214 const char * key_filename,
218 globus_gsi_cred_handle_t handle,
219 const char * cert_filename);
222 globus_gsi_cred_handle_t handle,
226 const char * pem_buf,
227 globus_gsi_cred_handle_t * out_handle,
229 STACK_OF(X509) ** out_cert_chain,
230 char ** out_subject);
233 globus_gsi_cred_handle_t handle,
234 const char * pkcs12_filename);
237 globus_gsi_cred_handle_t handle,
241 globus_gsi_cred_handle_t handle,
242 const char * proxy_filename);
246 globus_gsi_cred_handle_t cred_handle,
251 globus_gsi_cred_handle_t cred_handle,
256 globus_gsi_cred_handle_t handle);
259 globus_gsi_cred_handle_t handle,
260 X509_NAME ** subject_name);
263 globus_gsi_cred_handle_t handle,
264 char ** subject_name);
267 globus_gsi_cred_handle_t handle,
268 STACK_OF(OPENSSL_STRING) ** policies);
271 globus_gsi_cred_handle_t handle,
272 STACK_OF(ASN1_OBJECT) ** languages);
275 globus_gsi_cred_handle_t handle,
276 STACK_OF(ASN1_INTEGER) * integer);
279 globus_gsi_cred_handle_t handle,
280 X509_NAME ** issuer_name);
283 globus_gsi_cred_handle_t handle,
284 char ** issuer_name);
287 globus_gsi_cred_handle_t handle,
288 X509_NAME ** identity_name);
291 globus_gsi_cred_handle_t handle,
292 char ** identity_name);
295 globus_gsi_cred_handle_t handle,
299 globus_gsi_cred_handle_t handle,
303 globus_gsi_cred_handle_t handle,
304 STACK_OF(X509) * cert_chain);
307 globus_gsi_cred_handle_t handle,
311 globus_gsi_cred_handle_t handle,
315 globus_gsi_cred_handle_t handle,
316 STACK_OF(X509) ** cert_chain);
319 globus_gsi_cred_handle_t handle,
320 globus_gsi_cred_handle_attrs_t * handle_attrs);
323 globus_gsi_cred_handle_t handle,
327 globus_gsi_cred_handle_t handle,
331 globus_gsi_cred_handle_t handle,
335 globus_gsi_cred_handle_t handle,
340 globus_gsi_cred_handle_attrs_t handle_attrs,
341 const char * ca_cert_dir));
345 globus_gsi_cred_handle_attrs_t handle_attrs,
346 char ** ca_cert_dir));
349 globus_gsi_cred_handle_attrs_t handle_attrs,
354 globus_gsi_cred_handle_attrs_t handle_attrs,
globus_result_t globus_gsi_cred_get_subject_name(globus_gsi_cred_handle_t handle, char **subject_name)
Get credential subject name.
Definition: globus_gsi_cred_handle.c:1152
globus_result_t globus_gsi_cred_handle_attrs_copy(globus_gsi_cred_handle_attrs_t source, globus_gsi_cred_handle_attrs_t *dest)
Copy credential handle attributes.
Definition: globus_gsi_cred_handle_attrs.c:159
globus_result_t globus_gsi_cred_get_key_bits(globus_gsi_cred_handle_t cred_handle, int *key_bits)
Get credential strength.
Definition: globus_gsi_cred_handle.c:448
globus_result_t globus_gsi_cred_get_identity_name(globus_gsi_cred_handle_t handle, char **identity_name)
Get identity name.
Definition: globus_gsi_cred_handle.c:1617
Globus GSI Cert Utils Library.
globus_result_t globus_gsi_cred_write_proxy(globus_gsi_cred_handle_t handle, const char *proxy_filename)
Write a proxy credential.
Definition: globus_gsi_credential.c:1850
globus_result_t globus_gsi_cred_get_X509_subject_name(globus_gsi_cred_handle_t handle, X509_NAME **subject_name)
Get credential subject name.
Definition: globus_gsi_cred_handle.c:1002
globus_result_t globus_gsi_cred_read_pkcs12(globus_gsi_cred_handle_t handle, const char *pkcs12_filename)
Read certificate and key from a PKCS12 file.
Definition: globus_gsi_credential.c:1519
globus_result_t globus_gsi_cred_get_cert_type(globus_gsi_cred_handle_t handle, globus_gsi_cert_utils_cert_type_t *type)
Get the X.509 certificate type.
Definition: globus_gsi_credential.c:1979
globus_result_t globus_gsi_cred_verify(globus_gsi_cred_handle_t handle)
Verify a credential.
Definition: globus_gsi_cred_handle.c:2049
globus_result_t globus_gsi_cred_handle_destroy(globus_gsi_cred_handle_t handle)
Destroy the credential handle.
Definition: globus_gsi_cred_handle.c:137
struct globus_l_gsi_cred_handle_s * globus_gsi_cred_handle_t
Definition: globus_gsi_credential.h:162
globus_result_t globus_gsi_cred_handle_attrs_init(globus_gsi_cred_handle_attrs_t *handle_attrs)
Initialize credential handle attributes.
Definition: globus_gsi_cred_handle_attrs.c:60
globus_result_t globus_gsi_cred_get_X509_issuer_name(globus_gsi_cred_handle_t handle, X509_NAME **issuer_name)
Get credential issuer name object.
Definition: globus_gsi_cred_handle.c:1489
globus_result_t globus_gsi_cred_get_issuer_name(globus_gsi_cred_handle_t handle, char **issuer_name)
Get issuer name.
Definition: globus_gsi_cred_handle.c:1552
globus_result_t globus_gsi_cred_handle_attrs_set_ca_cert_dir(globus_gsi_cred_handle_attrs_t handle_attrs, const char *ca_cert_dir)
Set the CA certificate directory.
Definition: globus_gsi_cred_handle_attrs.c:235
globus_result_t globus_gsi_cred_get_lifetime(globus_gsi_cred_handle_t cred_handle, time_t *lifetime)
Get credential lifetime.
Definition: globus_gsi_cred_handle.c:396
globus_result_t globus_gsi_cred_get_goodtill(globus_gsi_cred_handle_t cred_handle, time_t *goodtill)
Get credential expiration.
Definition: globus_gsi_cred_handle.c:351
globus_result_t globus_gsi_cred_set_cert(globus_gsi_cred_handle_t handle, X509 *cert)
Set the credential's certificate.
Definition: globus_gsi_cred_handle.c:534
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[])
Set the search order.
Definition: globus_gsi_cred_handle_attrs.c:347
globus_result_t globus_gsi_cred_read_cert_buffer(const char *pem_buf, globus_gsi_cred_handle_t *out_handle, X509 **out_cert, STACK_OF(X509)**out_cert_chain, char **out_subject)
Read certificate chain from a buffer.
Definition: globus_gsi_credential.c:1392
globus_gsi_cred_type_t
Definition: globus_gsi_cred_constants.h:104
globus_result_t globus_gsi_cred_get_cert_chain(globus_gsi_cred_handle_t handle, STACK_OF(X509)**cert_chain)
Get the certificate chain.
Definition: globus_gsi_cred_handle.c:926
globus_result_t globus_gsi_cred_handle_copy(globus_gsi_cred_handle_t source, globus_gsi_cred_handle_t *dest)
Copy a handle.
Definition: globus_gsi_cred_handle.c:185
globus_result_t globus_gsi_cred_write(globus_gsi_cred_handle_t handle, BIO *bio)
Write Credential.
Definition: globus_gsi_credential.c:1766
globus_result_t globus_gsi_cred_set_cert_chain(globus_gsi_cred_handle_t handle, STACK_OF(X509)*cert_chain)
Set the certificate chain.
Definition: globus_gsi_cred_handle.c:828
globus_result_t globus_gsi_cred_get_policy_languages(globus_gsi_cred_handle_t handle, STACK_OF(ASN1_OBJECT)**policy_languages)
Get certificate chain policy languages.
Definition: globus_gsi_cred_handle.c:1374
globus_result_t globus_gsi_cred_get_key(globus_gsi_cred_handle_t handle, EVP_PKEY **key)
Get the credential's private key.
Definition: globus_gsi_cred_handle.c:751
globus_result_t globus_gsi_cred_handle_init(globus_gsi_cred_handle_t *handle, globus_gsi_cred_handle_attrs_t handle_attrs)
Initialize a Handle.
Definition: globus_gsi_cred_handle.c:57
globus_result_t globus_gsi_cred_get_cert(globus_gsi_cred_handle_t handle, X509 **cert)
Get the credential's certificate.
Definition: globus_gsi_cred_handle.c:604
globus_result_t globus_gsi_cred_read_cert_bio(globus_gsi_cred_handle_t handle, BIO *bio)
Read a certificate chain from a BIO.
Definition: globus_gsi_credential.c:1269
Headers common to all of Globus.
uint32_t globus_result_t
Definition: globus_types.h:99
globus_result_t globus_gsi_cred_read_key(globus_gsi_cred_handle_t handle, const char *key_filename, int(*pw_cb)())
Read a private key.
Definition: globus_gsi_credential.c:1127
globus_result_t globus_gsi_cred_read(globus_gsi_cred_handle_t handle, X509_NAME *desired_subject)
Read a credential.
Definition: globus_gsi_credential.c:200
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)
Get the search order.
Definition: globus_gsi_cred_handle_attrs.c:405
enum globus_gsi_cert_utils_cert_type_e globus_gsi_cert_utils_cert_type_t
Globus GSI Credential Library.
struct globus_l_gsi_cred_handle_attrs_s * globus_gsi_cred_handle_attrs_t
Definition: globus_gsi_credential.h:175
globus_result_t globus_gsi_cred_get_handle_attrs(globus_gsi_cred_handle_t handle, globus_gsi_cred_handle_attrs_t *attrs)
Get the handle attributes.
Definition: globus_gsi_cred_handle.c:291
globus_result_t globus_gsi_cred_get_X509_identity_name(globus_gsi_cred_handle_t handle, X509_NAME **identity_name)
Get X.509 identity.
Definition: globus_gsi_cred_handle.c:1065
globus_result_t globus_gsi_cred_set_key(globus_gsi_cred_handle_t handle, EVP_PKEY *key)
Set the credential's private key.
Definition: globus_gsi_cred_handle.c:663
globus_result_t globus_gsi_cred_verify_cert_chain_when(globus_gsi_cred_handle_t cred_handle, globus_gsi_callback_data_t callback_data_in, time_t check_time)
Verify credential at a specific time.
Definition: globus_gsi_cred_handle.c:1847
globus_result_t globus_gsi_cred_read_proxy(globus_gsi_cred_handle_t handle, const char *proxy_filename)
Read proxy credential.
Definition: globus_gsi_credential.c:823
globus_result_t globus_gsi_cred_handle_attrs_destroy(globus_gsi_cred_handle_attrs_t handle_attrs)
Destroy credential handle attributes.
Definition: globus_gsi_cred_handle_attrs.c:123
globus_result_t globus_gsi_cred_read_proxy_bio(globus_gsi_cred_handle_t handle, BIO *bio)
Read proxy credential from a BIO.
Definition: globus_gsi_credential.c:894
globus_result_t globus_gsi_cred_get_policies(globus_gsi_cred_handle_t handle, STACK_OF(OPENSSL_STRING)**policies)
Get certificate chain policies.
Definition: globus_gsi_cred_handle.c:1214
globus_result_t globus_gsi_cred_verify_cert_chain(globus_gsi_cred_handle_t cred_handle, globus_gsi_callback_data_t callback_data)
Verify credential.
Definition: globus_gsi_cred_handle.c:1697
globus_result_t globus_gsi_cred_read_cert(globus_gsi_cred_handle_t handle, const char *cert_filename)
Read a certificate chain from a file.
Definition: globus_gsi_credential.c:1212
globus_result_t globus_gsi_cred_handle_attrs_get_ca_cert_dir(globus_gsi_cred_handle_attrs_t handle_attrs, char **ca_cert_dir)
Get the CA certificate directory.
Definition: globus_gsi_cred_handle_attrs.c:285
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