---
name: "GLOBUS_GSI_CERT_UTILS_TYPE_CA"
section: "3"
platform: "linux"
package: "libglobus-gsi-cert-utils-doc"
version: "10.11-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gsi_cert_utils_constants"
---

# GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_CA(3)

Cert Utils Constants - Cert Utils Constants.

Part of [globus\_gsi\_cert\_utils\_constants(3)](/globus_gsi_cert_utils_constants/3.md).

## NAME

globus\_gsi\_cert\_utils\_constants - Cert Utils Constants

 \- 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.

## Typedef Documentation

### typedef enum globus\_gsi\_cert\_utils\_cert\_type\_e globus\_gsi\_cert\_utils\_cert\_type\_t

Certificate Types.

These certificate types are used to describe some properties of a certificate and to specify what type of proxy should be generated in the proxy core code. There are two non-proxy types of certificates 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), and four types of proxy (limited, impersonation 'full', restricted, and independent). The latter two types are not expressible in the GSI 2 format.

In addition to enumerations for the concrete renderings of certificate format and type combined, there are default, formats-without-types and types-without-formats so that application logic which uses the proxy library can request default proxy formats which are compatible with the issuing certificate.

## Enumeration Type Documentation

### enum globus\_gsi\_cert\_utils\_cert\_type\_e

Certificate Types.

These certificate types are used to describe some properties of a certificate and to specify what type of proxy should be generated in the proxy core code. There are two non-proxy types of certificates 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), and four types of proxy (limited, impersonation 'full', restricted, and independent). The latter two types are not expressible in the GSI 2 format.

In addition to enumerations for the concrete renderings of certificate format and type combined, there are default, formats-without-types and types-without-formats so that application logic which uses the proxy library can request default proxy formats which are compatible with the issuing certificate.

**Enumerator**

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_DEFAULT*

  *Default proxy type*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_EEC*

  *A end entity certificate*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_CA*

  *A CA certificate*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_GSI\_2*

  *Legacy Proxy Format*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_GSI\_3*

  *X.509 Proxy Certificate Profile (draft) Proxy Format*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_RFC*

  *X.509 Proxy Certificate Profile Compliant Proxy Format*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_FORMAT\_MASK*

  *Proxy certificate formats mask*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_IMPERSONATION\_PROXY*

  *Impersonation proxy type*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_LIMITED\_PROXY*

  *Limited proxy type*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_RESTRICTED\_PROXY*

  *Restricted proxy type*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_INDEPENDENT\_PROXY*

  *Independent proxy type*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_PROXY\_MASK*

  *Proxy types mask*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_GSI\_3\_IMPERSONATION\_PROXY*

  *A X.509 Proxy Certificate Profile (pre-RFC) compliant impersonation proxy*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_GSI\_3\_INDEPENDENT\_PROXY*

  *A X.509 Proxy Certificate Profile (pre-RFC) compliant independent proxy*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_GSI\_3\_LIMITED\_PROXY*

  *A X.509 Proxy Certificate Profile (pre-RFC) compliant limited proxy*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_GSI\_3\_RESTRICTED\_PROXY*

  *A X.509 Proxy Certificate Profile (pre-RFC) compliant restricted proxy*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_GSI\_2\_PROXY*

  *A legacy Globus impersonation proxy*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_GSI\_2\_LIMITED\_PROXY*

  *A legacy Globus limited impersonation proxy*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_RFC\_IMPERSONATION\_PROXY*

  *A X.509 Proxy Certificate Profile RFC compliant impersonation proxy*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_RFC\_INDEPENDENT\_PROXY*

  *A X.509 Proxy Certificate Profile RFC compliant independent proxy*

- *GLOBUS\_GSI\_CERT\_UTILS\_TYPE\_RFC\_LIMITED\_PROXY*

  *A X.509 Proxy Certificate Profile RFC compliant limited proxy*

- *GLOBUS\_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*

**Enumerator**

- *GLOBUS\_GSI\_CERT\_UTILS\_ERROR\_SUCCESS*

  *Success - never used*

- *GLOBUS\_GSI\_CERT\_UTILS\_ERROR\_GETTING\_NAME\_ENTRY\_OF\_SUBJECT*

  *Failed to retrieve a subcomponent of the subject*

- *GLOBUS\_GSI\_CERT\_UTILS\_ERROR\_COPYING\_SUBJECT*

  *A error occurred while trying to copy a X.509 subject*

- *GLOBUS\_GSI\_CERT\_UTILS\_ERROR\_GETTING\_CN\_ENTRY*

  *Failed to retrieve a CN subcomponent of the subject*

- *GLOBUS\_GSI\_CERT\_UTILS\_ERROR\_ADDING\_CN\_TO\_SUBJECT*

  *Failed to add a CN component to a X.509 subject name*

- *GLOBUS\_GSI\_CERT\_UTILS\_ERROR\_OUT\_OF\_MEMORY*

  *Out of memory*

- *GLOBUS\_GSI\_CERT\_UTILS\_ERROR\_UNEXPECTED\_FORMAT*

  *Something unexpected happen while converting a string subject to a X509\_NAME structure*

- *GLOBUS\_GSI\_CERT\_UTILS\_ERROR\_NON\_COMPLIANT\_PROXY*

  *Proxy does not comply with the expected format*

- *GLOBUS\_GSI\_CERT\_UTILS\_ERROR\_DETERMINING\_CERT\_TYPE*

  *Couldn't dtermine the certificate type*

- *GLOBUS\_GSI\_CERT\_UTILS\_ERROR\_LAST*

  *Last marker - never used*

## Author

*Generated automatically by Doxygen for globus\_gsi\_cert\_utils from the source code.*
