.TH "globus_gsi_cert_utils" 3 "Tue Jul 5 2022" "Version 10.10" "globus_gsi_cert_utils" \" -*- nroff -*-
.ad l
.nh
.SH NAME
globus_gsi_cert_utils \- Globus GSI Certificate Handling Utilities
.PP
 \- Globus GSI Certificate Handling Utilities\&.  

.SH SYNOPSIS
.br
.PP
.SS "Modules"

.in +1c
.ti -1c
.RI "\fBActivation\fP"
.br
.RI "Activation\&. "
.ti -1c
.RI "\fBCert Utils Constants\fP"
.br
.RI "Cert Utils Constants\&. "
.in -1c
.SS "Functions"

.in +1c
.ti -1c
.RI "globus_result_t \fBglobus_gsi_cert_utils_make_time\fP (const ASN1_UTCTIME *ctm, time_t *newtime)"
.br
.RI "Convert ASN1_UTCTIME to time_t\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_cert_utils_get_cert_type\fP (X509 *cert, \fBglobus_gsi_cert_utils_cert_type_t\fP *type)"
.br
.RI "Get the X509 certificate type\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_cert_utils_get_x509_name\fP (const char *subject_string, int length, X509_NAME *x509_name)"
.br
.RI "Get the certificate name\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_cert_utils_get_base_name\fP (X509_NAME *subject, STACK_OF(X509) *cert_chain)"
.br
.RI "Get the base certificate name from a certificate chain\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_cert_utils_get_eec\fP (STACK_OF(X509) *cert_chain, X509 **eec)"
.br
.RI "Get the end-entity certificate from a certificate chain\&. "
.ti -1c
.RI "globus_result_t \fBglobus_gsi_cert_utils_get_identity_cert\fP (STACK_OF(X509) *cert_chain, X509 **identity_cert)"
.br
.RI "Get the identity certificate from a certificate chain\&. "
.in -1c
.SH "Detailed Description"
.PP 
Globus GSI Certificate Handling Utilities\&. 

The Globus GSI Certificate Handling Utilities library\&. This library contains helper functions for dealing with certificates\&.
.PP
.IP "\(bu" 2
\fBActivation\fP
.IP "\(bu" 2
\fBGlobus GSI Certificate Handling Utilities\fP
.IP "\(bu" 2
\fBCert Utils Constants\fP 
.PP

.SH "Function Documentation"
.PP 
.SS "globus_result_t globus_gsi_cert_utils_get_base_name (X509_NAME * subject, STACK_OF(X509) * cert_chain)"

.PP
Get the base certificate name from a certificate chain\&. Get the base name of a proxy certificate\&. Given an X509 name, strip off the proxy related /CN components to get the base name of the certificate's subject
.PP
\fBParameters\fP
.RS 4
\fIsubject\fP Pointer to an X509_NAME object which gets stripped 
.br
\fIcert_chain\fP The certificate chain used to detect the number of CNs to strip\&. This is done by figuring out the number of proxies in the chain\&. 
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS 
.RE
.PP

.SS "globus_result_t globus_gsi_cert_utils_get_cert_type (X509 * cert, \fBglobus_gsi_cert_utils_cert_type_t\fP * type)"

.PP
Get the X509 certificate type\&. Determine the type of the given X509 certificate For the list of possible values returned, see globus_gsi_cert_utils_cert_type_t\&.
.PP
\fBParameters\fP
.RS 4
\fIcert\fP The X509 certificate 
.br
\fItype\fP The returned X509 certificate type
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS or an error captured in a globus_result_t 
.RE
.PP

.SS "globus_result_t globus_gsi_cert_utils_get_eec (STACK_OF(X509) * cert_chain, X509 ** eec)"

.PP
Get the end-entity certificate from a certificate chain\&. Get the end-entity certificate associated with a certificate chain
.PP
\fBParameters\fP
.RS 4
\fIcert_chain\fP Certificate chain to inspect\&. 
.br
\fIeec\fP Pointer to be set to the EEC value from within the cert chain\&. Must freed by the caller\&. 
.RE
.PP

.SS "globus_result_t globus_gsi_cert_utils_get_identity_cert (STACK_OF(X509) * cert_chain, X509 ** identity_cert)"

.PP
Get the identity certificate from a certificate chain\&. Get the identity-providing certificate associated with a certificate chain\&. This may be an independent proxy or a end-entity certificate\&.
.PP
\fBParameters\fP
.RS 4
\fIcert_chain\fP Certificate chain to inspect\&. 
.br
\fIidentity_cert\fP Pointer to be set to the certificate value from within the cert chain\&. Must freed by the caller\&. 
.RE
.PP

.SS "globus_result_t globus_gsi_cert_utils_get_x509_name (const char * subject_string, int length, X509_NAME * x509_name)"

.PP
Get the certificate name\&. Get the X509_NAME from a subject string\&. OpenSSL doesn't provide this function, probably because it shouldn't be used\&. If you are getting an X509_NAME from just a string, its impossible to verify its integrity\&.
.PP
\fBParameters\fP
.RS 4
\fIsubject_string\fP The subject in the format: '/O=Grid/OU=\&.\&.\&.' 
.br
\fIlength\fP The length of the subject string 
.br
\fIx509_name\fP The resulting X509_NAME object
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned 
.RE
.PP

.SS "globus_result_t globus_gsi_cert_utils_make_time (const ASN1_UTCTIME * ctm, time_t * newtime)"

.PP
Convert ASN1_UTCTIME to time_t\&. Convert a ASN1_UTCTIME structure to a time_t
.PP
\fBParameters\fP
.RS 4
\fIctm\fP The ASN1_UTCTIME to convert 
.br
\fInewtime\fP The converted time
.RE
.PP
\fBReturns\fP
.RS 4
GLOBUS_SUCCESS or an error captured in a globus_result_t 
.RE
.PP

.SH "Author"
.PP 
Generated automatically by Doxygen for globus_gsi_cert_utils from the source code\&.