---
name: "globus_gsi_credential.h"
section: "3"
platform: "linux"
package: "libglobus-gsi-credential-doc"
version: "8.4-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gsi_credential.h"
---

# globus\_gsi\_credential.h(3)

Globus GSI Credential Library.

## NAME

globus\_gsi\_credential.h - Globus GSI Credential Library.

## SYNOPSIS

`#include 'globus_common.h'`\
 `#include 'globus_error_openssl.h'`\
 `#include 'globus_gsi_cred_constants.h'`\
 `#include 'globus_gsi_callback.h'`\
 `#include 'globus_gsi_cert_utils.h'`\
 `#include 'openssl/x509.h'`\
 `#include 'openssl/bio.h'`\
 `#include 'openssl/ssl.h'`\
 `#include 'globus_error_generic.h'`\

### Macros

\#define **GLOBUS\_GSI\_CREDENTIAL\_MODULE**\

### Typedefs

typedef struct globus\_l\_gsi\_cred\_handle\_s \* **globus\_gsi\_cred\_handle\_t**\
 typedef struct globus\_l\_gsi\_cred\_handle\_attrs\_s \* **globus\_gsi\_cred\_handle\_attrs\_t**\

### Functions

globus\_result\_t **globus\_gsi\_cred\_handle\_init** (**globus\_gsi\_cred\_handle\_t** \*handle, **globus\_gsi\_cred\_handle\_attrs\_t** handle\_attrs)\
 Initialize a Handle.  globus\_result\_t **globus\_gsi\_cred\_handle\_destroy** (**globus\_gsi\_cred\_handle\_t** handle)\
 Destroy the credential handle.  globus\_result\_t **globus\_gsi\_cred\_handle\_copy** (**globus\_gsi\_cred\_handle\_t** source, **globus\_gsi\_cred\_handle\_t** \*dest)\
 Copy a handle.  globus\_result\_t **globus\_gsi\_cred\_handle\_attrs\_init** (**globus\_gsi\_cred\_handle\_attrs\_t** \*handle\_attrs)\
 Initialize credential handle attributes.  globus\_result\_t **globus\_gsi\_cred\_handle\_attrs\_destroy** (**globus\_gsi\_cred\_handle\_attrs\_t** handle\_attrs)\
 Destroy credential handle attributes.  globus\_result\_t **globus\_gsi\_cred\_handle\_attrs\_copy** (**globus\_gsi\_cred\_handle\_attrs\_t** source, **globus\_gsi\_cred\_handle\_attrs\_t** \*dest)\
 Copy credential handle attributes.  globus\_result\_t **globus\_gsi\_cred\_read** (**globus\_gsi\_cred\_handle\_t** handle, X509\_NAME \*desired\_subject)\
 Read a credential.  globus\_result\_t **globus\_gsi\_cred\_read\_proxy** (**globus\_gsi\_cred\_handle\_t** handle, const char \*proxy\_filename)\
 Read proxy credential.  globus\_result\_t **globus\_gsi\_cred\_read\_proxy\_bio** (**globus\_gsi\_cred\_handle\_t** handle, BIO \*bio)\
 Read proxy credential from a BIO.  globus\_result\_t **globus\_gsi\_cred\_read\_key** (**globus\_gsi\_cred\_handle\_t** handle, const char \*key\_filename, pem\_password\_cb \*pw\_cb)\
 Read a private key.  globus\_result\_t **globus\_gsi\_cred\_read\_cert** (**globus\_gsi\_cred\_handle\_t** handle, const char \*cert\_filename)\
 Read a certificate chain from a file.  globus\_result\_t **globus\_gsi\_cred\_read\_cert\_bio** (**globus\_gsi\_cred\_handle\_t** handle, BIO \*bio)\
 Read a certificate chain from a BIO.  globus\_result\_t **globus\_gsi\_cred\_read\_cert\_buffer** (const char \*pem\_buf, **globus\_gsi\_cred\_handle\_t** \*out\_handle, X509 \*\*out\_cert, STACK\_OF(X509) \*\*out\_cert\_chain, char \*\*out\_subject)\
 Read certificate chain from a buffer.  globus\_result\_t **globus\_gsi\_cred\_read\_pkcs12** (**globus\_gsi\_cred\_handle\_t** handle, const char \*pkcs12\_filename)\
 Read certificate and key from a PKCS12 file.  globus\_result\_t **globus\_gsi\_cred\_write** (**globus\_gsi\_cred\_handle\_t** handle, BIO \*bio)\
 Write Credential.  globus\_result\_t **globus\_gsi\_cred\_write\_proxy** (**globus\_gsi\_cred\_handle\_t** handle, const char \*proxy\_filename)\
 Write a proxy credential.  globus\_result\_t **globus\_gsi\_cred\_verify\_cert\_chain** (**globus\_gsi\_cred\_handle\_t** cred\_handle, globus\_gsi\_callback\_data\_t callback\_data)\
 Verify credential.  globus\_result\_t **globus\_gsi\_cred\_verify\_cert\_chain\_when** (**globus\_gsi\_cred\_handle\_t** cred\_handle, globus\_gsi\_callback\_data\_t callback\_data, time\_t check\_time)\
 Verify credential at a specific time.  globus\_result\_t **globus\_gsi\_cred\_verify** (**globus\_gsi\_cred\_handle\_t** handle)\
 Verify a credential.  globus\_result\_t **globus\_gsi\_cred\_get\_X509\_subject\_name** (**globus\_gsi\_cred\_handle\_t** handle, X509\_NAME \*\*subject\_name)\
 Get credential subject name.  globus\_result\_t **globus\_gsi\_cred\_get\_subject\_name** (**globus\_gsi\_cred\_handle\_t** handle, char \*\*subject\_name)\
 Get credential subject name.  globus\_result\_t **globus\_gsi\_cred\_get\_policies** (**globus\_gsi\_cred\_handle\_t** handle, STACK\_OF(OPENSSL\_STRING) \*\*policies)\
 Get certificate chain policies.  globus\_result\_t **globus\_gsi\_cred\_get\_policy\_languages** (**globus\_gsi\_cred\_handle\_t** handle, STACK\_OF(ASN1\_OBJECT) \*\*languages)\
 Get certificate chain policy languages.  globus\_result\_t **globus\_gsi\_cred\_get\_X509\_issuer\_name** (**globus\_gsi\_cred\_handle\_t** handle, X509\_NAME \*\*issuer\_name)\
 Get credential issuer name object.  globus\_result\_t **globus\_gsi\_cred\_get\_issuer\_name** (**globus\_gsi\_cred\_handle\_t** handle, char \*\*issuer\_name)\
 Get issuer name.  globus\_result\_t **globus\_gsi\_cred\_get\_X509\_identity\_name** (**globus\_gsi\_cred\_handle\_t** handle, X509\_NAME \*\*identity\_name)\
 Get X.509 identity.  globus\_result\_t **globus\_gsi\_cred\_get\_identity\_name** (**globus\_gsi\_cred\_handle\_t** handle, char \*\*identity\_name)\
 Get identity name.  globus\_result\_t **globus\_gsi\_cred\_set\_cert** (**globus\_gsi\_cred\_handle\_t** handle, X509 \*cert)\
 Set the credential's certificate.  globus\_result\_t **globus\_gsi\_cred\_set\_key** (**globus\_gsi\_cred\_handle\_t** handle, EVP\_PKEY \*key)\
 Set the credential's private key.  globus\_result\_t **globus\_gsi\_cred\_set\_cert\_chain** (**globus\_gsi\_cred\_handle\_t** handle, STACK\_OF(X509) \*cert\_chain)\
 Set the certificate chain.  globus\_result\_t **globus\_gsi\_cred\_get\_cert** (**globus\_gsi\_cred\_handle\_t** handle, X509 \*\*cert)\
 Get the credential's certificate.  globus\_result\_t **globus\_gsi\_cred\_get\_key** (**globus\_gsi\_cred\_handle\_t** handle, EVP\_PKEY \*\*key)\
 Get the credential's private key.  globus\_result\_t **globus\_gsi\_cred\_get\_cert\_chain** (**globus\_gsi\_cred\_handle\_t** handle, STACK\_OF(X509) \*\*cert\_chain)\
 Get the certificate chain.  globus\_result\_t **globus\_gsi\_cred\_get\_handle\_attrs** (**globus\_gsi\_cred\_handle\_t** handle, **globus\_gsi\_cred\_handle\_attrs\_t** \*handle\_attrs)\
 Get the handle attributes.  globus\_result\_t **globus\_gsi\_cred\_get\_lifetime** (**globus\_gsi\_cred\_handle\_t** handle, time\_t \*lifetime)\
 Get credential lifetime.  globus\_result\_t **globus\_gsi\_cred\_get\_goodtill** (**globus\_gsi\_cred\_handle\_t** handle, time\_t \*goodtill)\
 Get credential expiration.  globus\_result\_t **globus\_gsi\_cred\_get\_cert\_type** (**globus\_gsi\_cred\_handle\_t** handle, globus\_gsi\_cert\_utils\_cert\_type\_t \*type)\
 Get the X.509 certificate type.  globus\_result\_t **globus\_gsi\_cred\_get\_key\_bits** (**globus\_gsi\_cred\_handle\_t** handle, int \*key\_bits)\
 Get credential strength.  globus\_result\_t **globus\_gsi\_cred\_handle\_attrs\_set\_search\_order** (**globus\_gsi\_cred\_handle\_attrs\_t** handle\_attrs, **globus\_gsi\_cred\_type\_t** search\_order\[\])\
 Set the search order.

## Detailed Description

Globus GSI Credential Library.

**Author**

Sam Lang, Sam Meder

## Author

Generated automatically by Doxygen for globus\_gsi\_credential from the source code.
