OpenSSL X509_NAME_print_ex(3openssl)
NNNNAAAAMMMMEEEEX509_NAME_print_ex, X509_NAME_print_ex_fp, X509_NAME_print,
X509_NAME_oneline - X509_NAME printing routines.
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS#include
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);
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNX509_NAME_print_ex() prints a human readable version of nnnnmmmm
to BIO oooouuuutttt. Each line (for multiline formats) is indented by iiiinnnnddddeeeennnntttt spaces. The output format can be extensively customised by use of the ffffllllaaaaggggssss parameter.X509_NAME_print_ex_fp() is identical to X509_NAME_print_ex()
except the output is written to FILE pointer ffffpppp.X509_NAME_oneline() prints an ASCII version of aaaa to bbbbuuuuffff. At
most ssssiiiizzzzeeee bytes will be written. If bbbbuuuuffff is NNNNUUUULLLLLLLL then a buffer is dynamically allocated and returned, otherwise bbbbuuuuffff is returned.X509_NAME_print() prints out nnnnaaaammmmeeee to bbbbpppp indenting each line
by oooobbbbaaaasssseeee characters. Multiple lines are used if the output (including indent) exceeds 80 characters. NNNNOOOOTTTTEEEESSSSThe 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 mostpurposes XXXXNNNN_FFFFLLLLAAAAGGGG_OOOONNNNEEEELLLLIIIINNNNEEEE, XXXXNNNN_FFFFLLLLAAAAGGGG_MMMMUUUULLLLTTTTIIIILLLLIIIINNNNEEEE or
XXXXNNNN_FFFFLLLLAAAAGGGG_RRRRFFFFCCCC2222222255553333 will suffice. As noted on the
ASN1_STRING_print_ex(3) manual page for UTF8 terminals the
AAAASSSSNNNN1111_SSSSTTTTRRRRFFFFLLLLGGGGSSSS_EEEESSSSCCCC_MMMMSSSSBBBB should be unset: so for example
XXXXNNNN_FFFFLLLLAAAAGGGG_OOOONNNNEEEELLLLIIIINNNNEEEE &&&& ~~~~AAAASSSSNNNN1111_SSSSTTTTRRRRFFFFLLLLGGGGSSSS_EEEESSSSCCCC_MMMMSSSSBBBB would be used.
The complete set of the flags supported byX509_NAME_print_ex() is listed below.
Several options can be ored together.The options XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSEEEEPPPP_CCCCOOOOMMMMMMMMAAAA_PPPPLLLLUUUUSSSS, XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSEEEEPPPP_CCCCPPPPLLLLUUUUSSSS_SSSSPPPPCCCC,
XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSEEEEPPPP_SSSSPPPPLLLLUUUUSSSS_SSSSPPPPCCCC and XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSEEEEPPPP_MMMMUUUULLLLTTTTIIIILLLLIIIINNNNEEEE determine
24/Sep/2007 Last change: 0.9.8o 1
OpenSSL X509_NAME_print_ex(3openssl)
the field separators to use. Two distinct separators are used between distinct RelativeDistinguishedName componentsand 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.XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSEEEEPPPP_CCCCOOOOMMMMMMMMAAAA_PPPPLLLLUUUUSSSS uses comma and plus as separators.
XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSEEEEPPPP_CCCCPPPPLLLLUUUUSSSS_SSSSPPPPCCCC uses comma and plus with spaces: this
is more readable that plain comma and plus.XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSEEEEPPPP_SSSSPPPPLLLLUUUUSSSS_SSSSPPPPCCCC uses spaced semicolon and plus.
XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSEEEEPPPP_MMMMUUUULLLLTTTTIIIILLLLIIIINNNNEEEE uses spaced newline and plus
respectively.If XXXXNNNN_FFFFLLLLAAAAGGGG_DDDDNNNN_RRRREEEEVVVV is set the whole DN is printed in reversed
order.The fields XXXXNNNN_FFFFLLLLAAAAGGGG_FFFFNNNN_SSSSNNNN, XXXXNNNN_FFFFLLLLAAAAGGGG_FFFFNNNN_LLLLNNNN, XXXXNNNN_FFFFLLLLAAAAGGGG_FFFFNNNN_OOOOIIIIDDDD,
XXXXNNNN_FFFFLLLLAAAAGGGG_FFFFNNNN_NNNNOOOONNNNEEEE determine how a field name is displayed. It
will use the short name (e.g. CN) the long name (e.g. commonName) always use OID numerical form (normally OIDs are only used if the field name is not recognised) and no field name respectively.If XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSPPPPCCCC_EEEEQQQQ is set then spaces will be placed around
the '=' character separating field names and values.If XXXXNNNN_FFFFLLLLAAAAGGGG_DDDDUUUUMMMMPPPP_UUUUNNNNKKKKNNNNOOOOWWWWNNNN_FFFFIIIIEEEELLLLDDDDSSSS is set then the encoding of
unknown fields is printed instead of the values.If XXXXNNNN_FFFFLLLLAAAAGGGG_FFFFNNNN_AAAALLLLIIIIGGGGNNNN is set then field names are padded to 20
characters: this is only of use for multiline format. Additionally all the options supported byASN1_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.XXXXNNNN_FFFFLLLLAAAAGGGG_RRRRFFFFCCCC2222222255553333 sets options which produce an output
compatible with RFC2253 it is equivalent to:AAAASSSSNNNN1111_SSSSTTTTRRRRFFFFLLLLGGGGSSSS_RRRRFFFFCCCC2222222255553333 |||| XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSEEEEPPPP_CCCCOOOOMMMMMMMMAAAA_PPPPLLLLUUUUSSSS ||||
XXXXNNNN_FFFFLLLLAAAAGGGG_DDDDNNNN_RRRREEEEVVVV |||| XXXXNNNN_FFFFLLLLAAAAGGGG_FFFFNNNN_SSSSNNNN |||| XXXXNNNN_FFFFLLLLAAAAGGGG_DDDDUUUUMMMMPPPP_UUUUNNNNKKKKNNNNOOOOWWWWNNNN_FFFFIIIIEEEELLLLDDDDSSSS
XXXXNNNN_FFFFLLLLAAAAGGGG_OOOONNNNEEEELLLLIIIINNNNEEEE is a more readable one line format which is
the same as:AAAASSSSNNNN1111_SSSSTTTTRRRRFFFFLLLLGGGGSSSS_RRRRFFFFCCCC2222222255553333 |||| AAAASSSSNNNN1111_SSSSTTTTRRRRFFFFLLLLGGGGSSSS_EEEESSSSCCCC_QQQQUUUUOOOOTTTTEEEE ||||
XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSEEEEPPPP_CCCCPPPPLLLLUUUUSSSS_SSSSPPPPCCCC |||| XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSPPPPCCCC_EEEEQQQQ |||| XXXXNNNN_FFFFLLLLAAAAGGGG_FFFFNNNN_SSSSNNNN
XXXXNNNN_FFFFLLLLAAAAGGGG_MMMMUUUULLLLTTTTIIIILLLLIIIINNNNEEEE is a multiline format which is the same
as:AAAASSSSNNNN1111_SSSSTTTTRRRRFFFFLLLLGGGGSSSS_EEEESSSSCCCC_CCCCTTTTRRRRLLLL |||| AAAASSSSNNNN1111_SSSSTTTTRRRRFFFFLLLLGGGGSSSS_EEEESSSSCCCC_MMMMSSSSBBBB ||||
24/Sep/2007 Last change: 0.9.8o 2
OpenSSL X509_NAME_print_ex(3openssl)
XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSEEEEPPPP_MMMMUUUULLLLTTTTIIIILLLLIIIINNNNEEEE |||| XXXXNNNN_FFFFLLLLAAAAGGGG_SSSSPPPPCCCC_EEEEQQQQ |||| XXXXNNNN_FFFFLLLLAAAAGGGG_FFFFNNNN_LLLLNNNN ||||
XXXXNNNN_FFFFLLLLAAAAGGGG_FFFFNNNN_AAAALLLLIIIIGGGGNNNN
XXXXNNNN_FFFFLLLLAAAAGGGG_CCCCOOOOMMMMPPPPAAAATTTT uses a format identical to X509_NAME_print():
in fact it calls X509_NAME_print() internally.
SSSSEEEEEEEE AAAALLLLSSSSOOOOASN1_STRING_print_ex(3)
HHHHIIIISSSSTTTTOOOORRRRYYYY TBA24/Sep/2007 Last change: 0.9.8o 3