Functions
hx509 name functions

## Functions
int | hx509_name_to_string (const hx509_name name, char **str)
int | hx509_name_cmp (hx509_name n1, hx509_name n2)
int | hx509_parse_name (hx509_context context, const char *str, hx509_name *name)
int | hx509_name_copy (hx509_context context, const hx509_name from, hx509_name *to)
int | hx509_name_to_Name (const hx509_name from, Name *to)
int | hx509_name_expand (hx509_context context, hx509_name name, hx509_env env)
void | hx509_name_free (hx509_name *name)
int | hx509_unparse_der_name (const void *data, size_t length, char **str)
int | hx509_name_binary (const hx509_name name, heim_octet_string *os)
int | hx509_name_is_null_p (const hx509_name name)
int | hx509_general_name_unparse (GeneralName *name, char **str)

## Detailed Description

See the PKIX/X.509 Names for description and examples.

## Function Documentation

## ◆ hx509_general_name_unparse()

int hx509_general_name_unparse | ( | GeneralName * | name,
|  | char ** | str
| ) |  |

Unparse the hx509 name in name into a string.

Parameters

  name | the name to print
  str | an allocated string returns the name in string form

Returns
  An hx509 error code, see hx509_get_error_string().

## ◆ hx509_name_binary()

int hx509_name_binary | ( | const hx509_name | name,
|  | heim_octet_string * | os
| ) |  |

Convert a hx509_name object to DER encoded name.

Parameters

  name | name to concert
  os | data to a DER encoded name, free the resulting octet string with hx509_xfree(os->data).

Returns
  An hx509 error code, see hx509_get_error_string().

## ◆ hx509_name_cmp()

int hx509_name_cmp | ( | hx509_name | n1,
|  | hx509_name | n2
| ) |  |

Compare to hx509 name object, useful for sorting.

Parameters

  n1 | a hx509 name object.
  n2 | a hx509 name object.

Returns
  0 the objects are the same, returns > 0 is n2 is "larger" then n2, < 0 if n1 is "smaller" then n2.

## ◆ hx509_name_copy()

int hx509_name_copy | ( | hx509_context | context,
|  | const hx509_name | from,
|  | hx509_name * | to
| ) |  |

Copy a hx509 name object.

Parameters

  context | A hx509 cotext.
  from | the name to copy from
  to | the name to copy to

Returns
  An hx509 error code, see hx509_get_error_string().

## ◆ hx509_name_expand()

int hx509_name_expand | ( | hx509_context | context,
|  | hx509_name | name,
|  | hx509_env | env
| ) |  |

Expands variables in the name using env. Variables are on the form ${name}. Useful when dealing with certificate templates.

Parameters

  context | A hx509 cotext.
  name | the name to expand.
  env | environment variable to expand.

Returns
  An hx509 error code, see hx509_get_error_string().

Only UTF8String rdnSequence names are allowed

## ◆ hx509_name_free()

void hx509_name_free | ( | hx509_name * | name | ) |

Free a hx509 name object, upond return *name will be NULL.

Parameters

  name | a hx509 name object to be freed.

## ◆ hx509_name_is_null_p()

int hx509_name_is_null_p | ( | const hx509_name | name | ) |

Unparse the hx509 name in name into a string.

Parameters

  name | the name to check if its empty/null.

Returns
  non zero if the name is empty/null.

## ◆ hx509_name_to_Name()

int hx509_name_to_Name | ( | const hx509_name | from,
|  | Name * | to
| ) |  |

Convert a hx509_name into a Name.

Parameters

  from | the name to copy from
  to | the name to copy to

Returns
  An hx509 error code, see hx509_get_error_string().

## ◆ hx509_name_to_string()

int hx509_name_to_string | ( | const hx509_name | name,
|  | char ** | str
| ) |  |

Convert the hx509 name object into a printable string. The resulting string should be freed with free().

Parameters

  name | name to print
  str | the string to return

Returns
  An hx509 error code, see hx509_get_error_string().

## ◆ hx509_parse_name()

int hx509_parse_name | ( | hx509_context | context,
|  | const char * | str,
|  | hx509_name * | name
| ) |  |

Parse a string into a hx509 name object.

Parameters

  context | A hx509 context.
  str | a string to parse.
  name | the resulting object, NULL in case of error.

Returns
  An hx509 error code, see hx509_get_error_string().

## ◆ hx509_unparse_der_name()

int hx509_unparse_der_name | ( | const void * | data,
|  | size_t | length,
|  | char ** | str
| ) |  |

Convert a DER encoded name info a string.

Parameters

  data | data to a DER/BER encoded name
  length | length of data
  str | the resulting string, is NULL on failure.

Returns
  An hx509 error code, see hx509_get_error_string().