.TH "globus_gsi_sysconfig_win32" 3 "Tue Dec 15 2020" "Version 9.3" "globus_gsi_sysconfig" \" -*- nroff -*- .ad l .nh .SH NAME globus_gsi_sysconfig_win32 \- Functions for Win32 platforms .PP \- Functions for Win32 platforms\&. .SH SYNOPSIS .br .PP .SS "Functions" .in +1c .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_set_key_permissions_win32\fP (char *filename)" .br .RI "Win32 - Set Key Permissions\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_file_exists_win32\fP (const char *filename)" .br .RI "Win32 - File Exists\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_dir_exists_win32\fP (const char *filename)" .br .RI "Win32 - Directory Exists\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_current_working_dir_win32\fP (char **working_dir)" .br .RI "Win32 - Get Current Working Directory\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_make_absolute_path_for_filename_win32\fP (char *filename, char **absolute_path)" .br .RI "Win32 - Make Absolute Path\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_split_dir_and_filename_win32\fP (char *full_filename, char **dir_string, char **filename_string)" .br .RI "Win32 - Split Directory and Filename\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_cert_dir_win32\fP (char **cert_dir)" .br .RI "Win32 - Get Trusted CA Cert Dir\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_user_cert_filename_win32\fP (char **user_cert, char **user_key)" .br .RI "Win32 - Get User Certificate Filename\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_host_cert_filename_win32\fP (char **host_cert, char **host_key)" .br .RI "Win32 - Get Host Certificate and Key Filenames\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_service_cert_filename_win32\fP (char *service_name, char **service_cert, char **service_key)" .br .RI "Win32 - Get Service Certificate and Key Filenames\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_proxy_filename_win32\fP (char **user_proxy, \fBglobus_gsi_proxy_file_type_t\fP proxy_file_type)" .br .RI "Win32 - Get Proxy Filename\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_ca_cert_files_win32\fP (char *ca_cert_dir, globus_fifo_t *ca_cert_list)" .br .RI "Win32 - Get CA Cert Filenames\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_remove_all_owned_files_win32\fP (char *default_filename)" .br .RI "Win32 - Remove all proxies owned by current uid\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_gridmap_filename_win32\fP (char **filename)" .br .RI "Win32 - Get the path and file name of the grid map file\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_authz_conf_filename_win32\fP (char **filename)" .br .RI "Win32 - Get the path and file name of the grid map file\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_authz_lib_conf_filename_win32\fP (char **filename)" .br .RI "Win32 - Get authorization configuration filename\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_gaa_conf_filename_win32\fP (char **filename)" .br .RI "Win32 - Get the path and file name of the gaa config file\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_is_superuser_win32\fP (int *is_superuser)" .br .RI "Win32 - Check if the current user is root\&. " .ti -1c .RI "globus_result_t \fBglobus_gsi_sysconfig_get_signing_policy_filename_win32\fP (X509_NAME *ca_name, char *cert_dir, char **signing_policy_filename)" .br .RI "Win32 - Get Signing Policy Filename\&. " .in -1c .SH "Detailed Description" .PP Functions for Win32 platforms\&. These functions implement the Win32 version of the Globus GSI System Configuration API\&. \fBThey should never be called directly, please use the provided platform independent defines\&.\fP .SH "Function Documentation" .PP .SS "globus_result_t globus_gsi_sysconfig_dir_exists_win32 (const char * filename)" .PP Win32 - Directory Exists\&. Check that the directory exists .PP \fBParameters\fP .RS 4 \fIfilename\fP the file to check .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if the directory exists, otherwise an error object identifier\&. .RE .PP .SS "globus_result_t globus_gsi_sysconfig_file_exists_win32 (const char * filename)" .PP Win32 - File Exists\&. Check that the file exists .PP \fBParameters\fP .RS 4 \fIfilename\fP the file to check .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS (even if the file doesn't exist) - in some abortive cases an error object identifier is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_authz_conf_filename_win32 (char ** filename)" .PP Win32 - Get the path and file name of the grid map file\&. Get the path and file name of the authorization callback configuration file .PP \fBParameters\fP .RS 4 \fIfilename\fP Contains the location of the authorization callback configuration file upon successful return .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_authz_lib_conf_filename_win32 (char ** filename)" .PP Win32 - Get authorization configuration filename\&. Get the path and file name of the authorization callback library configuration file .PP \fBParameters\fP .RS 4 \fIfilename\fP Contains the location of the authorization callback library configuration file upon successful return .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_ca_cert_files_win32 (char * ca_cert_dir, globus_fifo_t * ca_cert_list)" .PP Win32 - Get CA Cert Filenames\&. Gets a list of trusted CA certificate filenames in a trusted CA certificate directory\&. .br .PP \fBParameters\fP .RS 4 \fIca_cert_dir\fP The trusted CA certificate directory to get the filenames from .br \fIca_cert_list\fP The resulting list of CA certificate filenames\&. This is a globus list structure\&. .br .RE .PP \fBSee also\fP .RS 4 globus_fifo_t .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_cert_dir_win32 (char ** cert_dir)" .PP Win32 - Get Trusted CA 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\&. .PP .PD 0 .IP "1." 4 \fBX509_CERT_DIR environment variable\fP - 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\&. .IP "2." 4 \fBx509_cert_dir registry key\fP - 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 .IP "3." 4 \fB\\\\\fP\fB\&.globus\\certificates\fP - If this directory exists, and the previous methods of determining the trusted certs directory failed, this directory will be used\&. .br .IP "4." 4 \fBHost Trusted Cert Dir\fP - This location is intended to be independent of the globus installation ($GLOBUS_LOCATION), and is generally only writeable by the host system administrator\&. .br .IP "5." 4 \fBGlobus Install Trusted Cert Dir\fP - this is $GLOBUS_LOCATION\\share\\certificates\&. .br .PP .PP \fBParameters\fP .RS 4 \fIcert_dir\fP The trusted certificates directory .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if no error occurred, and a sufficient trusted certificates directory was found\&. Otherwise, an error object identifier returned\&. .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_current_working_dir_win32 (char ** working_dir)" .PP Win32 - Get Current Working Directory\&. Get the current working directory on a windows system .PP \fBParameters\fP .RS 4 \fIworking_dir\fP The working directory to get .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_gaa_conf_filename_win32 (char ** filename)" .PP Win32 - Get the path and file name of the gaa config file\&. Get the path and file name of the gaa config configuration file \&. .PP \fBParameters\fP .RS 4 \fIfilename\fP Contains the location of the authorization callback configuration file upon successful return .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_gridmap_filename_win32 (char ** filename)" .PP Win32 - Get the path and file name of the grid map file\&. Get the path and file name of the grid map file\&. .PP \fBParameters\fP .RS 4 \fIfilename\fP Contains the location of the grid map file upon successful return .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_host_cert_filename_win32 (char ** host_cert, char ** host_key)" .PP Win32 - Get Host Certificate and Key Filenames\&. 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): .PP .PD 0 .IP "1." 4 X509_USER_CERT and X509_USER_KEY environment variables .IP "2." 4 registry keys x509_user_cert and x509_user_key in software\\Globus\\GSI .IP "3." 4 \fB\\etc\\host[cert|key]\&.pem\fP .IP "4." 4 \fB\\\fP\fB\&.globus\\host[cert|key]\&.pem\fP .PP .PP \fBParameters\fP .RS 4 \fIhost_cert\fP pointer to the host certificate filename .br \fIhost_key\fP pointer to the host key filename .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if the host cert and key were found, otherwise an error object identifier is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_proxy_filename_win32 (char ** user_proxy, \fBglobus_gsi_proxy_file_type_t\fP proxy_file_type)" .PP Win32 - Get Proxy Filename\&. Get the proxy cert filename based on the following search order: .PP .PD 0 .IP "1." 4 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\&. .PP .IP "2." 4 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\&. .PP .IP "3." 4 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 where is some unique string for that user on the host .PP .PP \fBParameters\fP .RS 4 \fIuser_proxy\fP the proxy filename of the user .br \fIproxy_file_type\fP Switch for determining whether to return a existing proxy filename or if a filename suitable for creating a proxy should be returned .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS or an error object identifier .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_service_cert_filename_win32 (char * service_name, char ** service_cert, char ** service_key)" .PP Win32 - Get Service Certificate and Key Filenames\&. 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): .PP .PD 0 .IP "1." 4 X509_USER_CERT and X509_USER_KEY environment variables .IP "2." 4 registry keys x509_user_cert and x509_user_key in software\\Globus\\GSI .IP "3." 4 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: \fB\\etc\\myservice\\myservicecert\&.pem\fP .IP "4." 4 \fB\\\fP\fB\&.globus\\{service_name}\\{service_name}[cert|key]\&.pem\fP .PP .PP \fBParameters\fP .RS 4 \fIservice_name\fP The name of the service which allows us to determine the locations of cert and key files to look for .br \fIservice_cert\fP pointer to the host certificate filename .br \fIservice_key\fP pointer to the host key filename .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if the service cert and key were found, otherwise an error object identifier .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_signing_policy_filename_win32 (X509_NAME * ca_name, char * cert_dir, char ** signing_policy_filename)" .PP Win32 - Get Signing Policy Filename\&. Get the Signing Policy Filename on the current system, based on the CA's subject name, and the trusted certificates directory .PP \fBParameters\fP .RS 4 \fIca_name\fP The X\&.509 subject name of the CA to get the signing policy of\&. The hash of the CA is generated from this .br \fIcert_dir\fP The trusted CA certificates directory, containing the singing_policy files of the trusted CAs\&. .br \fIsigning_policy_filename\fP The resulting singing_policy filename .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if no error occurred, otherwise an error object ID .RE .PP .SS "globus_result_t globus_gsi_sysconfig_get_user_cert_filename_win32 (char ** user_cert, char ** user_key)" .PP Win32 - Get User Certificate Filename\&. Get the User Certificate Filename based on the current user's environment\&. The following locations are searched for cert and key files in order: .PP .PD 0 .IP "1." 4 environment variables X509_USER_CERT and X509_USER_KEY .IP "2." 4 registry keys x509_user_cert and x509_user_key in software\\Globus\\GSI .IP "3." 4 \fB\\\fP\fB\&.globus\\usercert\&.pem\fP and \fB\\\fP\fB\&.globus\\userkey\&.pem\fP .IP "4." 4 \fB\\\fP\fB\&.globus\\usercred\&.p12\fP - this is a PKCS12 credential .PP .PP \fBParameters\fP .RS 4 \fIuser_cert\fP pointer the filename of the user certificate .br \fIuser_key\fP pointer to the filename of the user key .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if the cert and key files were found in one of the possible locations, otherwise an error object identifier is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_is_superuser_win32 (int * is_superuser)" .PP Win32 - Check if the current user is root\&. Checks whether the current user is root\&. .PP \fBParameters\fP .RS 4 \fIis_superuser\fP 1 if the user is the superuser 0 if not .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_make_absolute_path_for_filename_win32 (char * filename, char ** absolute_path)" .PP Win32 - Make Absolute Path\&. Make the filename into an absolute path string based on the current working directory\&. .PP \fBParameters\fP .RS 4 \fIfilename\fP the filename to get the absolute path of\&. .br .br \fIabsolute_path\fP The resulting absolute path .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_remove_all_owned_files_win32 (char * default_filename)" .PP Win32 - Remove all proxies owned by current uid\&. Removes all proxies (all delegated and grid-proxy-init generated proxies) found in the secure temp directory that are owned by the current user\&. .PP \fBParameters\fP .RS 4 \fIdefault_filename\fP The filename of the default proxy .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS if no error occurred, otherwise an error object ID is returned .RE .PP .SS "globus_result_t globus_gsi_sysconfig_set_key_permissions_win32 (char * filename)" .PP Win32 - Set Key Permissions\&. 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\&. .PP \fBParameters\fP .RS 4 \fIfilename\fP .RE .PP \fBReturns\fP .RS 4 GLOBUS_SUCCESS or an error object id .RE .PP .SS "globus_result_t globus_gsi_sysconfig_split_dir_and_filename_win32 (char * full_filename, char ** dir_string, char ** filename_string)" .PP Win32 - Split Directory and Filename\&. Split the directory and filename portions of a filename string into two separate strings .PP \fBParameters\fP .RS 4 \fIfull_filename\fP .br \fIdir_string\fP .br \fIfilename_string\fP .RE .PP \fBReturns\fP .RS 4 .RE .PP .SH "Author" .PP Generated automatically by Doxygen for globus_gsi_sysconfig from the source code\&.