---
name: "globus_gsi_proxy_handle_set_req"
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.h"
---

# globus\_gsi\_proxy\_handle\_set\_req(3)

Globus GSI Proxy API.

Part of [globus\_gsi\_proxy.h(3)](/globus_gsi_proxy.h/3.md).

## NAME

globus\_gsi\_proxy.h - Globus GSI Proxy API.

## SYNOPSIS

### Macros

\#define **GLOBUS\_GSI\_PROXY\_MODULE**\
 Module descriptor.

### Typedefs

typedef struct globus\_l\_gsi\_proxy\_handle\_s \* **globus\_gsi\_proxy\_handle\_t**\
 GSI Proxy Handle.  typedef struct globus\_l\_gsi\_proxy\_handle\_attrs\_s \* **globus\_gsi\_proxy\_handle\_attrs\_t**\
 Handle Attributes.

### Functions

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.  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)\
 globus\_result\_t **globus\_gsi\_proxy\_is\_limited** (**globus\_gsi\_proxy\_handle\_t** handle, globus\_bool\_t \*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.

## Function Documentation

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

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

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

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

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

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