ProxyPolicy

Data Structures

Get a method for ASN1 conversion

New

Free

Duplicate

Compare

Print to a BIO stream

Print to a File Stream

Set the Policy Language Field

Get the Policy Language Field

Set the Policy Field

Get the Policy Field

Convert from Internal to DER encoded form

Convert from DER encoded form to Internal


Detailed Description

Author:
Sam Meder
Sam Lang

The proxypolicy set of data structures and functions provides an interface to generating a PROXYPOLICY structure which is maintained as a field in the PROXYCERTINFO structure, and ultimately gets written to a DER encoded string.

See also:
Further Information about proxy policies is available in the X.509 Proxy Certificate Profile document.

Function Documentation

ASN1_METHOD* PROXYPOLICY_asn1_meth ( )

Creates an ASN1_METHOD structure, which contains pointers to routines that convert any PROXYPOLICY structure to its associated ASN1 DER encoded form and vice-versa.

Returns:
the ASN1_METHOD object
PROXYPOLICY* PROXYPOLICY_new ( )

Allocates and initializes a new PROXYPOLICY structure.

Returns:
pointer to the new PROXYPOLICY
void PROXYPOLICY_free ( PROXYPOLICY policy)

Frees a PROXYPOLICY.

Parameters:
policythe proxy policy to free
PROXYPOLICY* PROXYPOLICY_dup ( PROXYPOLICY policy)

Makes a copy of the proxypolicy - this function allocates space for a new PROXYPOLICY, so the returned PROXYPOLICY must be freed when its no longer needed.

Parameters:
policythe proxy policy to copy
Returns:
the new PROXYPOLICY
int PROXYPOLICY_cmp ( const PROXYPOLICY a,
const PROXYPOLICY b 
)

Compares two PROXYPOLICY structs for equality This function first compares the policy language numeric id's, if they're equal, it then compares the two policies.

Returns:
0 if equal, nonzero if not
int PROXYPOLICY_print ( BIO *  bp,
PROXYPOLICY policy 
)

Prints the PROXYPOLICY struct using the BIO stream.

Parameters:
bpthe BIO stream to print to
policythe PROXYPOLICY to print
Returns:
1 on success, 0 on error
int PROXYPOLICY_print_fp ( FILE *  fp,
PROXYPOLICY policy 
)

Prints the PROXYPOLICY to the file stream FILE*.

Parameters:
fpthe FILE* stream to print to
policythe PROXYPOLICY to print
Returns:
number of bytes printed, -2 or -1 on error
int PROXYPOLICY_set_policy_language ( PROXYPOLICY policy,
ASN1_OBJECT *  policy_language 
)

Sets the policy language of the PROXYPOLICY.

Parameters:
policythe PROXYPOLICY to set the policy language of
policy_languagethe policy language to set it to
Returns:
1 on success, 0 on error
ASN1_OBJECT* PROXYPOLICY_get_policy_language ( PROXYPOLICY policy)

Gets the policy language of the PROXYPOLICY.

Parameters:
policythe proxy policy to get the policy language of
Returns:
the policy language as an ASN1_OBJECT
int PROXYPOLICY_set_policy ( PROXYPOLICY proxypolicy,
unsigned char *  policy,
int  length 
)

Sets the policy of the PROXYPOLICY.

Parameters:
proxypolicythe proxy policy to set the policy of
policythe policy to set it to
lengththe length of the policy
Returns:
1 on success, 0 on error
unsigned char* PROXYPOLICY_get_policy ( PROXYPOLICY policy,
int *  length 
)

Gets the policy of a PROXYPOLICY.

Parameters:
policythe PROXYPOLICY to get the policy of
lengththe length of the returned policy - this value gets set by this function
Returns:
the policy
int i2d_PROXYPOLICY ( PROXYPOLICY a,
unsigned char **  pp 
)

Converts a PROXYPOLICY from its internal structure to a DER encoded form.

Parameters:
athe PROXYPOLICY to convert
ppthe buffer to put the DER encoding in
Returns:
the length of the DER encoding in bytes
PROXYPOLICY* d2i_PROXYPOLICY ( PROXYPOLICY **  a,
unsigned char **  pp,
long  length 
)

Converts the PROXYPOLICY from its DER encoded form to an internal PROXYPOLICY structure.

Parameters:
athe PROXYPOLICY struct to set
ppthe DER encoding to get the PROXYPOLICY from
lengththe length of the DER encoding
Returns:
the resulting PROXYPOLICY in its internal structure form - this variable has been allocated using _new routines, so it needs to be freed once its no longer used