GLOBUS_GSI_CERT_UTILS_CONSTANTS(3)
π NAME π
globus_gsi_cert_utils_constants β Cert Utils Constants β¨
okay bestie, this one's literally just the constants page, and yeah it's giving "boring enum dump" energy but it's actually the whole vibe of globus_gsi_cert_utils. This is from the Library Functions Manual for globus_gsi...s_constants(3), and we're gonna walk it together, no cap π
- Cert Utils Constants.
β¨ SYNOPSIS β¨
Typedefs
typedef enum globus_gsi_cert_utils_cert_type_e
globus_gsi_cert_utils_cert_type_t
Enumerations
enum globus_gsi_cert_utils_error_t { GLOBUS_GSI_CERT_UTILS_ERROR_SUCCESS
= 0, GLOBUS_GSI_CERT_UTILS_ERROR_GETTING_NAME_ENTRY_OF_SUBJECT = 1,
GLOBUS_GSI_CERT_UTILS_ERROR_COPYING_SUBJECT = 2,
GLOBUS_GSI_CERT_UTILS_ERROR_GETTING_CN_ENTRY = 3,
GLOBUS_GSI_CERT_UTILS_ERROR_ADDING_CN_TO_SUBJECT = 4,
GLOBUS_GSI_CERT_UTILS_ERROR_OUT_OF_MEMORY = 5,
GLOBUS_GSI_CERT_UTILS_ERROR_UNEXPECTED_FORMAT = 6,
GLOBUS_GSI_CERT_UTILS_ERROR_NON_COMPLIANT_PROXY = 7,
GLOBUS_GSI_CERT_UTILS_ERROR_DETERMINING_CERT_TYPE = 8,
GLOBUS_GSI_CERT_UTILS_ERROR_LAST = 9 }
enum globus_gsi_cert_utils_cert_type_e {
GLOBUS_GSI_CERT_UTILS_TYPE_DEFAULT = 0,
GLOBUS_GSI_CERT_UTILS_TYPE_EEC = (1 << 0),
GLOBUS_GSI_CERT_UTILS_TYPE_CA = (1 << 1),
GLOBUS_GSI_CERT_UTILS_TYPE_GSI_2 = (1 << 2),
GLOBUS_GSI_CERT_UTILS_TYPE_GSI_3 = (1 << 3),
GLOBUS_GSI_CERT_UTILS_TYPE_RFC = (1 << 4),
GLOBUS_GSI_CERT_UTILS_TYPE_FORMAT_MASK,
GLOBUS_GSI_CERT_UTILS_TYPE_IMPERSONATION_PROXY = (1 << 5),
GLOBUS_GSI_CERT_UTILS_TYPE_LIMITED_PROXY = (1 << 6),
GLOBUS_GSI_CERT_UTILS_TYPE_RESTRICTED_PROXY = (1 << 7),
GLOBUS_GSI_CERT_UTILS_TYPE_INDEPENDENT_PROXY = (1 << 8),
GLOBUS_GSI_CERT_UTILS_TYPE_PROXY_MASK,
GLOBUS_GSI_CERT_UTILS_TYPE_GSI_3_IMPERSONATION_PROXY,
GLOBUS_GSI_CERT_UTILS_TYPE_GSI_3_INDEPENDENT_PROXY,
GLOBUS_GSI_CERT_UTILS_TYPE_GSI_3_LIMITED_PROXY,
GLOBUS_GSI_CERT_UTILS_TYPE_GSI_3_RESTRICTED_PROXY,
GLOBUS_GSI_CERT_UTILS_TYPE_GSI_2_PROXY,
GLOBUS_GSI_CERT_UTILS_TYPE_GSI_2_LIMITED_PROXY,
GLOBUS_GSI_CERT_UTILS_TYPE_RFC_IMPERSONATION_PROXY,
GLOBUS_GSI_CERT_UTILS_TYPE_RFC_INDEPENDENT_PROXY,
GLOBUS_GSI_CERT_UTILS_TYPE_RFC_LIMITED_PROXY,
GLOBUS_GSI_CERT_UTILS_TYPE_RFC_RESTRICTED_PROXY }
π¦ DETAILED DESCRIPTION π¦
Cert Utils Constants. that's it, that's the whole description, they really said "keep it brief" π
π TYPEDEF DOCUMENTATION π
typedef enum globus_gsi_cert_utils_cert_type_e globus_gsi_cert_utils_cert_type_t
Certificate Types. π
so these certificate types are the little labels that describe some properties of a certificate AND tell the proxy core code what kind of proxy it should generate. two jobs, main character energy honestly π
There are two non-proxy types of certificates that Globus understands: EEC (End-Entity Certificate) and CA (Certificate Authority Certificates). then there are three proxy formats: GSI 2 "legacy" proxies, GSI 3 "Draft" proxies, and RFC 3820-compliant proxies. and then four types of proxy: limited, impersonation "full", restricted, and independent. π«Ά
heads up bestie: the latter two types (restricted and independent) are not expressible in the GSI 2 format. so like, don't try it. fr fr.
On top of the enumerations for the concrete renderings of certificate format + type combined, there are also default, formats-without-types and types-without-formats, so that application logic using the proxy library can request default proxy formats that are compatible with the issuing certificate. it's giving "flexible, adaptable, iconic" β¨
πΈ ENUMERATION TYPE DOCUMENTATION πΈ
enum globus_gsi_cert_utils_cert_type_e
Certificate Types. π
again for the people in the back: these certificate types describe some properties of a certificate and specify what type of proxy should be generated in the proxy core code. two non-proxy types understood by Globus: EEC (End-Entity Certificate) and CA (Certificate Authority Certificates). three proxy formats: GSI 2 "legacy" proxies, GSI 3 "Draft" proxies, and RFC 3820-compliant proxies. four types of proxy: limited, impersonation "full", restricted, and independent. and the last two are not expressible in the GSI 2 format, periodt.
Plus the default / formats-without-types / types-without-formats situation so app logic using the proxy library can request default proxy formats compatible with the issuing certificate π
Enumerator
GLOBUS_GSI_CERT_UTILS_TYPE_DEFAULTβ Default proxy typeGLOBUS_GSI_CERT_UTILS_TYPE_EECβ A end entity certificateGLOBUS_GSI_CERT_UTILS_TYPE_CAβ A CA certificateGLOBUS_GSI_CERT_UTILS_TYPE_GSI_2β Legacy Proxy FormatGLOBUS_GSI_CERT_UTILS_TYPE_GSI_3β X.509 Proxy Certificate Profile (draft) Proxy FormatGLOBUS_GSI_CERT_UTILS_TYPE_RFCβ X.509 Proxy Certificate Profile Compliant Proxy FormatGLOBUS_GSI_CERT_UTILS_TYPE_FORMAT_MASKβ Proxy certificate formats maskGLOBUS_GSI_CERT_UTILS_TYPE_IMPERSONATION_PROXYβ Impersonation proxy typeGLOBUS_GSI_CERT_UTILS_TYPE_LIMITED_PROXYβ Limited proxy typeGLOBUS_GSI_CERT_UTILS_TYPE_RESTRICTED_PROXYβ Restricted proxy typeGLOBUS_GSI_CERT_UTILS_TYPE_INDEPENDENT_PROXYβ Independent proxy typeGLOBUS_GSI_CERT_UTILS_TYPE_PROXY_MASKβ Proxy types maskGLOBUS_GSI_CERT_UTILS_TYPE_GSI_3_IMPERSONATION_PROXYβ A X.509 Proxy Certificate Profile (pre-RFC) compliant impersonation proxyGLOBUS_GSI_CERT_UTILS_TYPE_GSI_3_INDEPENDENT_PROXYβ A X.509 Proxy Certificate Profile (pre-RFC) compliant independent proxyGLOBUS_GSI_CERT_UTILS_TYPE_GSI_3_LIMITED_PROXYβ A X.509 Proxy Certificate Profile (pre-RFC) compliant limited proxyGLOBUS_GSI_CERT_UTILS_TYPE_GSI_3_RESTRICTED_PROXYβ A X.509 Proxy Certificate Profile (pre-RFC) compliant restricted proxyGLOBUS_GSI_CERT_UTILS_TYPE_GSI_2_PROXYβ A legacy Globus impersonation proxyGLOBUS_GSI_CERT_UTILS_TYPE_GSI_2_LIMITED_PROXYβ A legacy Globus limited impersonation proxyGLOBUS_GSI_CERT_UTILS_TYPE_RFC_IMPERSONATION_PROXYβ A X.509 Proxy Certificate Profile RFC compliant impersonation proxyGLOBUS_GSI_CERT_UTILS_TYPE_RFC_INDEPENDENT_PROXYβ A X.509 Proxy Certificate Profile RFC compliant independent proxyGLOBUS_GSI_CERT_UTILS_TYPE_RFC_LIMITED_PROXYβ A X.509 Proxy Certificate Profile RFC compliant limited proxyGLOBUS_GSI_CERT_UTILS_TYPE_RFC_RESTRICTED_PROXYβ A X.509 Proxy Certificate Profile RFC compliant restricted proxy
enum globus_gsi_cert_utils_error_t
Cert Utils Error Codes. π
the error roster, aka the "what went wrong" mood board. every single one, no skipping π
Enumerator
GLOBUS_GSI_CERT_UTILS_ERROR_SUCCESSβ Success - never usedGLOBUS_GSI_CERT_UTILS_ERROR_GETTING_NAME_ENTRY_OF_SUBJECTβ Failed to retrieve a subcomponent of the subjectGLOBUS_GSI_CERT_UTILS_ERROR_COPYING_SUBJECTβ A error occurred while trying to copy a X.509 subjectGLOBUS_GSI_CERT_UTILS_ERROR_GETTING_CN_ENTRYβ Failed to retrieve a CN subcomponent of the subjectGLOBUS_GSI_CERT_UTILS_ERROR_ADDING_CN_TO_SUBJECTβ Failed to add a CN component to a X.509 subject nameGLOBUS_GSI_CERT_UTILS_ERROR_OUT_OF_MEMORYβ Out of memoryGLOBUS_GSI_CERT_UTILS_ERROR_UNEXPECTED_FORMATβ Something unexpected happen while converting a string subject to a X509_NAME structureGLOBUS_GSI_CERT_UTILS_ERROR_NON_COMPLIANT_PROXYβ Proxy does not comply with the expected formatGLOBUS_GSI_CERT_UTILS_ERROR_DETERMINING_CERT_TYPEβ Couldn't dtermine the certificate typeGLOBUS_GSI_CERT_UTILS_ERROR_LASTβ Last marker - never used
π AUTHOR π
Generated automatically by Doxygen for globus_gsi_cert_utils from the source code. so nobody hand-wrote this one, the robots did it π€β¨
okay and for the cute sign-off: this lil page is from globus_gsi_cert_utils, Version 10.11, living under the name globus_gsi...s_constants(3) β shoutout to Doxygen for generating it, and shoutout to you for reading all the way to the bottom bestie, you ate that π
π«Ά
π¦ where this page comes from
- fedora 43: globus-gsi-cert-utils-doc 10.11-4.fc43 Β· Apache-2.0
- fedora 44: globus-gsi-cert-utils-doc 10.11-5.fc44 Β· Apache-2.0
- ubuntu resolute: libglobus-gsi-cert-utils-doc 10.11-2build1 Β· Apache-2.0
- ubuntu stonking: libglobus-gsi-cert-utils-doc 10.11-3build1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms