NAME
Functions for Win32 platforms -
These functions implement the Win32 version of the Globus GSI System
Configuration API.
Win32 - Set Key Permissions
globus_result_t globus_gsi_sysconfig_set_key_permissions_win32 (char
*filename)
Win32 - File Exists
globus_result_t globus_gsi_sysconfig_file_exists_win32 (const char
*filename)
Win32 - Directory Exists
globus_result_t globus_gsi_sysconfig_dir_exists_win32 (const char
*filename)
Win32 - Get Current Working Directory
globus_result_t globus_gsi_sysconfig_get_current_working_dir_win32
(char **working_dir)
Win32 - Make Absolute Path
globus_result_t
globus_gsi_sysconfig_make_absolute_path_for_filename_win32 (char
*filename, char **absolute_path)
Win32 - Split Directory and Filename
globus_result_t globus_gsi_sysconfig_split_dir_and_filename_win32 (char
*full_filename, char **dir_string, char **filename_string)
Win32 - Get Trusted CA Cert Dir
globus_result_t globus_gsi_sysconfig_get_cert_dir_win32 (char
**cert_dir)
Win32 - Get User Certificate Filename
globus_result_t globus_gsi_sysconfig_get_user_cert_filename_win32 (char
**user_cert, char **user_key)
Win32 - Get Host Certificate and Key Filenames
globus_result_t globus_gsi_sysconfig_get_host_cert_filename_win32 (char
**host_cert, char **host_key)
Win32 - Get Service Certificate and Key Filenames
globus_result_t globus_gsi_sysconfig_get_service_cert_filename_win32
(char *service_name, char **service_cert, char **service_key)
Win32 - Get Proxy Filename
globus_result_t globus_gsi_sysconfig_get_proxy_filename_win32 (char
**user_proxy, globus_gsi_proxy_file_type_t proxy_file_type)
Win32 - Get CA Cert Filenames
globus_result_t globus_gsi_sysconfig_get_ca_cert_files_win32 (char
*ca_cert_dir, globus_fifo_t *ca_cert_list)
Win32 - Remove all proxies owned by current uid
globus_result_t globus_gsi_sysconfig_remove_all_owned_files_win32 (char
*default_filename)
Win32 - Get the path and file name of the grid map file
globus_result_t globus_gsi_sysconfig_get_gridmap_filename_win32 (char
**filename)
globus_result_t globus_gsi_sysconfig_get_authz_conf_filename_win32
(char **filename)
Win32 - Get the path and file name of the gaa config file
globus_result_t globus_gsi_sysconfig_get_gaa_conf_filename_win32 (char
**filename)
Win32 - Check if the current user is root
globus_result_t globus_gsi_sysconfig_is_superuser_win32 (int
*is_superuser)
Win32 - Get Signing Policy Filename
globus_result_t globus_gsi_sysconfig_get_signing_policy_filename_win32
(X509_NAME *ca_name, char *cert_dir, char
**signing_policy_filename)
Detailed Description
These functions implement the Win32 version of the Globus GSI System
Configuration API.
They should never be called directly, please use the provided platform
independent defines.
Function Documentation
globus_result_t globus_gsi_sysconfig_set_key_permissions_win32 (char *
filename)
Set the file permissions of a file to read only by the user which are
the permissions that should be set for all private keys. Parameters:
filename
Returns:
GLOBUS_SUCCESS or an error object id
globus_result_t globus_gsi_sysconfig_file_exists_win32 (const char *
filename)
Check that the file exists. Parameters:
filename the file to check
Returns:
GLOBUS_SUCCESS (even if the file doesn’t exist) - in some abortive
cases an error object identifier is returned
globus_result_t globus_gsi_sysconfig_dir_exists_win32 (const char *
filename)
Check that the directory exists. Parameters:
filename the file to check
Returns:
GLOBUS_SUCCESS if the directory exists, otherwise an error object
identifier.
globus_result_t globus_gsi_sysconfig_get_current_working_dir_win32 (char **
working_dir)
Get the current working directory on a windows system. Parameters:
working_dir The working directory to get
Returns:
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID
is returned
globus_result_t globus_gsi_sysconfig_make_absolute_path_for_filename_win32
(char * filename, char ** absolute_path)
Make the filename into an absolute path string based on the current
working directory. Parameters:
filename the filename to get the absolute path of.
absolute_path The resulting absolute path
Returns:
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID
is returned
globus_result_t globus_gsi_sysconfig_split_dir_and_filename_win32 (char *
full_filename, char ** dir_string, char ** filename_string)
Split the directory and filename portions of a filename string into two
separate strings. Parameters:
full_filename
dir_string
filename_string
Returns:
globus_result_t globus_gsi_sysconfig_get_cert_dir_win32 (char ** cert_dir)
Get the Trusted Certificate Directory containing the trusted
Certificate Authority certificates. This directory is determined in the
order shown below. Failure in one method results in attempting the
next.
1. X509_CERT_DIR environment variable - if this is set, the trusted
certificates will be searched for in that directory. This variable
allows the end user to specify the location of trusted
certificates.
2. x509_cert_dir registry key - If this registry key is set on
windows, the directory it points to should contain the trusted
certificates. The path to the registry key is software\Globus\GSI
3. \<user home directory>\.globus\certificates - If this directory
exists, and the previous methods of determining the trusted certs
directory failed, this directory will be used.
4. Host Trusted Cert Dir - This location is intended to be independent
of the globus installation ($GLOBUS_LOCATION), and is generally
only writeable by the host system administrator.
5. Globus Install Trusted Cert Dir - this is
$GLOBUS_LOCATION\share\certificates.
Parameters:
cert_dir The trusted certificates directory
Returns:
GLOBUS_SUCCESS if no error occurred, and a sufficient trusted
certificates directory was found. Otherwise, an error object
identifier returned.
globus_result_t globus_gsi_sysconfig_get_user_cert_filename_win32 (char **
user_cert, char ** user_key)
Get the User Certificate Filename based on the current user’s
environment. The following locations are searched for cert and key
files in order:
1. environment variables X509_USER_CERT and X509_USER_KEY
2. registry keys x509_user_cert and x509_user_key in
software\Globus\GSI
3. <users home directory>\.globus\usercert.pem and <users home
directory>\.globus\userkey.pem
4. <users home directory>\.globus\usercred.p12 - this is a PKCS12
credential
Parameters:
user_cert pointer the filename of the user certificate
user_key pointer to the filename of the user key
Returns:
GLOBUS_SUCCESS if the cert and key files were found in one of the
possible locations, otherwise an error object identifier is
returned
globus_result_t globus_gsi_sysconfig_get_host_cert_filename_win32 (char **
host_cert, char ** host_key)
Get the Host Certificate and Key Filenames based on the current user’s
environment. The host cert and key are searched for in the following
locations (in order):
1. X509_USER_CERT and X509_USER_KEY environment variables
2. registry keys x509_user_cert and x509_user_key in
software\Globus\GSI
3. <GLOBUS_LOCATION>\etc\host[cert|key].pem
4. <users home directory>\.globus\host[cert|key].pem
Parameters:
host_cert pointer to the host certificate filename
host_key pointer to the host key filename
Returns:
GLOBUS_SUCCESS if the host cert and key were found, otherwise an
error object identifier is returned
globus_result_t globus_gsi_sysconfig_get_service_cert_filename_win32 (char
* service_name, char ** service_cert, char ** service_key)
Get the Service Certificate Filename based on the current user’s
environment. The host cert and key are searched for in the following
locations (in order):
1. X509_USER_CERT and X509_USER_KEY environment variables
2. registry keys x509_user_cert and x509_user_key in
software\Globus\GSI
3. GLOBUS_LOCATION\etc\{service_name}\{service_name}[cert|key].pem So
for example, if my service was named: myservice, the location of
the certificate would be:
GLOBUS_LOCATION\etc\myservice\myservicecert.pem
4. <users home>\.globus\{service_name}\{service_name}[cert|key].pem
Parameters:
service_name The name of the service which allows us to determine
the locations of cert and key files to look for
service_cert pointer to the host certificate filename
service_key pointer to the host key filename
Returns:
GLOBUS_SUCCESS if the service cert and key were found, otherwise an
error object identifier
globus_result_t globus_gsi_sysconfig_get_proxy_filename_win32 (char **
user_proxy, globus_gsi_proxy_file_type_t proxy_file_type)
Get the proxy cert filename based on the following search order: .PD 0
1. X509_USER_PROXY environment variable - This environment variable is
set by the at run time for the specific application. If the
proxy_file_type variable is set to GLOBUS_PROXY_OUTPUT (a proxy
filename for writing is requested), and the X509_USER_PROXY is set,
this will be the resulting value of the user_proxy filename string
passed in. If the proxy_file_type is set to GLOBUS_PROXY_INPUT and
X509_USER_PROXY is set, but the file it points to does not exist,
or has some other readability issues, the function will continue
checking using the other methods available.
2. check the registry key: x509_user_proxy. Just as with the
environment variable, if the registry key is set, and
proxy_file_type is GLOBUS_PROXY_OUTPUT, the string set to be the
proxy filename will be this registry key’s value. If
proxy_file_type is GLOBUS_PROXY_INPUT, and the file doesn’t exist,
the function will check the next method for the proxy’s filename.
3. Check the default location for the proxy file. The default location
should be set to reside in the temp directory on that host, with
the filename taking the format: x509_u<user id> where <user id> is
some unique string for that user on the host
Parameters:
user_proxy the proxy filename of the user
proxy_file_type Switch for determining whether to return a existing
proxy filename or if a filename suitable for creating a proxy
should be returned
Returns:
GLOBUS_SUCCESS or an error object identifier
globus_result_t globus_gsi_sysconfig_get_ca_cert_files_win32 (char *
ca_cert_dir, globus_fifo_t * ca_cert_list)
Gets a list of trusted CA certificate filenames in a trusted CA
certificate directory. Parameters:
ca_cert_dir The trusted CA certificate directory to get the
filenames from
ca_cert_list The resulting list of CA certificate filenames. This
is a a globus list structure.
See also:
globus_fifo_t
Returns:
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID
is returned
globus_result_t globus_gsi_sysconfig_remove_all_owned_files_win32 (char *
default_filename)
Removes all proxies (ie. all delegated and grid-proxy-init generated
proxies) found in the secure tmp directory that are owned by the
current user.
Parameters:
default_filename The filename of the default proxy
Returns:
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID
is returned
globus_result_t globus_gsi_sysconfig_get_gridmap_filename_win32 (char **
filename)
Get the path and file name of the grid map file. Parameters:
filename Contains the location of the grid map file upon successful
return
Returns:
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID
is returned
globus_result_t globus_gsi_sysconfig_get_authz_conf_filename_win32 (char **
filename)
Get the path and file name of the authorization callback configuration
file. Parameters:
filename Contains the location of the authorization callback
configuration file upon successful return
Returns:
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID
is returned
globus_result_t globus_gsi_sysconfig_get_gaa_conf_filename_win32 (char **
filename)
Get the path and file name of the gaa config configuration file .
Parameters:
filename Contains the location of the authorization callback
configuration file upon successful return
Returns:
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID
is returned
globus_result_t globus_gsi_sysconfig_is_superuser_win32 (int *
is_superuser)
Checks whether the current user is root. Parameters:
is_superuser 1 if the user is the superuser 0 if not
Returns:
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID
is returned
globus_result_t globus_gsi_sysconfig_get_signing_policy_filename_win32
(X509_NAME * ca_name, char * cert_dir, char ** signing_policy_filename)
Get the Signing Policy Filename on the current system, based on the
CA’s subject name, and the trusted certificates directory. Parameters:
ca_name The X509 subject name of the CA to get the signing policy
of. The hash of the CA is generated from this
cert_dir The trusted CA certificates directory, containing the
singing_policy files of the trusted CA’s.
signing_policy_filename The resulting singing_policy filename
Returns:
GLOBUS_SUCCESS if no error occurred, otherwise an error object ID
Author
Generated automatically by Doxygen for globus gsi sysconfig from the
source code.