Initial Commit
This commit is contained in:
96
openssl-1.0.2f/doc/crypto/ASN1_STRING_print_ex.pod
Normal file
96
openssl-1.0.2f/doc/crypto/ASN1_STRING_print_ex.pod
Normal file
@@ -0,0 +1,96 @@
|
||||
=pod
|
||||
|
||||
=head1 NAME
|
||||
|
||||
ASN1_STRING_print_ex, ASN1_STRING_print_ex_fp, ASN1_STRING_print - ASN1_STRING output routines.
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
#include <openssl/asn1.h>
|
||||
|
||||
int ASN1_STRING_print_ex(BIO *out, ASN1_STRING *str, unsigned long flags);
|
||||
int ASN1_STRING_print_ex_fp(FILE *fp, ASN1_STRING *str, unsigned long flags);
|
||||
int ASN1_STRING_print(BIO *out, ASN1_STRING *str);
|
||||
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
These functions output an B<ASN1_STRING> structure. B<ASN1_STRING> is used to
|
||||
represent all the ASN1 string types.
|
||||
|
||||
ASN1_STRING_print_ex() outputs B<str> to B<out>, the format is determined by
|
||||
the options B<flags>. ASN1_STRING_print_ex_fp() is identical except it outputs
|
||||
to B<fp> instead.
|
||||
|
||||
ASN1_STRING_print() prints B<str> to B<out> but using a different format to
|
||||
ASN1_STRING_print_ex(). It replaces unprintable characters (other than CR, LF)
|
||||
with '.'.
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
ASN1_STRING_print() is a legacy function which should be avoided in new applications.
|
||||
|
||||
Although there are a large number of options frequently B<ASN1_STRFLGS_RFC2253> is
|
||||
suitable, or on UTF8 terminals B<ASN1_STRFLGS_RFC2253 & ~ASN1_STRFLGS_ESC_MSB>.
|
||||
|
||||
The complete set of supported options for B<flags> is listed below.
|
||||
|
||||
Various characters can be escaped. If B<ASN1_STRFLGS_ESC_2253> is set the characters
|
||||
determined by RFC2253 are escaped. If B<ASN1_STRFLGS_ESC_CTRL> is set control
|
||||
characters are escaped. If B<ASN1_STRFLGS_ESC_MSB> is set characters with the
|
||||
MSB set are escaped: this option should B<not> be used if the terminal correctly
|
||||
interprets UTF8 sequences.
|
||||
|
||||
Escaping takes several forms.
|
||||
|
||||
If the character being escaped is a 16 bit character then the form "\UXXXX" is used
|
||||
using exactly four characters for the hex representation. If it is 32 bits then
|
||||
"\WXXXXXXXX" is used using eight characters of its hex representation. These forms
|
||||
will only be used if UTF8 conversion is not set (see below).
|
||||
|
||||
Printable characters are normally escaped using the backslash '\' character. If
|
||||
B<ASN1_STRFLGS_ESC_QUOTE> is set then the whole string is instead surrounded by
|
||||
double quote characters: this is arguably more readable than the backslash
|
||||
notation. Other characters use the "\XX" using exactly two characters of the hex
|
||||
representation.
|
||||
|
||||
If B<ASN1_STRFLGS_UTF8_CONVERT> is set then characters are converted to UTF8
|
||||
format first. If the terminal supports the display of UTF8 sequences then this
|
||||
option will correctly display multi byte characters.
|
||||
|
||||
If B<ASN1_STRFLGS_IGNORE_TYPE> is set then the string type is not interpreted at
|
||||
all: everything is assumed to be one byte per character. This is primarily for
|
||||
debugging purposes and can result in confusing output in multi character strings.
|
||||
|
||||
If B<ASN1_STRFLGS_SHOW_TYPE> is set then the string type itself is printed out
|
||||
before its value (for example "BMPSTRING"), this actually uses ASN1_tag2str().
|
||||
|
||||
The content of a string instead of being interpreted can be "dumped": this just
|
||||
outputs the value of the string using the form #XXXX using hex format for each
|
||||
octet.
|
||||
|
||||
If B<ASN1_STRFLGS_DUMP_ALL> is set then any type is dumped.
|
||||
|
||||
Normally non character string types (such as OCTET STRING) are assumed to be
|
||||
one byte per character, if B<ASN1_STRFLGS_DUMP_UNKNOWN> is set then they will
|
||||
be dumped instead.
|
||||
|
||||
When a type is dumped normally just the content octets are printed, if
|
||||
B<ASN1_STRFLGS_DUMP_DER> is set then the complete encoding is dumped
|
||||
instead (including tag and length octets).
|
||||
|
||||
B<ASN1_STRFLGS_RFC2253> includes all the flags required by RFC2253. It is
|
||||
equivalent to:
|
||||
ASN1_STRFLGS_ESC_2253 | ASN1_STRFLGS_ESC_CTRL | ASN1_STRFLGS_ESC_MSB |
|
||||
ASN1_STRFLGS_UTF8_CONVERT | ASN1_STRFLGS_DUMP_UNKNOWN ASN1_STRFLGS_DUMP_DER
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<X509_NAME_print_ex(3)|X509_NAME_print_ex(3)>,
|
||||
L<ASN1_tag2str(3)|ASN1_tag2str(3)>
|
||||
|
||||
=head1 HISTORY
|
||||
|
||||
TBA
|
||||
|
||||
=cut
|
||||
Reference in New Issue
Block a user