summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorschwarze <schwarze@openbsd.org>2016-12-28 15:18:05 +0000
committerschwarze <schwarze@openbsd.org>2016-12-28 15:18:05 +0000
commitf7db08c4ba9ee11eba446f7785ea60e4162325e3 (patch)
tree85867df4143d59e518b9901d6db794bd7094cf5b
parentRewrite and add d2i_X509_CRL_INFO(3), i2d_X509_CRL_INFO(3), (diff)
downloadwireguard-openbsd-f7db08c4ba9ee11eba446f7785ea60e4162325e3.tar.xz
wireguard-openbsd-f7db08c4ba9ee11eba446f7785ea60e4162325e3.zip
Rewrite and add d2i_X509_REQ_INFO(3) and i2d_X509_REQ_INFO(3),
both listed in <openssl/x509.h> and in OpenSSL doc/man3/d2i_X509.pod.
-rw-r--r--lib/libcrypto/man/d2i_X509_REQ.3165
1 files changed, 99 insertions, 66 deletions
diff --git a/lib/libcrypto/man/d2i_X509_REQ.3 b/lib/libcrypto/man/d2i_X509_REQ.3
index 6c4a61985e0..e3e537fb518 100644
--- a/lib/libcrypto/man/d2i_X509_REQ.3
+++ b/lib/libcrypto/man/d2i_X509_REQ.3
@@ -1,55 +1,21 @@
-.\" $OpenBSD: d2i_X509_REQ.3,v 1.4 2016/12/08 20:22:08 jmc Exp $
+.\" $OpenBSD: d2i_X509_REQ.3,v 1.5 2016/12/28 15:18:05 schwarze Exp $
.\" OpenSSL bb9ad09e Jun 6 00:43:05 2016 -0400
.\"
-.\" This file was written by Dr. Stephen Henson <steve@openssl.org>.
-.\" Copyright (c) 2002, 2005, 2009, 2015 The OpenSSL Project.
-.\" All rights reserved.
+.\" Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org>
.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
.\"
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in
-.\" the documentation and/or other materials provided with the
-.\" distribution.
-.\"
-.\" 3. All advertising materials mentioning features or use of this
-.\" software must display the following acknowledgment:
-.\" "This product includes software developed by the OpenSSL Project
-.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
-.\"
-.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
-.\" endorse or promote products derived from this software without
-.\" prior written permission. For written permission, please contact
-.\" openssl-core@openssl.org.
-.\"
-.\" 5. Products derived from this software may not be called "OpenSSL"
-.\" nor may "OpenSSL" appear in their names without prior written
-.\" permission of the OpenSSL Project.
-.\"
-.\" 6. Redistributions of any form whatsoever must retain the following
-.\" acknowledgment:
-.\" "This product includes software developed by the OpenSSL Project
-.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)"
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
-.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
-.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
-.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
-.\" OF THE POSSIBILITY OF SUCH DAMAGE.
-.\"
-.Dd $Mdocdate: December 8 2016 $
+.Dd $Mdocdate: December 28 2016 $
.Dt D2I_X509_REQ 3
.Os
.Sh NAME
@@ -58,46 +24,113 @@
.Nm d2i_X509_REQ_bio ,
.Nm d2i_X509_REQ_fp ,
.Nm i2d_X509_REQ_bio ,
-.Nm i2d_X509_REQ_fp
-.Nd PKCS#10 certificate request functions
+.Nm i2d_X509_REQ_fp ,
+.Nm d2i_X509_REQ_INFO ,
+.Nm i2d_X509_REQ_INFO
+.Nd decode and encode PKCS#10 certification requests
.Sh SYNOPSIS
.In openssl/x509.h
.Ft X509_REQ *
.Fo d2i_X509_REQ
-.Fa "X509_REQ **a"
-.Fa "const unsigned char **pp"
+.Fa "X509_REQ **val_out"
+.Fa "const unsigned char **der_in"
.Fa "long length"
.Fc
.Ft int
.Fo i2d_X509_REQ
-.Fa "X509_REQ *a"
-.Fa "unsigned char **pp"
+.Fa "X509_REQ *val_in"
+.Fa "unsigned char **der_out"
.Fc
.Ft X509_REQ *
.Fo d2i_X509_REQ_bio
-.Fa "BIO *bp"
-.Fa "X509_REQ **x"
+.Fa "BIO *in_bio"
+.Fa "X509_REQ **val_out"
.Fc
.Ft X509_REQ *
.Fo d2i_X509_REQ_fp
-.Fa "FILE *fp"
-.Fa "X509_REQ **x"
+.Fa "FILE *in_fp"
+.Fa "X509_REQ **val_out"
.Fc
.Ft int
.Fo i2d_X509_REQ_bio
-.Fa "BIO *bp"
-.Fa "X509_REQ *x"
+.Fa "BIO *out_bio"
+.Fa "X509_REQ *val_in"
.Fc
.Ft int
.Fo i2d_X509_REQ_fp
-.Fa "FILE *fp"
-.Fa "X509_REQ *x"
+.Fa "FILE *out_fp"
+.Fa "X509_REQ *val_in"
+.Fc
+.Ft X509_REQ_INFO *
+.Fo d2i_X509_REQ_INFO
+.Fa "X509_REQ_INFO **val_out"
+.Fa "const unsigned char **der_in"
+.Fa "long length"
+.Fc
+.Ft int
+.Fo i2d_X509_REQ_INFO
+.Fa "X509_REQ_INFO *val_in"
+.Fa "unsigned char **der_out"
.Fc
.Sh DESCRIPTION
-These functions decode and encode a PKCS#10 certificate request.
-They otherwise behave in a way similar to
-.Xr d2i_X509 3
+These functions decode and encode PKCS#10 certification requests.
+For details about the semantics, examples, caveats, and bugs, see
+.Xr ASN1_item_d2i 3 .
+.Pp
+.Fn d2i_X509_REQ
+and
+.Fn i2d_X509_REQ
+decode and encode an ASN.1
+.Vt CertificationRequest
+structure defined in RFC 2986 section 4.2.
+.Fn d2i_X509_REQ_bio ,
+.Fn d2i_X509_REQ_fp ,
+.Fn i2d_X509_REQ_bio ,
+and
+.Fn i2d_X509_REQ_fp
+are similar except that they decode or encode using a
+.Vt BIO
+or
+.Vt FILE
+pointer.
+.Pp
+.Fn d2i_X509_REQ_INFO
+and
+.Fn i2d_X509_REQ_INFO
+decode and encode an ASN.1
+.Vt CertificationRequestInfo
+structure defined in RFC 2986 section 4.1.
+.Sh RETURN VALUES
+.Fn d2i_X509_REQ ,
+.Fn d2i_X509_REQ_bio ,
+and
+.Fn d2i_X509_REQ_fp
+return an
+.Vt X509_REQ
+object or
+.Dv NULL
+if an error occurs.
+.Pp
+.Fn d2i_X509_REQ_INFO
+returns an
+.Vt X509_REQ_INFO
+object or
+.Dv NULL
+if an error occurs.
+.Pp
+.Fn i2d_X509_REQ
+and
+.Fn i2d_X509_REQ_INFO
+return the number of bytes successfully encoded or a negative value
+if an error occurs.
+.Pp
+.Fn i2d_X509_REQ_bio
and
-.Xr i2d_X509 3 .
+.Fn i2d_X509_REQ_fp
+return 1 for success or 0 if an error occurs.
.Sh SEE ALSO
-.Xr d2i_X509 3
+.Xr ASN1_item_d2i 3 ,
+.Xr PEM_read_X509_REQ 3 ,
+.Xr X509_REQ_new 3
+.Sh STANDARDS
+RFC 2986: PKCS #10: Certification Request Syntax Specification