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