globus_gsi_credential.h(3)

πŸ“¦
version 8.5 Β· 7 versions
, in epel 10, fedora 43, fedora 44, ubuntu resolute, ubuntu stonking

πŸ’– globus_gsi_credential.h β€” the Globus GSI Credential Library ✨

okay bestie, sit down, hydrate, because this is the globus_gsi_credential.h manual page from the Library Functions Manual and it's lowkey a whole vibe. it's the header for the Globus GSI Credential Library β€” yes, the one that handles your certs, your keys, your proxies, your whole identity situation. πŸŽ€


🌸 NAME 🌸

globus_gsi_credential.h β€” the Globus GSI Credential Library. it's giving "i hold your credentials and i hold them responsibly." πŸ‘‘


✨ SYNOPSIS ✨

first things first, you gotta invite the whole friend group in:

#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 β€” the module macro. it's here, it exists, it said hi. πŸ’…

πŸ¦‹ Typedefs

  • typedef struct globus_l_gsi_cred_handle_s * globus_gsi_cred_handle_t β€” your credential handle. the main character fr.
  • typedef struct globus_l_gsi_cred_handle_attrs_s * globus_gsi_cred_handle_attrs_t β€” the handle's attributes. the handle's supportive bestie. πŸ’œ

πŸ‘‘ 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. birth of a legend, no cap.
  • globus_result_t globus_gsi_cred_handle_destroy (globus_gsi_cred_handle_t handle) β€” Destroy the credential handle. it lived a good life. πŸ•ŠοΈ
  • globus_result_t globus_gsi_cred_handle_copy (globus_gsi_cred_handle_t source, globus_gsi_cred_handle_t *dest) β€” Copy a handle. twin energy.
  • 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. bye bestie 🫢
  • 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. from a file, with a filename and everything. πŸ“
  • globus_result_t globus_gsi_cred_read_proxy_bio (globus_gsi_cred_handle_t handle, BIO *bio) β€” Read proxy credential from a BIO. same energy, different source.
  • 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. yes it gives you the handle, the cert, the chain AND the subject. overachiever behavior πŸ’…
  • 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. time travel but make it PKI. ⏰
  • 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. the raw X509 version.
  • globus_result_t globus_gsi_cred_get_subject_name (globus_gsi_cred_handle_t handle, char **subject_name) β€” Get credential subject name. the string version, for when you want it readable.
  • 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. who even are you? this knows. πŸͺž
  • 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. that's the whole thing, bestie. that's what we're working with. it's iconic, it's load-bearing, and every function above is in this file. periodt. πŸ’…

🌟 Author

Sam Lang, Sam Meder β€” the actual authors, absolute legends, we love them, we thank them. πŸ™Œ


πŸ’œ Author πŸ’œ

okay so this page itself? it was Generated automatically by Doxygen for globus_gsi_credential from the source code. so no human hand-typed it, it just materialized. very demure, very automated. ✨

and that's the whole page β€” this is globus_gsi_credential.h(3), sitting pretty at Version 8.5, in the globus_gsi_credential era. go read your certs, bestie, you got this πŸ«ΆπŸŽ€πŸ’–