---
name: "globus_gsi_proxy_handle_attrs"
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_handle_attrs"
---

# globus\_gsi\_proxy\_handle\_attrs(3)

Handle Attributes - Handle Attributes.

## NAME

globus\_gsi\_proxy\_handle\_attrs - Handle Attributes

 \- Handle Attributes.

## SYNOPSIS

### Typedefs

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\_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\_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\_attrs, 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\_attrs, 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\_attrs, 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\_attrs, void(\*callback)(int, int, void \*))\
 Set Key Gen Callback.  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.

## Detailed Description

Handle Attributes.

Handle attributes are used to control additional features of the GSI Proxy handle. These features are operation independent.

Currently there are no attributes.

**See also**

**globus\_gsi\_proxy\_handle\_t**

## Typedef Documentation

### typedef struct globus\_l\_gsi\_proxy\_handle\_attrs\_s\* globus\_gsi\_proxy\_handle\_attrs\_t

Handle Attributes. A GSI Proxy handle attributes type is used to associate immutable parameter values with a **Handle Management** handle. A handle attributes object should be created with immutable parameters and then passed to the proxy handle init function **globus\_gsi\_proxy\_handle\_init()**.

**See also**

**Handle Management**

## Function Documentation

### 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. Make a copy of GSI Proxy handle attributes

**Parameters**

*a* The handle attributes to copy \
 *b* The copy

**Returns**

GLOBUS\_SUCCESS

### globus\_result\_t globus\_gsi\_proxy\_handle\_attrs\_destroy (globus\_gsi\_proxy\_handle\_attrs\_t handle\_attrs)

Destroy attributes. Destroy the GSI Proxy handle attributes

**Parameters**

*handle\_attrs* The handle attributes to be destroyed.

**Returns**

GLOBUS\_SUCCESS

**See also**

**globus\_gsi\_proxy\_handle\_attrs\_init()**

### globus\_result\_t globus\_gsi\_proxy\_handle\_attrs\_get\_clock\_skew\_allowable (globus\_gsi\_proxy\_handle\_attrs\_t handle\_attrs, int \* skew)

Get Clock Skew Allowable. Get the allowable clock skew for the proxy certificate

**Parameters**

*handle\_attrs* The handle\_attrs to get the clock skew from \
 *skew* The allowable clock skew (in seconds) to get from the proxy certificate request. This value gets set by the function, so it needs to be a pointer.

**Returns**

GLOBUS\_SUCCESS if the handle\_attrs is valid, otherwise an error is returned

### 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. Get the initial prime number used for generating the public key pair in the RSA algorithm

**Parameters**

*handle\_attrs* The attributes to get the initial prime number from \
 *prime* The initial prime number taken from the attributes

**Returns**

GLOBUS\_SUCCESS

### globus\_result\_t globus\_gsi\_proxy\_handle\_attrs\_get\_key\_gen\_callback (globus\_gsi\_proxy\_handle\_attrs\_t handle\_attrs, void(\*\*)(int, int, void \*) callback)

Get Key Gen Callback. Get the public/private key generation callback that provides status during the generation of the keys

**Parameters**

*handle\_attrs* The handle\_attrs to get the callback from \
 *callback* The callback from the handle attributes

**Returns**

GLOBUS\_SUCCESS if the handle\_attrs is valid, otherwise an error is returned

### globus\_result\_t globus\_gsi\_proxy\_handle\_attrs\_get\_keybits (globus\_gsi\_proxy\_handle\_attrs\_t handle\_attrs, int \* bits)

Get Key Bits. Gets the length of the public key pair used by the proxy certificate

**Parameters**

*handle\_attrs* the attributes to get the key length from \
 *bits* the length of the key pair in bits

**Returns**

GLOBUS\_SUCCESS

### 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. Gets the Signing Algorithm to used to sign the certificate request. In most cases, the signing party will ignore this value, and sign with an algorithm of its choice.

**Parameters**

*handle\_attrs* The proxy handle\_attrs to get the signing algorithm of \
 *algorithm* Parameter used to return the signing algorithm used

**Returns**

Returns GLOBUS\_SUCCESS if the handle is valid, otherwise an error object is returned.

### globus\_result\_t globus\_gsi\_proxy\_handle\_attrs\_init (globus\_gsi\_proxy\_handle\_attrs\_t \* handle\_attrs)

Initialize Attributes. Initialize GSI Proxy Handle Attributes.

Initialize proxy handle attributes, which can (and should) be associated with a proxy handle. For most purposes, these attributes should primarily be used by the proxy handle.

Currently, no attribute values are initialized.

**Parameters**

*handle\_attrs* The handle attributes structure to be initialized

**Returns**

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

**See also**

**globus\_gsi\_proxy\_handle\_attrs\_destroy()**

### globus\_result\_t globus\_gsi\_proxy\_handle\_attrs\_set\_clock\_skew\_allowable (globus\_gsi\_proxy\_handle\_attrs\_t handle\_attrs, int skew)

Set Clock Skew Allowable. Sets the clock skew in minutes of the proxy cert request so that time differences between hosts won't cause problems. This value defaults to 5 minutes.

**Parameters**

*handle\_attrs* the handle\_attrs containing the clock skew to be set \
 *skew* the amount to skew by (in seconds)

**Returns**

GLOBUS\_SUCCESS if the handle\_attrs is valid - otherwise an error is returned.

### 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. Set the initial prime number used for generating public key pairs in the RSA algorithm

**Parameters**

*handle\_attrs* The attributes to set \
 *prime* The prime number to set it to This value needs to be a prime number

**Returns**

GLOBUS\_SUCCESS

### globus\_result\_t globus\_gsi\_proxy\_handle\_attrs\_set\_key\_gen\_callback (globus\_gsi\_proxy\_handle\_attrs\_t handle\_attrs, void(\*)(int, int, void \*) callback)

Set Key Gen Callback. Set the public/private key generation callback that provides status during the generation of the keys

**Parameters**

*handle\_attrs* The handle\_attrs to get the callback from \
 *callback* The callback from the handle attributes

**Returns**

GLOBUS\_SUCCESS if the handle\_attrs is valid, otherwise an error is returned

### globus\_result\_t globus\_gsi\_proxy\_handle\_attrs\_set\_keybits (globus\_gsi\_proxy\_handle\_attrs\_t handle\_attrs, int bits)

Set Key Bits. Set the length of the public key pair used by the proxy certificate

**Parameters**

*handle\_attrs* the attributes to set \
 *bits* the length to set it to (usually 1024)

**Returns**

GLOBUS\_SUCCESS

### 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. Sets the Signing Algorithm to be used to sign the certificate request. In most cases, the signing party will ignore this value, and sign with an algorithm of its choice.

**Parameters**

*handle\_attrs* The proxy handle to set the signing algorithm of \
 *algorithm* The signing algorithm to set

**Returns**

Returns GLOBUS\_SUCCESS if the handle is valid, otherwise an error object is returned.

## Author

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