diff options
Diffstat (limited to 'src/lib/libcrypto/doc/X509_NAME_print_ex.pod')
| -rw-r--r-- | src/lib/libcrypto/doc/X509_NAME_print_ex.pod | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/src/lib/libcrypto/doc/X509_NAME_print_ex.pod b/src/lib/libcrypto/doc/X509_NAME_print_ex.pod new file mode 100644 index 0000000000..919b908919 --- /dev/null +++ b/src/lib/libcrypto/doc/X509_NAME_print_ex.pod | |||
| @@ -0,0 +1,105 @@ | |||
| 1 | =pod | ||
| 2 | |||
| 3 | =head1 NAME | ||
| 4 | |||
| 5 | X509_NAME_print_ex, X509_NAME_print_ex_fp, X509_NAME_print, | ||
| 6 | X509_NAME_oneline - X509_NAME printing routines. | ||
| 7 | |||
| 8 | =head1 SYNOPSIS | ||
| 9 | |||
| 10 | #include <openssl/x509.h> | ||
| 11 | |||
| 12 | int X509_NAME_print_ex(BIO *out, X509_NAME *nm, int indent, unsigned long flags); | ||
| 13 | int X509_NAME_print_ex_fp(FILE *fp, X509_NAME *nm, int indent, unsigned long flags); | ||
| 14 | char * X509_NAME_oneline(X509_NAME *a,char *buf,int size); | ||
| 15 | int X509_NAME_print(BIO *bp, X509_NAME *name, int obase); | ||
| 16 | |||
| 17 | =head1 DESCRIPTION | ||
| 18 | |||
| 19 | X509_NAME_print_ex() prints a human readable version of B<nm> to BIO B<out>. Each | ||
| 20 | line (for multiline formats) is indented by B<indent> spaces. The output format | ||
| 21 | can be extensively customised by use of the B<flags> parameter. | ||
| 22 | |||
| 23 | X509_NAME_print_ex_fp() is identical to X509_NAME_print_ex() except the output is | ||
| 24 | written to FILE pointer B<fp>. | ||
| 25 | |||
| 26 | X509_NAME_oneline() prints an ASCII version of B<a> to B<buf>. At most B<size> | ||
| 27 | bytes will be written. If B<buf> is B<NULL> then a buffer is dynamically allocated | ||
| 28 | and returned, otherwise B<buf> is returned. | ||
| 29 | |||
| 30 | X509_NAME_print() prints out B<name> to B<bp> indenting each line by B<obase> | ||
| 31 | characters. Multiple lines are used if the output (including indent) exceeds | ||
| 32 | 80 characters. | ||
| 33 | |||
| 34 | =head1 NOTES | ||
| 35 | |||
| 36 | The functions X509_NAME_oneline() and X509_NAME_print() are legacy functions which | ||
| 37 | produce a non standard output form, they don't handle multi character fields and | ||
| 38 | have various quirks and inconsistencies. Their use is strongly discouraged in new | ||
| 39 | applications. | ||
| 40 | |||
| 41 | Although there are a large number of possible flags for most purposes | ||
| 42 | B<XN_FLAG_ONELINE>, B<XN_FLAG_MULTILINE> or B<XN_FLAG_RFC2253> will suffice. | ||
| 43 | As noted on the L<ASN1_STRING_print_ex(3)|ASN1_STRING_print_ex(3)> manual page | ||
| 44 | for UTF8 terminals the B<ASN1_STRFLGS_ESC_MSB> should be unset: so for example | ||
| 45 | B<XN_FLAG_ONELINE & ~ASN1_STRFLGS_ESC_MSB> would be used. | ||
| 46 | |||
| 47 | The complete set of the flags supported by X509_NAME_print_ex() is listed below. | ||
| 48 | |||
| 49 | Several options can be ored together. | ||
| 50 | |||
| 51 | The options B<XN_FLAG_SEP_COMMA_PLUS>, B<XN_FLAG_SEP_CPLUS_SPC>, | ||
| 52 | B<XN_FLAG_SEP_SPLUS_SPC> and B<XN_FLAG_SEP_MULTILINE> determine the field separators | ||
| 53 | to use. Two distinct separators are used between distinct RelativeDistinguishedName | ||
| 54 | components and separate values in the same RDN for a multi-valued RDN. Multi-valued | ||
| 55 | RDNs are currently very rare so the second separator will hardly ever be used. | ||
| 56 | |||
| 57 | B<XN_FLAG_SEP_COMMA_PLUS> uses comma and plus as separators. B<XN_FLAG_SEP_CPLUS_SPC> | ||
| 58 | uses comma and plus with spaces: this is more readable that plain comma and plus. | ||
| 59 | B<XN_FLAG_SEP_SPLUS_SPC> uses spaced semicolon and plus. B<XN_FLAG_SEP_MULTILINE> uses | ||
| 60 | spaced newline and plus respectively. | ||
| 61 | |||
| 62 | If B<XN_FLAG_DN_REV> is set the whole DN is printed in reversed order. | ||
| 63 | |||
| 64 | The fields B<XN_FLAG_FN_SN>, B<XN_FLAG_FN_LN>, B<XN_FLAG_FN_OID>, | ||
| 65 | B<XN_FLAG_FN_NONE> determine how a field name is displayed. It will | ||
| 66 | use the short name (e.g. CN) the long name (e.g. commonName) always | ||
| 67 | use OID numerical form (normally OIDs are only used if the field name is not | ||
| 68 | recognised) and no field name respectively. | ||
| 69 | |||
| 70 | If B<XN_FLAG_SPC_EQ> is set then spaces will be placed around the '=' character | ||
| 71 | separating field names and values. | ||
| 72 | |||
| 73 | If B<XN_FLAG_DUMP_UNKNOWN_FIELDS> is set then the encoding of unknown fields is | ||
| 74 | printed instead of the values. | ||
| 75 | |||
| 76 | If B<XN_FLAG_FN_ALIGN> is set then field names are padded to 20 characters: this | ||
| 77 | is only of use for multiline format. | ||
| 78 | |||
| 79 | Additionally all the options supported by ASN1_STRING_print_ex() can be used to | ||
| 80 | control how each field value is displayed. | ||
| 81 | |||
| 82 | In addition a number options can be set for commonly used formats. | ||
| 83 | |||
| 84 | B<XN_FLAG_RFC2253> sets options which produce an output compatible with RFC2253 it | ||
| 85 | is equivalent to: | ||
| 86 | B<ASN1_STRFLGS_RFC2253 | XN_FLAG_SEP_COMMA_PLUS | XN_FLAG_DN_REV | XN_FLAG_FN_SN | XN_FLAG_DUMP_UNKNOWN_FIELDS> | ||
| 87 | |||
| 88 | |||
| 89 | B<XN_FLAG_ONELINE> is a more readable one line format it is the same as: | ||
| 90 | B<ASN1_STRFLGS_RFC2253 | ASN1_STRFLGS_ESC_QUOTE | XN_FLAG_SEP_CPLUS_SPC | XN_FLAG_SPC_EQ | XN_FLAG_FN_SN> | ||
| 91 | |||
| 92 | B<XN_FLAG_MULTILINE> is a multiline format is is the same as: | ||
| 93 | B<ASN1_STRFLGS_ESC_CTRL | ASN1_STRFLGS_ESC_MSB | XN_FLAG_SEP_MULTILINE | XN_FLAG_SPC_EQ | XN_FLAG_FN_LN | XN_FLAG_FN_ALIGN> | ||
| 94 | |||
| 95 | B<XN_FLAG_COMPAT> uses a format identical to X509_NAME_print(): in fact it calls X509_NAME_print() internally. | ||
| 96 | |||
| 97 | =head1 SEE ALSO | ||
| 98 | |||
| 99 | L<ASN1_STRING_print_ex(3)|ASN1_STRING_print_ex(3)> | ||
| 100 | |||
| 101 | =head1 HISTORY | ||
| 102 | |||
| 103 | TBA | ||
| 104 | |||
| 105 | =cut | ||
