X509_NAME_PRINT_EX(3) OpenSSL X509_NAME_PRINT_EX(3)NAME
X509_NAME_print_ex, X509_NAME_print_ex_fp, X509_NAME_print,
X509_NAME_oneline - X509_NAME printing routines.
SYNOPSIS
#include <openssl/x509.h>
int X509_NAME_print_ex(BIO *out, X509_NAME *nm, int indent, unsigned long flags);
int X509_NAME_print_ex_fp(FILE *fp, X509_NAME *nm, int indent, unsigned long flags);
char * X509_NAME_oneline(X509_NAME *a,char *buf,int size);
int X509_NAME_print(BIO *bp, X509_NAME *name, int obase);
DESCRIPTIONX509_NAME_print_ex() prints a human readable version of nm
to BIO out. Each line (for multiline formats) is indented by
indent spaces. The output format can be extensively custom-
ised by use of the flags parameter.
X509_NAME_print_ex_fp() is identical to X509_NAME_print_ex()
except the output is written to FILE pointer fp.
X509_NAME_oneline() prints an ASCII version of a to buf. At
most size bytes will be written. If buf is NULL then a
buffer is dynamically allocated and returned, otherwise buf
is returned.
X509_NAME_print() prints out name to bp indenting each line
by obase characters. Multiple lines are used if the output
(including indent) exceeds 80 characters.
NOTES
The functions X509_NAME_oneline() and X509_NAME_print() are
legacy functions which produce a non standard output form,
they don't handle multi character fields and have various
quirks and inconsistencies. Their use is strongly
discouraged in new applications.
Although there are a large number of possible flags for most
purposes XN_FLAG_ONELINE, XN_FLAG_MULTILINE or
XN_FLAG_RFC2253 will suffice. As noted on the
ASN1_STRING_print_ex(3) manual page for UTF8 terminals the
ASN1_STRFLGS_ESC_MSB should be unset: so for example
XN_FLAG_ONELINE & ~ASN1_STRFLGS_ESC_MSB would be used.
The complete set of the flags supported by
X509_NAME_print_ex() is listed below.
Several options can be ored together.
The options XN_FLAG_SEP_COMMA_PLUS, XN_FLAG_SEP_CPLUS_SPC,
XN_FLAG_SEP_SPLUS_SPC and XN_FLAG_SEP_MULTILINE determine
the field separators to use. Two distinct separators are
MirOS BSD #10-current 2005-04-29 1
X509_NAME_PRINT_EX(3) OpenSSL X509_NAME_PRINT_EX(3)
used between distinct RelativeDistinguishedName components
and separate values in the same RDN for a multi-valued RDN.
Multi-valued RDNs are currently very rare so the second
separator will hardly ever be used.
XN_FLAG_SEP_COMMA_PLUS uses comma and plus as separators.
XN_FLAG_SEP_CPLUS_SPC uses comma and plus with spaces: this
is more readable that plain comma and plus.
XN_FLAG_SEP_SPLUS_SPC uses spaced semicolon and plus.
XN_FLAG_SEP_MULTILINE uses spaced newline and plus respec-
tively.
If XN_FLAG_DN_REV is set the whole DN is printed in reversed
order.
The fields XN_FLAG_FN_SN, XN_FLAG_FN_LN, XN_FLAG_FN_OID,
XN_FLAG_FN_NONE determine how a field name is displayed. It
will use the short name (e.g. CN) the long name (e.g. com-
monName) always use OID numerical form (normally OIDs are
only used if the field name is not recognised) and no field
name respectively.
If XN_FLAG_SPC_EQ is set then spaces will be placed around
the '=' character separating field names and values.
If XN_FLAG_DUMP_UNKNOWN_FIELDS is set then the encoding of
unknown fields is printed instead of the values.
If XN_FLAG_FN_ALIGN is set then field names are padded to 20
characters: this is only of use for multiline format.
Additionally all the options supported by
ASN1_STRING_print_ex() can be used to control how each field
value is displayed.
In addition a number options can be set for commonly used
formats.
XN_FLAG_RFC2253 sets options which produce an output compa-
tible with RFC2253 it is equivalent to:
ASN1_STRFLGS_RFC2253 | XN_FLAG_SEP_COMMA_PLUS |
XN_FLAG_DN_REV | XN_FLAG_FN_SN | XN_FLAG_DUMP_UNKNOWN_FIELDS
XN_FLAG_ONELINE is a more readable one line format it is the
same as:
ASN1_STRFLGS_RFC2253 | ASN1_STRFLGS_ESC_QUOTE |
XN_FLAG_SEP_CPLUS_SPC | XN_FLAG_SPC_EQ | XN_FLAG_FN_SN
XN_FLAG_MULTILINE is a multiline format is is the same as:
ASN1_STRFLGS_ESC_CTRL | ASN1_STRFLGS_ESC_MSB |
XN_FLAG_SEP_MULTILINE | XN_FLAG_SPC_EQ | XN_FLAG_FN_LN |
XN_FLAG_FN_ALIGN
MirOS BSD #10-current 2005-04-29 2
X509_NAME_PRINT_EX(3) OpenSSL X509_NAME_PRINT_EX(3)
XN_FLAG_COMPAT uses a format identical to X509_NAME_print():
in fact it calls X509_NAME_print() internally.
SEE ALSOASN1_STRING_print_ex(3)HISTORY
TBA
MirOS BSD #10-current 2005-04-29 3