X509_ACERT_print_ex.3ossl 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. .\" -*- mode: troff; coding: utf-8 -*-
  2. .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
  3. .\"
  4. .\" Standard preamble:
  5. .\" ========================================================================
  6. .de Sp \" Vertical space (when we can't use .PP)
  7. .if t .sp .5v
  8. .if n .sp
  9. ..
  10. .de Vb \" Begin verbatim text
  11. .ft CW
  12. .nf
  13. .ne \\$1
  14. ..
  15. .de Ve \" End verbatim text
  16. .ft R
  17. .fi
  18. ..
  19. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
  20. .ie n \{\
  21. . ds C` ""
  22. . ds C' ""
  23. 'br\}
  24. .el\{\
  25. . ds C`
  26. . ds C'
  27. 'br\}
  28. .\"
  29. .\" Escape single quotes in literal strings from groff's Unicode transform.
  30. .ie \n(.g .ds Aq \(aq
  31. .el .ds Aq '
  32. .\"
  33. .\" If the F register is >0, we'll generate index entries on stderr for
  34. .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
  35. .\" entries marked with X<> in POD. Of course, you'll have to process the
  36. .\" output yourself in some meaningful fashion.
  37. .\"
  38. .\" Avoid warning from groff about undefined register 'F'.
  39. .de IX
  40. ..
  41. .nr rF 0
  42. .if \n(.g .if rF .nr rF 1
  43. .if (\n(rF:(\n(.g==0)) \{\
  44. . if \nF \{\
  45. . de IX
  46. . tm Index:\\$1\t\\n%\t"\\$2"
  47. ..
  48. . if !\nF==2 \{\
  49. . nr % 0
  50. . nr F 2
  51. . \}
  52. . \}
  53. .\}
  54. .rr rF
  55. .\" ========================================================================
  56. .\"
  57. .IX Title "X509_ACERT_PRINT_EX 3ossl"
  58. .TH X509_ACERT_PRINT_EX 3ossl 2025-01-17 3.4.0 OpenSSL
  59. .\" For nroff, turn off justification. Always turn off hyphenation; it makes
  60. .\" way too many mistakes in technical documents.
  61. .if n .ad l
  62. .nh
  63. .SH NAME
  64. X509_ACERT_print_ex, X509_ACERT_print
  65. \&\- X509_ACERT printing routines
  66. .SH SYNOPSIS
  67. .IX Header "SYNOPSIS"
  68. .Vb 1
  69. \& #include <openssl/x509_acert.h>
  70. \&
  71. \& int X509_ACERT_print(BIO *bp, X509_ACERT *acert);
  72. \& int X509_ACERT_print_ex(BIO *bp, X509_ACERT *acert, unsigned long nmflags,
  73. \& unsigned long cflag);
  74. .Ve
  75. .SH DESCRIPTION
  76. .IX Header "DESCRIPTION"
  77. \&\fBX509_ACERT_print_ex()\fR prints a human readable version of the attribute
  78. certificate \fIacert\fR to BIO \fIbp\fR.
  79. .PP
  80. The following data contained in the attribute certificate is printed
  81. in order:
  82. .IP \(bu 4
  83. The header text "Attribute certificate:" and "Data:" (X509_FLAG_NO_HEADER)
  84. .Sp
  85. = item *
  86. .Sp
  87. The attribute certificate version number as defined by the standard,
  88. followed in parentheses by the value contained in the version field in
  89. hexadecimal notation. If the version number is not a valid value according
  90. to the specification, only the raw value is printed.
  91. See \fBX509_ACERT_get_version\fR\|(3) for details. (X509_FLAG_NO_VERSION)
  92. .Sp
  93. = item *
  94. .Sp
  95. The serial number of the attribute certificate (X509_FLAG_NO_SERIAL)
  96. .Sp
  97. = item *
  98. .Sp
  99. The identity of the holder of the attribute certificate. If the
  100. holder issuer name is present, the first GENERAL_NAME
  101. returned by \fBX509_ACERT_get0_holder_entityName()\fR is printed.
  102. If the holder baseCertificateId is present, the issuer name
  103. (printed with X509_NAME_print_ex) and serial number of the
  104. holder's certificate are displayed. (X509_FLAG_NO_SUBJECT)
  105. .Sp
  106. = item *
  107. .Sp
  108. The name of the attribute certificate issuer as returned from
  109. \&\fBX509_ACERT_get0_issuerName()\fR and printed using \fBX509_NAME_print_ex()\fR.
  110. (X509_FLAG_NO_ISSUER)
  111. .Sp
  112. = item *
  113. .Sp
  114. The period of validity between the times returned from \fBX509_ACERT_get0_notBefore()\fR
  115. and \fBX509_ACERT_get0_notAfter()\fR. The values are printed as a generalized times
  116. using \fBASN1_GENERALIZEDTIME_print()\fR. (X509_FLAG_NO_VALIDITY)
  117. .Sp
  118. = item *
  119. .Sp
  120. The list of attributes contained in the attribute certificate.
  121. The attribute type is printed with \fBi2a_ASN1_OBJECT()\fR. String valued
  122. attributes are printed as raw string data. ASN1 encoded values are
  123. printed with \fBASN1_parse_dump()\fR. (X509_FLAG_NO_ATTRIBUTES)
  124. .Sp
  125. = item *
  126. .Sp
  127. All X.509 extensions contained in the attribute certificate. (X509_FLAG_NO_EXTENSIONS)
  128. .Sp
  129. = item *
  130. .Sp
  131. The signature is printed with \fBX509_signature_print()\fR. (X509_FLAG_NO_SIGDUMP)
  132. .Sp
  133. If \fIcflag\fR is specifies as X509_FLAG_COMPAT, all of the above data in the
  134. attribute certificate will be printed.
  135. .Sp
  136. The \fInmflags\fR flag determines the format used to output all fields printed using
  137. \&\fBX509_NAME_print_ex()\fR. See \fBX509_NAME_print_ex\fR\|(3) for details.
  138. .Sp
  139. \&\fBX509_ACERT_print()\fR is equivalent to calling \fBX509_ACERT_print_ex()\fR with the
  140. \&\fInmflags\fR and \fIcflags\fR set to XN_FLAG_COMPAT and X509_FLAG_COMPAT
  141. respectively.
  142. .SH "RETURN VALUES"
  143. .IX Header "RETURN VALUES"
  144. \&\fBX509_ACERT_print_ex()\fR \fBX509_ACERT_print()\fR return 1 for
  145. success and 0 for failure.
  146. .SH "SEE ALSO"
  147. .IX Header "SEE ALSO"
  148. \&\fBX509_NAME_print_ex\fR\|(3)
  149. .SH HISTORY
  150. .IX Header "HISTORY"
  151. \&\fBX509_ACERT_print()\fR and \fBX509_ACERT_print_ex()\fR were added in OpenSSL 3.4.
  152. .SH COPYRIGHT
  153. .IX Header "COPYRIGHT"
  154. Copyright 2023\-2024 The OpenSSL Project Authors. All Rights Reserved.
  155. .PP
  156. Licensed under the Apache License 2.0 (the "License"). You may not use
  157. this file except in compliance with the License. You can obtain a copy
  158. in the file LICENSE in the source distribution or at
  159. <https://www.openssl.org/source/license.html>.