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:
-
- 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.
-
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.
-
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
-
\<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.
-
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.
-
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:
-
environment variables X509_USER_CERT and X509_USER_KEY
-
registry keys x509_user_cert and x509_user_key in software\Globus\GSI
-
<users home directory>globus\usercert.pem and <users home directory>globus\userkey.pem
-
<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):
-
X509_USER_CERT and X509_USER_KEY environment variables
-
registry keys x509_user_cert and x509_user_key in software\Globus\GSI
-
<GLOBUS_LOCATION>\etc\host[cert|key].pem
-
<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):
-
X509_USER_CERT and X509_USER_KEY environment variables
-
registry keys x509_user_cert and x509_user_key in software\Globus\GSI
-
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
-
<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
Get the proxy cert filename based on the following search order:
-
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.
-
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.
-
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