---
name: "globus_gsi_proxy_operations"
section: "3"
platform: "linux"
package: "libglobus-gsi-proxy-core-doc"
version: "9.8-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gsi_proxy_operations"
---

# globus\_gsi\_proxy\_operations(3)

Proxy Operations - Initiate a proxy operation.

## NAME

globus\_gsi\_proxy\_operations - Proxy Operations

 \- Initiate a proxy operation.

## SYNOPSIS

### Functions

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\_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\_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\_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\_assemble\_cred** (**globus\_gsi\_proxy\_handle\_t** handle, globus\_gsi\_cred\_handle\_t \*proxy\_credential, BIO \*input\_bio)\
 Assemble a proxy credential.

## Detailed Description

Initiate a proxy operation.

This module contains the API functions for a user to request proxy request generation, proxy request inspection and proxy request signature.

## Function Documentation

### 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. This function assembles a proxy credential. It reads a signed proxy certificate and a associated certificate chain from the input\_bio and combines them with a private key previously generated by a call to **globus\_gsi\_proxy\_create\_req()**. The resulting credential is then returned through the proxy\_credential parameter.

**Parameters**

*handle* A GSI Proxy handle to use for the assemble operation. \
 *proxy\_credential* This parameter will contain the assembled credential upon successful return. \
 *input\_bio* A BIO to read a signed certificate and corresponding certificate chain from.

**Returns**

GLOBUS\_SUCCESS if no error occurred, an error object ID otherwise

### globus\_result\_t globus\_gsi\_proxy\_create\_req (globus\_gsi\_proxy\_handle\_t handle, BIO \* output\_bio)

Create a proxy credential request. This function creates a proxy credential request, an unsigned certificate and the corresponding private key, based on the handle that is passed in.

The public part of the request is written to the BIO supplied in the output\_bio parameter. After the request is written, the PROXYCERTINFO extension contained in the handle is written to the BIO.

The proxy handle is updated with the private key.

**Parameters**

*handle* A GSI Proxy handle to use for the request operation. \
 *output\_bio* A BIO to write the resulting request structure to.

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

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

**Parameters**

*handle* The proxy handle used to create and sign the proxy certificate \
 *issuer* The issuing credential, used for signing the proxy certificate \
 *proxy\_credential* The new proxy credential, containing the signed cert, private key, etc.

**Returns**

GLOBUS\_SUCCESS if no error occurred, an error object ID otherwise

### globus\_result\_t globus\_gsi\_proxy\_inquire\_req (globus\_gsi\_proxy\_handle\_t handle, BIO \* input\_bio)

Inquire a proxy credential request. This function reads the public part of a proxy credential request from input\_bio and if the request contains a ProxyCertInfo extension, updates the handle with the information contained in the extension.

**Parameters**

*handle* A GSI Proxy handle to use for the inquire operation. \
 *input\_bio* A BIO to read a request structure from.

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### 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. This function use the public key in a existing certificate to create a new proxy certificate chained to the issuers credentials. This operation will add a ProxyCertInfo extension to the proxy certificate if values contained in the extension are specified in the handle.

**Parameters**

*handle* A GSI Proxy handle to use for the signing operation. \
 *issuer\_credential* The credential structure to be used for signing the proxy certificate. \
 *peer\_credential* The credential structure that contains the certificate to be resigned. \
 *resigned\_credential* A credential structure that upon return will contain the resigned certificate and associated certificate chain.

**Returns**

GLOBUS\_SUCCESS unless an error occurred, in which case, a globus error object ID is returned

### 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. This function signs the public part of a proxy credential request, i.e. the unsigned certificate, previously read by **globus\_gsi\_proxy\_inquire\_req()** using the supplied issuer\_credential. This operation will add a ProxyCertInfo extension to the proxy certificate if values contained in the extension are specified in the handle. The resulting signed certificate is written to the output\_bio.

**Parameters**

*handle* A GSI Proxy handle to use for the signing operation. \
 *issuer\_credential* The credential structure to be used for signing the proxy certificate. \
 *output\_bio* A BIO to write the resulting certificate to.

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