xref: /openbsd-src/lib/libcrypto/man/X509V3_extensions_print.3 (revision 729b18003be6f3b0b33acfabd6a6368b6d0a22cf)
1*729b1800Sjsg.\" $OpenBSD: X509V3_extensions_print.3,v 1.2 2021/11/26 13:48:21 jsg Exp $
280a0aabaSschwarze.\"
380a0aabaSschwarze.\" Copyright (c) 2021 Ingo Schwarze <schwarze@openbsd.org>
480a0aabaSschwarze.\"
580a0aabaSschwarze.\" Permission to use, copy, modify, and distribute this software for any
680a0aabaSschwarze.\" purpose with or without fee is hereby granted, provided that the above
780a0aabaSschwarze.\" copyright notice and this permission notice appear in all copies.
880a0aabaSschwarze.\"
980a0aabaSschwarze.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1080a0aabaSschwarze.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1180a0aabaSschwarze.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1280a0aabaSschwarze.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1380a0aabaSschwarze.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1480a0aabaSschwarze.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1580a0aabaSschwarze.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1680a0aabaSschwarze.\"
17*729b1800Sjsg.Dd $Mdocdate: November 26 2021 $
1880a0aabaSschwarze.Dt X509V3_EXTENSIONS_PRINT 3
1980a0aabaSschwarze.Os
2080a0aabaSschwarze.Sh NAME
2180a0aabaSschwarze.Nm X509V3_extensions_print
2280a0aabaSschwarze.Nd pretty-print an array of X.509 extensions
2380a0aabaSschwarze.Sh SYNOPSIS
2480a0aabaSschwarze.In openssl/x509v3.h
2580a0aabaSschwarze.Ft int
2680a0aabaSschwarze.Fo X509V3_extensions_print
2780a0aabaSschwarze.Fa "BIO *bio"
2880a0aabaSschwarze.Fa "char *title"
2980a0aabaSschwarze.Fa "const STACK_OF(X509_EXTENSION) *sk"
3080a0aabaSschwarze.Fa "unsigned long flags"
3180a0aabaSschwarze.Fa "int indent"
3280a0aabaSschwarze.Fc
3380a0aabaSschwarze.Sh DESCRIPTION
3480a0aabaSschwarzeFor each member of the variable sized array
3580a0aabaSschwarze.Fa sk ,
3680a0aabaSschwarze.Fn X509V3_extensions_print
3780a0aabaSschwarzeprints the following information to
3880a0aabaSschwarze.Fa bio
3980a0aabaSschwarzein the following order:
4080a0aabaSschwarze.Bl -bullet
4180a0aabaSschwarze.It
4280a0aabaSschwarzeThe extension type as printed by
4380a0aabaSschwarze.Xr i2a_ASN1_OBJECT 3 .
4480a0aabaSschwarze.It
4580a0aabaSschwarzeIf the extension is critical, the fixed string
4680a0aabaSschwarze.Qq "critical" .
4780a0aabaSschwarze.It
4880a0aabaSschwarzeA human-readable representation of the data contained in the extension
4980a0aabaSschwarzeas printed by
5080a0aabaSschwarze.Xr X509V3_EXT_print 3 ,
5180a0aabaSschwarzepassing through the
5280a0aabaSschwarze.Fa flags .
5380a0aabaSschwarzeIf that function indicates failure,
5480a0aabaSschwarzethe BER-encoded data of the extension is dumped with
5580a0aabaSschwarze.Xr ASN1_STRING_print 3
5680a0aabaSschwarzewithout decoding it first.
5780a0aabaSschwarzeIn both cases, an
5880a0aabaSschwarze.Fa indent
59*729b1800Sjsgincremented by 4 space characters is used.
6080a0aabaSschwarze.El
6180a0aabaSschwarze.Pp
6280a0aabaSschwarzeIf
6380a0aabaSschwarze.Fa sk
6480a0aabaSschwarzeis a
6580a0aabaSschwarze.Dv NULL
6680a0aabaSschwarzepointer or empty,
6780a0aabaSschwarze.Fn X509V3_extensions_print
6880a0aabaSschwarzeprints nothing and indicates success.
6980a0aabaSschwarze.Pp
7080a0aabaSschwarzeUnless
7180a0aabaSschwarze.Fa title
7280a0aabaSschwarzeis
7380a0aabaSschwarze.Dv NULL ,
7480a0aabaSschwarzeit is printed on its own output line before the rest of the output, and
7580a0aabaSschwarze.Fa indent
7680a0aabaSschwarzeis increased by 4 space characters.
7780a0aabaSschwarzeThis additional global indentation is cumulative
7880a0aabaSschwarzeto the one applied to individual extensions mentioned above.
7980a0aabaSschwarze.Sh RETURN VALUES
8080a0aabaSschwarze.Fn X509V3_extensions_print
8180a0aabaSschwarzeis intended to return 1 on success or 0 if an error occurs.
8280a0aabaSschwarze.Sh SEE ALSO
8380a0aabaSschwarze.Xr BIO_new 3 ,
8480a0aabaSschwarze.Xr STACK_OF 3 ,
8580a0aabaSschwarze.Xr X509_EXTENSION_get_critical 3 ,
8680a0aabaSschwarze.Xr X509_get0_extensions 3 ,
8780a0aabaSschwarze.Xr X509_get_ext 3 ,
8880a0aabaSschwarze.Xr X509V3_EXT_print 3
8980a0aabaSschwarze.Sh HISTORY
9080a0aabaSschwarze.Fn X509V3_extensions_print
9180a0aabaSschwarzefirst appeared in OpenSSL 0.9.7 and has been available since
9280a0aabaSschwarze.Ox 3.2 .
9380a0aabaSschwarze.Sh BUGS
9480a0aabaSschwarzeMany parsing and printing errors are silently ignored,
9580a0aabaSschwarzeand the function may return indicating success even though
9680a0aabaSschwarze.Fa sk
9780a0aabaSschwarzecontains invalid data.
9880a0aabaSschwarzeEven if all the data is valid, success may be indicated  even when the
9980a0aabaSschwarzeinformation printed is incomplete for various reasons, for example
10080a0aabaSschwarzedue to memory allocation failures or I/O errors.
101