22 #ifndef GLOBUS_GLOBUS_GSI_PROXY_H    23 #define GLOBUS_GLOBUS_GSI_PROXY_H    25 #ifndef GLOBUS_GLOBAL_DOCUMENT_SET    64 #ifndef GLOBUS_DONT_DOCUMENT_INTERNAL    68 #include "openssl/evp.h"    69 #include "openssl/x509v3.h"   113 #define GLOBUS_GSI_PROXY_MODULE (&globus_i_gsi_proxy_module)   118 #define _PCSL(s) globus_common_i18n_get_string(\   119           GLOBUS_GSI_PROXY_MODULE, \   137 typedef struct globus_l_gsi_proxy_handle_s * 
   173     globus_gsi_proxy_handle_t *         handle,
   174     globus_gsi_proxy_handle_attrs_t     handle_attrs);
   178     globus_gsi_proxy_handle_t           handle);
   182     globus_gsi_proxy_handle_t           handle,
   187     globus_gsi_proxy_handle_t           handle,
   192     globus_gsi_proxy_handle_t           handle,
   193     EVP_PKEY **                         proxy_key);
   197     globus_gsi_proxy_handle_t           handle,
   198     const EVP_PKEY *                    proxy_key);
   202     globus_gsi_proxy_handle_t           handle,
   207     globus_gsi_proxy_handle_t           handle,
   213     globus_gsi_proxy_handle_t           handle,
   218     globus_gsi_proxy_handle_t           handle,
   223     globus_gsi_proxy_handle_t           handle,
   224     const unsigned char *               policy_data,
   230     globus_gsi_proxy_handle_t           handle,
   231     unsigned char **                    policy_data,
   237     globus_gsi_proxy_handle_t           handle,
   238     X509_EXTENSION *                    extension);
   242     globus_gsi_proxy_handle_t           handle,
   243     STACK_OF(X509_EXTENSION) *          extensions);
   247     globus_gsi_proxy_handle_t           handle,
   248     STACK_OF(X509_EXTENSION) **         extension);
   252     globus_gsi_proxy_handle_t           handle,
   257     globus_gsi_proxy_handle_t           handle,
   262     globus_gsi_proxy_handle_t           handle);
   264 #ifdef GLOBUS_GSI_PROXY_CORE_COMPAT_0   267 #define globus_gsi_proxy_handle_get_proxy_cert_info(h,p) \   268         globus_gsi_proxy_handle_get_proxy_cert_info_proxy_ssl(h,p)   269 #define globus_gsi_proxy_handle_set_proxy_cert_info(h,p) \   270         globus_gsi_proxy_handle_set_proxy_cert_info_proxy_ssl(h,p)   273 globus_gsi_proxy_handle_get_proxy_cert_info_proxy_ssl(
   274     globus_gsi_proxy_handle_t           handle,
   278 globus_gsi_proxy_handle_set_proxy_cert_info_proxy_ssl(
   279     globus_gsi_proxy_handle_t           handle,
   283 globus_gsi_proxy_handle_get_proxy_cert_info(
   284     globus_gsi_proxy_handle_t           handle,
   285     PROXY_CERT_INFO_EXTENSION **        pci);
   288 globus_gsi_proxy_handle_set_proxy_cert_info(
   289     globus_gsi_proxy_handle_t           handle,
   290     PROXY_CERT_INFO_EXTENSION *         pci);
   295     globus_gsi_proxy_handle_t           handle,
   296     char **                             common_name);
   300     globus_gsi_proxy_handle_t           handle,
   301     const char *                        common_name);
   305     globus_gsi_proxy_handle_t           handle,
   310     globus_gsi_proxy_handle_t           handle,
   315     globus_gsi_proxy_handle_t           handle,
   316     const EVP_MD **                     algorithm);
   320     globus_gsi_proxy_handle_t           handle,
   325     globus_gsi_proxy_handle_t           handle,
   330     globus_gsi_proxy_handle_t           handle,
   335     globus_gsi_proxy_handle_t           handle,
   336     void                                (**callback)(
int, 
int, 
void *));
   353     globus_gsi_proxy_handle_attrs_t *   handle_attrs);
   357     globus_gsi_proxy_handle_attrs_t     handle_attrs);
   361     globus_gsi_proxy_handle_attrs_t     a,
   362     globus_gsi_proxy_handle_attrs_t *   b);
   377     globus_gsi_proxy_handle_t           handle,
   382     globus_gsi_proxy_handle_t           handle,
   387     globus_gsi_proxy_handle_t           handle,
   393     globus_gsi_proxy_handle_t           handle,
   400     globus_gsi_proxy_handle_t           handle,
   406     globus_gsi_proxy_handle_t           handle,
   412     globus_gsi_proxy_handle_attrs_t     handle_attrs,
   417     globus_gsi_proxy_handle_attrs_t     handle_attrs,
   422     globus_gsi_proxy_handle_attrs_t     handle_attrs,
   427     globus_gsi_proxy_handle_attrs_t     handle_attrs,
   432     globus_gsi_proxy_handle_attrs_t     handle_attrs,
   433     const EVP_MD *                      algorithm);
   437     globus_gsi_proxy_handle_attrs_t     handle_attrs,
   438     const EVP_MD **                     algorithm);
   442     globus_gsi_proxy_handle_attrs_t     handle,
   447     globus_gsi_proxy_handle_attrs_t     handle,
   452     globus_gsi_proxy_handle_attrs_t     handle,
   453     void                                (**callback)(
int,  
int, 
void *));
   457     globus_gsi_proxy_handle_attrs_t     handle,
   458     void                                (*callback)(
int,  
int, 
void *));
 globus_result_t globus_gsi_proxy_handle_get_common_name(globus_gsi_proxy_handle_t handle, char **common_name)
Get/Set Proxy Common Name. 
Definition: globus_gsi_proxy_handle.c:1971
 
Globus GSI Credential Library. 
 
globus_result_t globus_gsi_proxy_handle_set_private_key(globus_gsi_proxy_handle_t handle, const EVP_PKEY *proxy_key)
Set the private key in a GSI Proxy handle. 
Definition: globus_gsi_proxy_handle.c:491
 
globus_result_t globus_gsi_proxy_handle_get_policy(globus_gsi_proxy_handle_t handle, unsigned char **policy_data, int *policy_length, int *policy_NID)
Get Policy. 
Definition: globus_gsi_proxy_handle.c:771
 
globus_result_t globus_gsi_proxy_handle_attrs_get_key_gen_callback(globus_gsi_proxy_handle_attrs_t handle, void(**callback)(int, int, void *))
Get Key Gen Callback. 
Definition: globus_gsi_proxy_handle_attrs.c:528
 
globus_result_t globus_gsi_proxy_handle_add_extension(globus_gsi_proxy_handle_t handle, X509_EXTENSION *extension)
Add X.509 Extensions. 
Definition: globus_gsi_proxy_handle.c:862
 
globus_result_t globus_gsi_proxy_sign_req(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer_credential, BIO *output_bio)
Sign a proxy certificate request. 
Definition: globus_gsi_proxy.c:1059
 
globus_result_t globus_gsi_proxy_handle_get_type(globus_gsi_proxy_handle_t handle, globus_gsi_cert_utils_cert_type_t *type)
Get Proxy Type. 
Definition: globus_gsi_proxy_handle.c:553
 
globus_result_t globus_gsi_proxy_handle_attrs_get_keybits(globus_gsi_proxy_handle_attrs_t handle_attrs, int *bits)
Get Key Bits. 
Definition: globus_gsi_proxy_handle_attrs.c:191
 
globus_result_t globus_gsi_proxy_create_req(globus_gsi_proxy_handle_t handle, BIO *output_bio)
Create a proxy credential request. 
Definition: globus_gsi_proxy.c:213
 
globus_result_t globus_gsi_proxy_handle_get_pathlen(globus_gsi_proxy_handle_t handle, int *pathlen)
Get Path Length. 
Definition: globus_gsi_proxy_handle.c:1142
 
globus_result_t globus_gsi_proxy_handle_attrs_set_clock_skew_allowable(globus_gsi_proxy_handle_attrs_t handle, int skew)
Set Clock Skew Allowable. 
Definition: globus_gsi_proxy_handle_attrs.c:434
 
int globus_bool_t
Boolean type. 
Definition: globus_types.h:93
 
struct globus_l_gsi_cred_handle_s * globus_gsi_cred_handle_t
Definition: globus_gsi_credential.h:162
 
globus_result_t globus_gsi_proxy_handle_get_init_prime(globus_gsi_proxy_handle_t handle, int *init_prime)
Get Init Prime. 
Definition: globus_gsi_proxy_handle.c:1801
 
globus_result_t globus_gsi_proxy_handle_attrs_get_clock_skew_allowable(globus_gsi_proxy_handle_attrs_t handle, int *skew)
Get Clock Skew Allowable. 
Definition: globus_gsi_proxy_handle_attrs.c:478
 
globus_result_t globus_gsi_proxy_handle_destroy(globus_gsi_proxy_handle_t handle)
Destroy a GSI Proxy handle. 
Definition: globus_gsi_proxy_handle.c:205
 
globus_result_t globus_gsi_proxy_handle_clear_cert_info(globus_gsi_proxy_handle_t handle)
Clear Cert Info. 
Definition: globus_gsi_proxy_handle.c:1289
 
globus_result_t globus_gsi_proxy_handle_set_is_limited(globus_gsi_proxy_handle_t handle, globus_bool_t is_limited)
Set/Check Proxy Is Limited. 
Definition: globus_gsi_proxy_handle.c:2092
 
globus_result_t globus_gsi_proxy_create_signed(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer, globus_gsi_cred_handle_t *proxy_credential)
Create Signed Proxy Certificate. 
Definition: globus_gsi_proxy.c:1868
 
globus_result_t globus_gsi_proxy_handle_attrs_set_init_prime(globus_gsi_proxy_handle_attrs_t handle_attrs, int prime)
Set Initial Prime Number. 
Definition: globus_gsi_proxy_handle_attrs.c:241
 
struct globus_l_gsi_proxy_handle_s * globus_gsi_proxy_handle_t
GSI Proxy Handle. 
Definition: globus_gsi_proxy.h:137
 
globus_result_t globus_gsi_proxy_handle_get_req(globus_gsi_proxy_handle_t handle, X509_REQ **req)
Get the certificate request from a GSI Proxy handle. 
Definition: globus_gsi_proxy_handle.c:254
 
Definition: proxycertinfo.h:124
 
globus_result_t globus_gsi_proxy_resign_cert(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer_credential, globus_gsi_cred_handle_t peer_credential, globus_gsi_cred_handle_t *resigned_credential)
Resign an existing certificate into a proxy. 
Definition: globus_gsi_proxy.c:871
 
globus_result_t globus_gsi_proxy_handle_attrs_destroy(globus_gsi_proxy_handle_attrs_t handle_attrs)
Destroy attributes. 
Definition: globus_gsi_proxy_handle_attrs.c:123
 
globus_result_t globus_gsi_proxy_is_limited(globus_gsi_proxy_handle_t handle, globus_bool_t *is_limited)
Definition: globus_gsi_proxy_handle.c:2172
 
globus_result_t globus_gsi_proxy_handle_get_keybits(globus_gsi_proxy_handle_t handle, int *key_bits)
Get Key Bits. 
Definition: globus_gsi_proxy_handle.c:1746
 
globus_result_t globus_gsi_proxy_handle_attrs_get_init_prime(globus_gsi_proxy_handle_attrs_t handle_attrs, int *prime)
Get Initial Prime Number. 
Definition: globus_gsi_proxy_handle_attrs.c:283
 
globus_result_t globus_gsi_proxy_handle_attrs_get_signing_algorithm(globus_gsi_proxy_handle_attrs_t handle_attrs, const EVP_MD **algorithm)
Get Signing Algorithm. 
Definition: globus_gsi_proxy_handle_attrs.c:383
 
globus_result_t globus_gsi_proxy_handle_set_req(globus_gsi_proxy_handle_t handle, X509_REQ *req)
Set Request Set the certificate request in a GSI Proxy handle. 
Definition: globus_gsi_proxy_handle.c:313
 
globus_result_t globus_gsi_proxy_handle_init(globus_gsi_proxy_handle_t *handle, globus_gsi_proxy_handle_attrs_t handle_attrs)
Initialize a GSI Proxy handle. 
Definition: globus_gsi_proxy_handle.c:86
 
globus_result_t globus_gsi_proxy_handle_set_type(globus_gsi_proxy_handle_t handle, globus_gsi_cert_utils_cert_type_t type)
Get Proxy Type. 
Definition: globus_gsi_proxy_handle.c:605
 
globus_result_t globus_gsi_proxy_handle_get_key_gen_callback(globus_gsi_proxy_handle_t handle, void(**callback)(int, int, void *))
Get Callback for Creating Keys. 
Definition: globus_gsi_proxy_handle.c:1911
 
struct globus_l_gsi_proxy_handle_attrs_s * globus_gsi_proxy_handle_attrs_t
Handle Attributes. 
Definition: globus_gsi_proxy.h:153
 
globus_result_t globus_gsi_proxy_handle_get_clock_skew_allowable(globus_gsi_proxy_handle_t handle, int *skew)
Get Clock Skew. 
Definition: globus_gsi_proxy_handle.c:1857
 
globus_result_t globus_gsi_proxy_handle_set_common_name(globus_gsi_proxy_handle_t handle, const char *common_name)
Definition: globus_gsi_proxy_handle.c:2034
 
uint32_t globus_result_t
Definition: globus_types.h:99
 
globus_result_t globus_gsi_proxy_handle_attrs_set_keybits(globus_gsi_proxy_handle_attrs_t handle_attrs, int bits)
Set Key Bits. 
Definition: globus_gsi_proxy_handle_attrs.c:151
 
globus_result_t globus_gsi_proxy_handle_set_extensions(globus_gsi_proxy_handle_t handle, STACK_OF(X509_EXTENSION) *extensions)
Set X.509 Extensions. 
Definition: globus_gsi_proxy_handle.c:933
 
globus_result_t globus_gsi_proxy_handle_attrs_copy(globus_gsi_proxy_handle_attrs_t a, globus_gsi_proxy_handle_attrs_t *b)
Copy Attributes. 
Definition: globus_gsi_proxy_handle_attrs.c:616
 
globus_result_t globus_gsi_proxy_handle_set_time_valid(globus_gsi_proxy_handle_t handle, int time_valid)
Set Time Valid. 
Definition: globus_gsi_proxy_handle.c:1248
 
globus_result_t globus_gsi_proxy_handle_set_pathlen(globus_gsi_proxy_handle_t handle, long pathlen)
Set Path Length. 
Definition: globus_gsi_proxy_handle.c:1081
 
enum globus_gsi_cert_utils_cert_type_e globus_gsi_cert_utils_cert_type_t
 
globus_result_t globus_gsi_proxy_inquire_req(globus_gsi_proxy_handle_t handle, BIO *input_bio)
Inquire a proxy credential request. 
Definition: globus_gsi_proxy.c:665
 
globus_result_t globus_gsi_proxy_assemble_cred(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t *proxy_credential, BIO *input_bio)
Assemble a proxy credential. 
Definition: globus_gsi_proxy.c:2116
 
globus_result_t globus_gsi_proxy_handle_get_time_valid(globus_gsi_proxy_handle_t handle, int *time_valid)
Get Time Valid. 
Definition: globus_gsi_proxy_handle.c:1198
 
globus_result_t globus_gsi_proxy_handle_attrs_init(globus_gsi_proxy_handle_attrs_t *handle_attrs)
Initialize Attributes. 
Definition: globus_gsi_proxy_handle_attrs.c:65
 
globus_result_t globus_gsi_proxy_handle_get_extensions(globus_gsi_proxy_handle_t handle, STACK_OF(X509_EXTENSION) **extension)
Get X.509 Extensions. 
Definition: globus_gsi_proxy_handle.c:1009
 
globus_result_t globus_gsi_proxy_handle_get_private_key(globus_gsi_proxy_handle_t handle, EVP_PKEY **proxy_key)
Get the private key from a GSI Proxy handle. 
Definition: globus_gsi_proxy_handle.c:375
 
globus_result_t globus_gsi_proxy_handle_attrs_set_key_gen_callback(globus_gsi_proxy_handle_attrs_t handle, void(*callback)(int, int, void *))
Set Key Gen Callback. 
Definition: globus_gsi_proxy_handle_attrs.c:578
 
globus_result_t globus_gsi_proxy_handle_set_policy(globus_gsi_proxy_handle_t handle, const unsigned char *policy_data, int policy_length, int policy_NID)
Set Policy. 
Definition: globus_gsi_proxy_handle.c:679
 
globus_result_t globus_gsi_proxy_handle_attrs_set_signing_algorithm(globus_gsi_proxy_handle_attrs_t handle_attrs, const EVP_MD *algorithm)
Set Signing Algorithm. 
Definition: globus_gsi_proxy_handle_attrs.c:336
 
Module Descriptor. 
Definition: globus_module.h:71
 
globus_result_t globus_gsi_proxy_handle_get_signing_algorithm(globus_gsi_proxy_handle_t handle, const EVP_MD **algorithm)
Get Signing Algorithm. 
Definition: globus_gsi_proxy_handle.c:1690