globus_gsi_proxy.h(3)

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

πŸ’– globus_gsi_proxy.h β€” the Globus GSI Proxy API πŸ’–

okay bestie, sit down, hydrate, because we're reading a section-3 library manual page together and it's actually kind of a serve. This is globus_gsi_proxy.h, from the globus_gsi_proxy_core library β€” all the C functions you need to make, sign, poke at, and generally vibe with GSI proxy certificates. πŸŽ€


✨ NAME ✨

globus_gsi_proxy.h β€” the Globus GSI Proxy API. That's it, that's the name. Short, sweet, iconic.


🌸 SYNOPSIS 🌸

🧁 Macros

  • #define GLOBUS_GSI_PROXY_MODULE β€” the module descriptor. Yes ma'am, she's a macro.

πŸŽ€ Typedefs

  • typedef struct globus_l_gsi_proxy_handle_s * globus_gsi_proxy_handle_t β€” the GSI Proxy Handle. Your main character. πŸ’…
  • typedef struct globus_l_gsi_proxy_handle_attrs_s * globus_gsi_proxy_handle_attrs_t β€” the Handle Attributes. Her supportive bestie.

πŸ¦‹ Functions

okay this is the long part and I'm not skipping a single one, because every function here is somebody's blorbo. 🫢

  • globus_result_t globus_gsi_proxy_handle_init (globus_gsi_proxy_handle_t *handle, globus_gsi_proxy_handle_attrs_t handle_attrs) β€” Initialize a GSI Proxy handle.
  • globus_result_t globus_gsi_proxy_handle_destroy (globus_gsi_proxy_handle_t handle) β€” Destroy a GSI Proxy handle.
  • globus_result_t globus_gsi_proxy_handle_get_req (globus_gsi_proxy_handle_t handle, X509_REQ **req) β€” Get the certificate request from a GSI Proxy handle.
  • globus_result_t globus_gsi_proxy_handle_set_req (globus_gsi_proxy_handle_t handle, X509_REQ *req) β€” Set Request Set the certificate request in a GSI Proxy handle.
  • globus_result_t globus_gsi_proxy_handle_get_private_key (globus_gsi_proxy_handle_t handle, EVP_PKEY **proxy_key) β€” Get the private key from a GSI Proxy handle.
  • globus_result_t globus_gsi_proxy_handle_set_private_key (globus_gsi_proxy_handle_t handle, const EVP_PKEY *proxy_key) β€” Set the private key in a GSI Proxy handle.
  • globus_result_t globus_gsi_proxy_handle_get_type (globus_gsi_proxy_handle_t handle, globus_gsi_cert_utils_cert_type_t *type) β€” Get Proxy Type.
  • globus_result_t globus_gsi_proxy_handle_set_type (globus_gsi_proxy_handle_t handle, globus_gsi_cert_utils_cert_type_t type) β€” Get Proxy Type. (yes, the docs say "Get" on the setter too, and honestly? she contains multitudes. πŸ’€)
  • globus_result_t globus_gsi_proxy_handle_get_time_valid (globus_gsi_proxy_handle_t handle, int *time_valid) β€” Get Time Valid.
  • globus_result_t globus_gsi_proxy_handle_set_time_valid (globus_gsi_proxy_handle_t handle, int time_valid) β€” Set Time Valid.
  • globus_result_t globus_gsi_proxy_handle_set_policy (globus_gsi_proxy_handle_t handle, const unsigned char *policy_data, int policy_length, int policy_NID) β€” Set Policy.
  • globus_result_t globus_gsi_proxy_handle_get_policy (globus_gsi_proxy_handle_t handle, unsigned char **policy_data, int *policy_length, int *policy_NID) β€” Get Policy.
  • globus_result_t globus_gsi_proxy_handle_add_extension (globus_gsi_proxy_handle_t handle, X509_EXTENSION *extension) β€” Add X.509 Extensions.
  • globus_result_t globus_gsi_proxy_handle_set_extensions (globus_gsi_proxy_handle_t handle, STACK_OF(X509_EXTENSION) *extensions) β€” Set X.509 Extensions.
  • globus_result_t globus_gsi_proxy_handle_get_extensions (globus_gsi_proxy_handle_t handle, STACK_OF(X509_EXTENSION) **extension) β€” Get X.509 Extensions.
  • globus_result_t globus_gsi_proxy_handle_set_pathlen (globus_gsi_proxy_handle_t handle, long pathlen) β€” Set Path Length.
  • globus_result_t globus_gsi_proxy_handle_get_pathlen (globus_gsi_proxy_handle_t handle, int *pathlen) β€” Get Path Length.
  • globus_result_t globus_gsi_proxy_handle_clear_cert_info (globus_gsi_proxy_handle_t handle) β€” Clear Cert Info.
  • globus_result_t globus_gsi_proxy_handle_get_common_name (globus_gsi_proxy_handle_t handle, char **common_name) β€” Get/Set Proxy Common Name.
  • globus_result_t globus_gsi_proxy_handle_set_common_name (globus_gsi_proxy_handle_t handle, const char *common_name) β€” also Get/Set Proxy Common Name, she's the setter half of the duo.
  • globus_result_t globus_gsi_proxy_is_limited (globus_gsi_proxy_handle_t handle, globus_bool_t *is_limited) β€” Set/Check Proxy Is Limited.
  • globus_result_t globus_gsi_proxy_handle_set_is_limited (globus_gsi_proxy_handle_t handle, globus_bool_t is_limited) β€” Set/Check Proxy Is Limited.
  • globus_result_t globus_gsi_proxy_handle_get_signing_algorithm (globus_gsi_proxy_handle_t handle, const EVP_MD **algorithm) β€” Get Signing Algorithm.
  • globus_result_t globus_gsi_proxy_handle_get_keybits (globus_gsi_proxy_handle_t handle, int *key_bits) β€” Get Key Bits.
  • globus_result_t globus_gsi_proxy_handle_get_init_prime (globus_gsi_proxy_handle_t handle, int *init_prime) β€” Get Init Prime.
  • globus_result_t globus_gsi_proxy_handle_get_clock_skew_allowable (globus_gsi_proxy_handle_t handle, int *skew) β€” Get Clock Skew.
  • globus_result_t globus_gsi_proxy_handle_get_key_gen_callback (globus_gsi_proxy_handle_t handle, void(**callback)(int, int, void *)) β€” Get Callback for Creating Keys.
  • globus_result_t globus_gsi_proxy_handle_attrs_init (globus_gsi_proxy_handle_attrs_t *handle_attrs) β€” Initialize Attributes.
  • globus_result_t globus_gsi_proxy_handle_attrs_destroy (globus_gsi_proxy_handle_attrs_t handle_attrs) β€” Destroy attributes.
  • globus_result_t globus_gsi_proxy_handle_attrs_copy (globus_gsi_proxy_handle_attrs_t a, globus_gsi_proxy_handle_attrs_t *b) β€” Copy Attributes.
  • globus_result_t globus_gsi_proxy_create_req (globus_gsi_proxy_handle_t handle, BIO *output_bio) β€” Create a proxy credential request.
  • globus_result_t globus_gsi_proxy_inquire_req (globus_gsi_proxy_handle_t handle, BIO *input_bio) β€” Inquire a proxy credential request.
  • globus_result_t globus_gsi_proxy_sign_req (globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer_credential, BIO *output_bio) β€” Sign a proxy certificate request.
  • globus_result_t globus_gsi_proxy_resign_cert (globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer_credential, globus_gsi_cred_handle_t peer_credential, globus_gsi_cred_handle_t *resigned_credential) β€” Resign an existing certificate into a proxy.
  • globus_result_t globus_gsi_proxy_assemble_cred (globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t *proxy_credential, BIO *input_bio) β€” Assemble a proxy credential.
  • globus_result_t globus_gsi_proxy_create_signed (globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer, globus_gsi_cred_handle_t *proxy_credential) β€” Create Signed Proxy Certificate.
  • globus_result_t globus_gsi_proxy_handle_attrs_set_keybits (globus_gsi_proxy_handle_attrs_t handle_attrs, int bits) β€” Set Key Bits.
  • globus_result_t globus_gsi_proxy_handle_attrs_get_keybits (globus_gsi_proxy_handle_attrs_t handle_attrs, int *bits) β€” Get Key Bits.
  • globus_result_t globus_gsi_proxy_handle_attrs_set_init_prime (globus_gsi_proxy_handle_attrs_t handle_attrs, int prime) β€” Set Initial Prime Number.
  • globus_result_t globus_gsi_proxy_handle_attrs_get_init_prime (globus_gsi_proxy_handle_attrs_t handle_attrs, int *prime) β€” Get Initial Prime Number.
  • globus_result_t globus_gsi_proxy_handle_attrs_set_signing_algorithm (globus_gsi_proxy_handle_attrs_t handle_attrs, const EVP_MD *algorithm) β€” Set Signing Algorithm.
  • globus_result_t globus_gsi_proxy_handle_attrs_get_signing_algorithm (globus_gsi_proxy_handle_attrs_t handle_attrs, const EVP_MD **algorithm) β€” Get Signing Algorithm.
  • globus_result_t globus_gsi_proxy_handle_attrs_set_clock_skew_allowable (globus_gsi_proxy_handle_attrs_t handle, int skew) β€” Set Clock Skew Allowable.
  • globus_result_t globus_gsi_proxy_handle_attrs_get_clock_skew_allowable (globus_gsi_proxy_handle_attrs_t handle, int *skew) β€” Get Clock Skew Allowable.
  • globus_result_t globus_gsi_proxy_handle_attrs_get_key_gen_callback (globus_gsi_proxy_handle_attrs_t handle, void(**callback)(int, int, void *)) β€” Get Key Gen Callback.
  • globus_result_t globus_gsi_proxy_handle_attrs_set_key_gen_callback (globus_gsi_proxy_handle_attrs_t handle, void(*callback)(int, int, void *)) β€” Set Key Gen Callback.

🌈 Detailed Description 🌈

Globus GSI Proxy API. That's the whole detailed description, bestie. She said "detailed" and then gave us one line. Lowkey relatable. πŸ’€βœ¨


πŸ‘‘ Function Documentation πŸ‘‘

okay so the docs only go deep on a handful of these, and we're giving them the full red-carpet treatment. πŸŽ€

πŸ’– globus_result_t globus_gsi_proxy_handle_destroy (globus_gsi_proxy_handle_t handle)

Destroy a GSI Proxy handle. Free the memory used by a GSI proxy handle. Yes, we're freeing her, and that's a slay, not a tragedy β€” this is how handles get their rest. 🌸

Parameters

  • handle β€” The handle to be destroyed.

Returns

  • GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned.

See also

  • globus_gsi_proxy_handle_init()

πŸ¦‹ globus_result_t globus_gsi_proxy_handle_set_common_name (globus_gsi_proxy_handle_t handle, const char * common_name)

Set the proxy common name stored in the GSI Proxy handle.

This function sets the proxy common name in the GSI Proxy handle. Note that the common name is only used for draft compliant proxies. πŸ‘€ (important lore, don't skip it.)

Parameters

  • handle β€” The handle for which to set the proxy common name.
  • common_name β€” The proxy common name to set.

Returns

  • GLOBUS_SUCCESS upon success
  • GLOBUS_GSI_PROXY_ERROR_WITH_HANDLE if handle is invalid

πŸŽ€ globus_result_t globus_gsi_proxy_handle_set_private_key (globus_gsi_proxy_handle_t handle, const EVP_PKEY * proxy_key)

Set the private key in a GSI Proxy handle. Copies the private key pointed to by proxy_key to the handle. It's giving "dupe it and keep it", not "borrow it and give it back". πŸ’…

Parameters

  • handle β€” The handle for which to set the private key
  • proxy_key β€” Parameter used to pass the key

Returns

  • GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

See also

  • globus_gsi_proxy_handle_get_private_key()

✨ globus_result_t globus_gsi_proxy_handle_set_req (globus_gsi_proxy_handle_t handle, X509_REQ * req)

Set Request Set the certificate request in a GSI Proxy handle. (That double "Set" is canon, we don't edit canon. πŸ™ˆ)

Parameters

  • handle β€” The handle for which to set the certificate request
  • req β€” Request to be copied to handle.

Returns

  • GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

See also

  • globus_gsi_proxy_handle_get_req()

🧚 globus_result_t globus_gsi_proxy_is_limited (globus_gsi_proxy_handle_t handle, globus_bool_t * is_limited)

Check to see the proxy is a limited proxy. Sometimes you just gotta know if she's limited, fr fr. πŸ”₯

Parameters

  • handle β€” the proxy handle to check
  • is_limited β€” boolean value to set depending on the type of proxy

Returns

  • GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for globus_gsi_proxy_core from the source code. Not a human author, a robot did this, and honestly the robot ate. πŸ€–βœ¨


and that's the whole page, bestie!! 🫢 This was globus_gsi_proxy.h(3) from globus_gsi_proxy_core, Version 9.9. Go make some proxies, stay hydrated, and remember: you're the main character of your own certificate chain. πŸ’–πŸŒΈπŸŽ€πŸ¦‹πŸ’…πŸ‘‘