Handle Management

Create/Destroy/Modify a GSI Proxy Handle. More...

Typedefs

Initialize and Destroy

Get/Set Request

Get/Set Private Key

Get/Set Proxy Type

Get/Set Policy

Get/Set Path Length

Get/Set Time Valid

Clear Cert Info

Get/Set Cert Info

Get Signing Algorithm

Get Key Bits

Get Init Prime

Get Clock Skew

Get Callback for Creating Keys

Get/Set Proxy Common Name

Set/Check Proxy Is Limited


Detailed Description

Create/Destroy/Modify a GSI Proxy Handle.

Within the Globus GSI Proxy Library, all proxy operations require a handle parameter. Currently, only one proxy operation may be in progress at once per proxy handle.

This section defines operations to create, modify and destroy GSI Proxy handles.


Typedef Documentation

typedef struct globus_l_gsi_proxy_handle_s* globus_gsi_proxy_handle_t

GSI Proxy Handle.

An GSI Proxy handle is used to associate state with a group of operations. Handles can have immutable attributes associated with them. All proxy operations take a handle pointer as a parameter.

See also:
globus_gsi_proxy_handle_init(), globus_gsi_proxy_handle_destroy(), Handle Attributes


Function Documentation

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.

Initialize a proxy handle which can be used in subsequent operations. The handle may only be used in one sequence of operations at a time.

Parameters:
handle A pointer to the handle to be initialized. If the handle is originally NULL, space is allocated for it. Otherwise, the current values of the handle are overwritten.
handle_attrs Initial attributes to be used to create this handle.
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned
See also:
globus_gsi_proxy_handle_destroy()

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.

Parameters:
handle The handle from which to get the certificate request
req Parameter used to return the request. It is the users responsibility to free the returned request.
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned
See also:
globus_gsi_proxy_handle_set_req()

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.

Parameters:
handle The handle from which to get the private key
proxy_key Parameter used to return the key. It is the users responsibility to free the returned key.
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned
See also:
globus_gsi_proxy_handle_set_private_key()

globus_result_t globus_gsi_proxy_handle_get_type ( globus_gsi_proxy_handle_t  handle,
globus_gsi_cert_utils_cert_type_t *  type 
)

Determine the type of proxy that will be generated when using this handle.

Parameters:
handle The handle from which to get the type
type Parameter used to return the type.
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned
See also:
globus_gsi_proxy_handle_set_type()

globus_result_t globus_gsi_proxy_handle_set_policy ( globus_gsi_proxy_handle_t  handle,
unsigned char *  policy_data,
int  policy_length,
int  policy_language_NID 
)

Set the policy to be used in the GSI Proxy handle.

This function sets the policy to be used in the proxy cert info extension.

Parameters:
handle The handle to be modified.
policy_data The policy data.
policy_length The length of the policy data
policy_language_NID The NID of the policy language.
Returns:
GLOBUS_SUCCESS if the handle and its associated fields are valid otherwise an error is returned
See also:
globus_gsi_proxy_handle_get_policy()

globus_result_t globus_gsi_proxy_handle_set_pathlen ( globus_gsi_proxy_handle_t  handle,
long  pathlen 
)

Set the path length to be used in the GSI Proxy handle.

This function sets the path length to be used in the proxy cert info extension.

Parameters:
handle The handle to be modified.
pathlen The maximum allowable path length
Returns:
GLOBUS_SUCCESS if the handle is valid, otherwise an error is returned
See also:
globus_gsi_proxy_handle_get_pathlen()

globus_result_t globus_gsi_proxy_handle_get_time_valid ( globus_gsi_proxy_handle_t  handle,
int *  time_valid 
)

Get the validity time of the proxy.

Parameters:
handle The proxy handle to get the expiration date of
time_valid expiration date of the proxy handle
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

globus_result_t globus_gsi_proxy_handle_clear_cert_info ( globus_gsi_proxy_handle_t  handle  ) 

Clear the proxy cert info extension stored in the GSI Proxy handle.

This function clears proxy cert info extension related setting in the GSI Proxy handle.

Parameters:
handle The handle for which to clear the proxy cert info extension.
Returns:
GLOBUS_SUCCESS if the handle is valid, otherwise an error is returned

globus_result_t globus_gsi_proxy_handle_get_proxy_cert_info ( globus_gsi_proxy_handle_t  handle,
PROXYCERTINFO **  pci 
)

Get the proxy cert info extension stored in the GSI Proxy handle.

This function retrieves the proxy cert info extension from the GSI Proxy handle.

Parameters:
handle The handle from which to get the proxy cert info extension.
pci Contains the proxy cert info extension upon successful return. If the handle does not contain a pci extension, this parameter will be NULL upon return.
Returns:
GLOBUS_SUCCESS upon success GLOBUS_GSI_PROXY_ERROR_WITH_HANDLE if handle is invalid GLOBUS_GSI_PROXY_ERROR_WITH_PROXYCERTINFO if the pci pointer is invalid or if the get failed.

globus_result_t globus_gsi_proxy_handle_get_signing_algorithm ( globus_gsi_proxy_handle_t  handle,
EVP_MD **  signing_algorithm 
)

Get the signing algorithm used to sign the proxy cert request.

Parameters:
handle The proxy handle containing the type of signing algorithm used
signing_algorithm signing algorithm of the proxy handle
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned GLOBUS_SUCCESS

globus_result_t globus_gsi_proxy_handle_get_keybits ( globus_gsi_proxy_handle_t  handle,
int *  key_bits 
)

Get the key bits used for the pub/private key pair of the proxy.

Parameters:
handle The proxy handle to get the key bits of
key_bits key bits of the proxy handle
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned GLOBUS_SUCCESS

globus_result_t globus_gsi_proxy_handle_get_init_prime ( globus_gsi_proxy_handle_t  handle,
int *  init_prime 
)

Get the init prime of the proxy handle.

Parameters:
handle The handle to get the init prime used in generating the key pair
init_prime The resulting init prime
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case an error object identifier (in the form of a globus_result_t) is returned

globus_result_t globus_gsi_proxy_handle_get_clock_skew_allowable ( globus_gsi_proxy_handle_t  handle,
int *  skew 
)

Get the clock skew of the proxy handle.

Parameters:
handle The handle to get the clock skew of
skew The resulting clock skew
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case an error object identifier (in the form of a globus_result_t) is returned

globus_result_t globus_gsi_proxy_handle_get_key_gen_callback ( globus_gsi_proxy_handle_t  handle,
void(**)(int, int, void *)  callback 
)

Get the callback for creating the public/private key pair.

Parameters:
handle The proxy handle to get the callback from
callback Parameter used for returning the callback
Returns:
GLOBUS_SUCCESS or an error object identifier

globus_result_t globus_gsi_proxy_handle_get_common_name ( globus_gsi_proxy_handle_t  handle,
char **  common_name 
)

Get the proxy common name stored in the GSI Proxy handle.

This function retrieves the proxy common name from the GSI Proxy handle. The common name only impacts draft compliant proxies.

Parameters:
handle The handle from which to get the proxy common name.
common_name Contains the proxy common name upon successful return. If the handle does not contain a common name, this parameter will be NULL upon return.
Returns:
GLOBUS_SUCCESS upon success GLOBUS_GSI_PROXY_ERROR_WITH_HANDLE if handle is invalid

globus_result_t globus_gsi_proxy_handle_set_is_limited ( globus_gsi_proxy_handle_t  handle,
globus_bool_t  is_limited 
)

Set the limited proxy flag on the proxy handle.

Parameters:
handle the proxy handle
is_limited boolean value to set on the proxy handle
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

globus_result_t globus_gsi_proxy_handle_destroy ( globus_gsi_proxy_handle_t  handle  ) 

Destroy a GSI Proxy handle.

Parameters:
handle The handle to be destroyed.
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned
See also:
globus_gsi_proxy_handle_init()

globus_result_t globus_gsi_proxy_handle_set_req ( globus_gsi_proxy_handle_t  handle,
X509_REQ *  req 
)

Set the certificate request in a GSI Proxy handle.

Parameters:
handle The handle for which to set the certificate request
req Request to be copied to handle.
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned
See also:
globus_gsi_proxy_handle_get_req()

globus_result_t globus_gsi_proxy_handle_set_private_key ( globus_gsi_proxy_handle_t  handle,
EVP_PKEY *  proxy_key 
)

Set the private key in a GSI Proxy handle.

Parameters:
handle The handle for which to set the private key
proxy_key Parameter used to pass the key
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned
See also:
globus_gsi_proxy_handle_get_private_key()

globus_result_t globus_gsi_proxy_handle_set_type ( globus_gsi_proxy_handle_t  handle,
globus_gsi_cert_utils_cert_type_t  type 
)

Set the type of proxy that will be generated when using this handle.

Note that this will have no effect when generating a proxy from a proxy. In that case the generated proxy will inherit the type of the parent.

Parameters:
handle The handle for which to set the type
type Parameter used to pass the type.
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned
See also:
globus_gsi_proxy_handle_set_type()

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 the policy from the GSI Proxy handle.

This function gets the policy that is being used in the proxy cert info extension.

Parameters:
handle The handle to be interrogated.
policy_data The policy data.
policy_length The length of the returned policy
policy_NID The NID of the policy language.
Returns:
GLOBUS_SUCCESS if the handle is valid, otherwise an error is returned
See also:
globus_gsi_proxy_handle_set_policy()

globus_result_t globus_gsi_proxy_handle_get_pathlen ( globus_gsi_proxy_handle_t  handle,
int *  pathlen 
)

Get the path length from the GSI Proxy handle.

This function gets the path length that is being used in the proxy cert info extension.

Parameters:
handle The handle to be interrogated.
pathlen The maximum allowable path length
Returns:
GLOBUS_SUCCESS if the handle is valid, otherwise an error is returned
See also:
globus_gsi_proxy_handle_set_pathlen()

globus_result_t globus_gsi_proxy_handle_set_time_valid ( globus_gsi_proxy_handle_t  handle,
int  time_valid 
)

Set the validity time of the proxy.

Parameters:
handle The proxy handle to set the expiration date for
time_valid desired expiration date of the proxy
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned GLOBUS_SUCCESS

globus_result_t globus_gsi_proxy_handle_set_proxy_cert_info ( globus_gsi_proxy_handle_t  handle,
PROXYCERTINFO *  pci 
)

Set the proxy cert info extension stored in the GSI Proxy handle.

This function sets the proxy cert info extension in the GSI Proxy handle.

Parameters:
handle The handle for which to set the proxy cert info extension.
pci The proxy cert info extension to set.
Returns:
GLOBUS_SUCCESS upon success GLOBUS_GSI_PROXY_ERROR_WITH_HANDLE if handle is invalid GLOBUS_GSI_PROXY_ERROR_WITH_PROXYCERTINFO if the pci pointer is invalid or if the set failed.

globus_result_t globus_gsi_proxy_handle_set_common_name ( globus_gsi_proxy_handle_t  handle,
char *  common_name 
)

Set the proxy common name stored in the GSI Proxy handle.

This function sets the proxy common name in the GSI Proxy handle. Note that the common name is only used for draft compliant proxies.

Parameters:
handle The handle for which to set the proxy common name.
common_name The proxy common name to set.
Returns:
GLOBUS_SUCCESS upon success GLOBUS_GSI_PROXY_ERROR_WITH_HANDLE if handle is invalid

globus_result_t globus_gsi_proxy_is_limited ( globus_gsi_proxy_handle_t  handle,
globus_bool_t *  is_limited 
)

Check to see if the proxy is a limited proxy.

Parameters:
handle the proxy handle to check
is_limited boolean value to set depending on the type of proxy
Returns:
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned


about globus | globus toolkit | dev.globus

Comments? webmaster@globus.org