From 559d9a792e82771d294190ec79b2ecbe178b3551 Mon Sep 17 00:00:00 2001 From: schwarze <> Date: Tue, 27 Dec 2016 20:56:18 +0000 Subject: New manual pages d2i_ESS_SIGNING_CERT(3) and d2i_TS_REQ(3) written from scratch. All functions listed in and in OpenSSL doc/man3/s2i_X509.pod. --- src/lib/libcrypto/man/Makefile | 4 +- src/lib/libcrypto/man/d2i_ESS_SIGNING_CERT.3 | 114 ++++++++++ src/lib/libcrypto/man/d2i_TS_REQ.3 | 329 +++++++++++++++++++++++++++ 3 files changed, 446 insertions(+), 1 deletion(-) create mode 100644 src/lib/libcrypto/man/d2i_ESS_SIGNING_CERT.3 create mode 100644 src/lib/libcrypto/man/d2i_TS_REQ.3 diff --git a/src/lib/libcrypto/man/Makefile b/src/lib/libcrypto/man/Makefile index 7a37101828..afd0fe5512 100644 --- a/src/lib/libcrypto/man/Makefile +++ b/src/lib/libcrypto/man/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.103 2016/12/26 18:52:51 schwarze Exp $ +# $OpenBSD: Makefile,v 1.104 2016/12/27 20:56:18 schwarze Exp $ .include @@ -231,11 +231,13 @@ MAN= \ d2i_DHparams.3 \ d2i_DSAPublicKey.3 \ d2i_ECPKParameters.3 \ + d2i_ESS_SIGNING_CERT.3 \ d2i_PKCS12.3 \ d2i_PKCS7.3 \ d2i_PKCS8PrivateKey_bio.3 \ d2i_PrivateKey.3 \ d2i_RSAPublicKey.3 \ + d2i_TS_REQ.3 \ d2i_X509.3 \ d2i_X509_ALGOR.3 \ d2i_X509_CRL.3 \ diff --git a/src/lib/libcrypto/man/d2i_ESS_SIGNING_CERT.3 b/src/lib/libcrypto/man/d2i_ESS_SIGNING_CERT.3 new file mode 100644 index 0000000000..31c3cc8e2b --- /dev/null +++ b/src/lib/libcrypto/man/d2i_ESS_SIGNING_CERT.3 @@ -0,0 +1,114 @@ +.\" $OpenBSD: d2i_ESS_SIGNING_CERT.3,v 1.1 2016/12/27 20:56:18 schwarze Exp $ +.\" +.\" Copyright (c) 2016 Ingo Schwarze +.\" +.\" 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. +.\" +.\" 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. +.\" +.Dd $Mdocdate: December 27 2016 $ +.Dt D2I_ESS_SIGNING_CERT 3 +.Os +.Sh NAME +.Nm d2i_ESS_SIGNING_CERT , +.Nm i2d_ESS_SIGNING_CERT , +.Nm d2i_ESS_CERT_ID , +.Nm i2d_ESS_CERT_ID , +.Nm d2i_ESS_ISSUER_SERIAL , +.Nm i2d_ESS_ISSUER_SERIAL +.Nd decode and encode signing certificates for S/MIME +.Sh SYNOPSIS +.In openssl/ts.h +.Ft ESS_SIGNING_CERT * +.Fo d2i_ESS_SIGNING_CERT +.Fa "ESS_SIGNING_CERT **val_out" +.Fa "const unsigned char **der_in" +.Fa "long length" +.Fc +.Ft int +.Fo i2d_ESS_SIGNING_CERT +.Fa "const ESS_SIGNING_CERT *val_in" +.Fa "unsigned char **der_out" +.Fc +.Ft ESS_CERT_ID * +.Fo d2i_ESS_CERT_ID +.Fa "ESS_CERT_ID **val_out" +.Fa "const unsigned char **der_in" +.Fa "long length" +.Fc +.Ft int +.Fo i2d_ESS_CERT_ID +.Fa "const ESS_CERT_ID *val_in" +.Fa "unsigned char **der_out" +.Fc +.Ft ESS_ISSUER_SERIAL * +.Fo d2i_ESS_ISSUER_SERIAL +.Fa "ESS_ISSUER_SERIAL **val_out" +.Fa "const unsigned char **der_in" +.Fa "long length" +.Fc +.Ft int +.Fo i2d_ESS_ISSUER_SERIAL +.Fa "const ESS_ISSUER_SERIAL *val_in" +.Fa "unsigned char **der_out" +.Fc +.Sh DESCRIPTION +These functions decode and encode signing certificate attribute +structures. +For details about the semantics, examples, caveats, and bugs, see +.Xr ASN1_item_d2i 3 . +.Pp +.Fn d2i_ESS_SIGNING_CERT +and +.Fn i2d_ESS_SIGNING_CERT +decode and encode an ASN.1 +.Vt SigningCertificate +structure defined in RFC 2634 section 5.4. +.Pp +.Fn d2i_ESS_CERT_ID +and +.Fn i2d_ESS_CERT_ID +decode and encode an ASN.1 +.Vt ESSCertID +structure defined in RFC 2634 section 5.4.1. +.Pp +.Fn d2i_ESS_ISSUER_SERIAL +and +.Fn i2d_ESS_ISSUER_SERIAL +decode and encode an ASN.1 +.Vt IssuerSerial +structure defined in RFC 2634 section 5.4.1. +.Sh RETURN VALUES +.Fn d2i_ESS_SIGNING_CERT , +.Fn d2i_ESS_CERT_ID , +and +.Fn d2i_ESS_ISSUER_SERIAL +return an +.Vt ESS_SIGNING_CERT , +.Vt ESS_CERT_ID , +or +.Vt ESS_ISSUER_SERIAL +object, respectively, or +.Dv NULL +if an error occurs. +.Pp +.Fn i2d_ESS_SIGNING_CERT , +.Fn i2d_ESS_CERT_ID , +and +.Fn i2d_ESS_ISSUER_SERIAL +return the number of bytes successfully encoded or a negative value +if an error occurs. +.Sh SEE ALSO +.Xr ASN1_item_d2i 3 , +.Xr ESS_SIGNING_CERT_new 3 +.Sh STANDARDS +RFC 2634: Enhanced Security Services for S/MIME, +section 5: Signing Certificate Attribute diff --git a/src/lib/libcrypto/man/d2i_TS_REQ.3 b/src/lib/libcrypto/man/d2i_TS_REQ.3 new file mode 100644 index 0000000000..7841843c5f --- /dev/null +++ b/src/lib/libcrypto/man/d2i_TS_REQ.3 @@ -0,0 +1,329 @@ +.\" $OpenBSD: d2i_TS_REQ.3,v 1.1 2016/12/27 20:56:18 schwarze Exp $ +.\" +.\" Copyright (c) 2016 Ingo Schwarze +.\" +.\" 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. +.\" +.\" 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. +.\" +.Dd $Mdocdate: December 27 2016 $ +.Dt D2I_TS_REQ 3 +.Os +.Sh NAME +.Nm d2i_TS_REQ , +.Nm i2d_TS_REQ , +.Nm d2i_TS_REQ_bio , +.Nm i2d_TS_REQ_bio , +.Nm d2i_TS_REQ_fp , +.Nm i2d_TS_REQ_fp , +.Nm d2i_TS_RESP , +.Nm i2d_TS_RESP , +.Nm d2i_TS_RESP_bio , +.Nm i2d_TS_RESP_bio , +.Nm d2i_TS_RESP_fp , +.Nm i2d_TS_RESP_fp , +.Nm d2i_TS_STATUS_INFO , +.Nm i2d_TS_STATUS_INFO , +.Nm d2i_TS_TST_INFO , +.Nm i2d_TS_TST_INFO , +.Nm d2i_TS_TST_INFO_bio , +.Nm i2d_TS_TST_INFO_bio , +.Nm d2i_TS_TST_INFO_fp , +.Nm i2d_TS_TST_INFO_fp , +.Nm d2i_TS_ACCURACY , +.Nm i2d_TS_ACCURACY , +.Nm d2i_TS_MSG_IMPRINT , +.Nm i2d_TS_MSG_IMPRINT , +.Nm d2i_TS_MSG_IMPRINT_bio , +.Nm i2d_TS_MSG_IMPRINT_bio , +.Nm d2i_TS_MSG_IMPRINT_fp , +.Nm i2d_TS_MSG_IMPRINT_fp +.Nd decode and encode X.509 time-stamp protocol structures +.Sh SYNOPSIS +.In openssl/ts.h +.Ft TS_REQ * +.Fo d2i_TS_REQ +.Fa "TS_REQ **val_out" +.Fa "const unsigned char **der_in" +.Fa "long length" +.Fc +.Ft int +.Fo i2d_TS_REQ +.Fa "const TS_REQ *val_in" +.Fa "unsigned char **der_out" +.Fc +.Ft TS_REQ * +.Fo d2i_TS_REQ_bio +.Fa "BIO *in_bio" +.Fa "TS_REQ **val_out" +.Fc +.Ft int +.Fo i2d_TS_REQ_bio +.Fa "BIO *out_bio" +.Fa "TS_REQ *val_in" +.Fc +.Ft TS_REQ * +.Fo d2i_TS_REQ_fp +.Fa "FILE *in_fp" +.Fa "TS_REQ **val_out" +.Fc +.Ft int +.Fo i2d_TS_REQ_fp +.Fa "FILE *out_fp" +.Fa "TS_REQ *val_in" +.Fc +.Ft TS_RESP * +.Fo d2i_TS_RESP +.Fa "TS_RESP **val_out" +.Fa "const unsigned char **der_in" +.Fa "long length" +.Fc +.Ft int +.Fo i2d_TS_RESP +.Fa "const TS_RESP *val_in" +.Fa "unsigned char **der_out" +.Fc +.Ft TS_RESP * +.Fo d2i_TS_RESP_bio +.Fa "BIO *in_bio" +.Fa "TS_RESP **val_out" +.Fc +.Ft int +.Fo i2d_TS_RESP_bio +.Fa "BIO *out_bio" +.Fa "TS_RESP *val_in" +.Fc +.Ft TS_RESP * +.Fo d2i_TS_RESP_fp +.Fa "FILE *in_fp" +.Fa "TS_RESP **val_out" +.Fc +.Ft int +.Fo i2d_TS_RESP_fp +.Fa "FILE *out_fp" +.Fa "TS_RESP *val_in" +.Fc +.Ft TS_STATUS_INFO * +.Fo d2i_TS_STATUS_INFO +.Fa "TS_STATUS_INFO **val_out" +.Fa "const unsigned char **der_in" +.Fa "long length" +.Fc +.Ft int +.Fo i2d_TS_STATUS_INFO +.Fa "const TS_STATUS_INFO *val_in" +.Fa "unsigned char **der_out" +.Fc +.Ft TS_TST_INFO * +.Fo d2i_TS_TST_INFO +.Fa "TS_TST_INFO **val_out" +.Fa "const unsigned char **der_in" +.Fa "long length" +.Fc +.Ft int +.Fo i2d_TS_TST_INFO +.Fa "const TS_TST_INFO *val_in" +.Fa "unsigned char **der_out" +.Fc +.Ft TS_TST_INFO * +.Fo d2i_TS_TST_INFO_bio +.Fa "BIO *in_bio" +.Fa "TS_TST_INFO **val_out" +.Fc +.Ft int +.Fo i2d_TS_TST_INFO_bio +.Fa "BIO *out_bio" +.Fa "TS_TST_INFO *val_in" +.Fc +.Ft TS_TST_INFO * +.Fo d2i_TS_TST_INFO_fp +.Fa "FILE *in_fp" +.Fa "TS_TST_INFO **val_out" +.Fc +.Ft int +.Fo i2d_TS_TST_INFO_fp +.Fa "FILE *out_fp" +.Fa "TS_TST_INFO *val_in" +.Fc +.Ft TS_ACCURACY * +.Fo d2i_TS_ACCURACY +.Fa "TS_ACCURACY **val_out" +.Fa "const unsigned char **der_in" +.Fa "long length" +.Fc +.Ft int +.Fo i2d_TS_ACCURACY +.Fa "const TS_ACCURACY *val_in" +.Fa "unsigned char **der_out" +.Fc +.Ft TS_MSG_IMPRINT * +.Fo d2i_TS_MSG_IMPRINT +.Fa "TS_MSG_IMPRINT **val_out" +.Fa "const unsigned char **der_in" +.Fa "long length" +.Fc +.Ft int +.Fo i2d_TS_MSG_IMPRINT +.Fa "const TS_MSG_IMPRINT *val_in" +.Fa "unsigned char **der_out" +.Fc +.Ft TS_MSG_IMPRINT * +.Fo d2i_TS_MSG_IMPRINT_bio +.Fa "BIO *in_bio" +.Fa "TS_MSG_IMPRINT **val_out" +.Fc +.Ft int +.Fo i2d_TS_MSG_IMPRINT_bio +.Fa "BIO *out_bio" +.Fa "TS_MSG_IMPRINT *val_in" +.Fc +.Ft TS_MSG_IMPRINT * +.Fo d2i_TS_MSG_IMPRINT_fp +.Fa "FILE *in_fp" +.Fa "TS_MSG_IMPRINT **val_out" +.Fc +.Ft int +.Fo i2d_TS_MSG_IMPRINT_fp +.Fa "FILE *out_fp" +.Fa "TS_MSG_IMPRINT *val_in" +.Fc +.Sh DESCRIPTION +These functions decode and encode X.509 structures used for the +time-stamp protocol. +For details about the semantics, examples, caveats, and bugs, see +.Xr ASN1_item_d2i 3 . +.Pp +.Fn d2i_TS_REQ +and +.Fn i2d_TS_REQ +decode and encode an ASN.1 +.Vt TimeStampReq +structure defined in RFC 3161 section 2.4.1. +.Fn d2i_TS_REQ_bio , +.Fn i2d_TS_REQ_bio , +.Fn d2i_TS_REQ_fp , +and +.Fn i2d_TS_REQ_fp +are similar except that they decode or encode using a +.Vt BIO +or +.Vt FILE +pointer. +.Pp +.Fn d2i_TS_RESP +and +.Fn i2d_TS_RESP +decode and encode an ASN.1 +.Vt TimeStampResp +structure defined in RFC 3161 section 2.4.2. +.Fn d2i_TS_RESP_bio , +.Fn i2d_TS_RESP_bio , +.Fn d2i_TS_RESP_fp , +and +.Fn i2d_TS_RESP_fp +are similar except that they decode or encode using a +.Vt BIO +or +.Vt FILE +pointer. +.Pp +.Fn d2i_TS_STATUS_INFO +and +.Fn i2d_TS_STATUS_INFO +decode and encode an ASN.1 +.Vt PKIStatusInfo +structure defined in RFC 3161 section 2.4.2. +.Pp +.Fn d2i_TS_TST_INFO +and +.Fn i2d_TS_TST_INFO +decode and encode an ASN.1 +.Vt TSTInfo +structure defined in RFC 3161 section 2.4.2. +.Fn d2i_TS_TST_INFO_bio , +.Fn i2d_TS_TST_INFO_bio , +.Fn d2i_TS_TST_INFO_fp , +and +.Fn i2d_TS_TST_INFO_fp +are similar except that they decode or encode using a +.Vt BIO +or +.Vt FILE +pointer. +.Pp +.Fn d2i_TS_ACCURACY +and +.Fn i2d_TS_ACCURACY +decode and encode an ASN.1 +.Vt Accuracy +structure defined in RFC 3161 section 2.4.2. +.Pp +.Fn d2i_TS_MSG_IMPRINT +and +.Fn i2d_TS_MSG_IMPRINT +decode and encode an ASN.1 +.Vt MessageImprint +structure defined in RFC 3161 section 2.4.1. +.Fn d2i_TS_MSG_IMPRINT_bio , +.Fn i2d_TS_MSG_IMPRINT_bio , +.Fn d2i_TS_MSG_IMPRINT_fp , +and +.Fn i2d_TS_MSG_IMPRINT_fp +are similar except that they decode or encode using a +.Vt BIO +or +.Vt FILE +pointer. +.Sh RETURN VALUES +.Fn d2i_TS_REQ , +.Fn d2i_TS_REQ_bio , +.Fn d2i_TS_REQ_fp , +.Fn d2i_TS_RESP , +.Fn d2i_TS_RESP_bio , +.Fn d2i_TS_RESP_fp , +.Fn d2i_TS_STATUS_INFO , +.Fn d2i_TS_TST_INFO , +.Fn d2i_TS_TST_INFO_bio , +.Fn d2i_TS_TST_INFO_fp , +.Fn d2i_TS_ACCURACY , +.Fn d2i_TS_MSG_IMPRINT , +.Fn d2i_TS_MSG_IMPRINT_bio , +and +.Fn d2i_TS_MSG_IMPRINT_fp +return an object of the respective type or +.Dv NULL +if an error occurs. +.Pp +.Fn i2d_TS_REQ , +.Fn i2d_TS_RESP , +.Fn i2d_TS_STATUS_INFO , +.Fn i2d_TS_TST_INFO , +.Fn i2d_TS_ACCURACY , +and +.Fn i2d_TS_MSG_IMPRINT +return the number of bytes successfully encoded or a negative value +if an error occurs. +.Pp +.Fn i2d_TS_REQ_bio , +.Fn i2d_TS_REQ_fp , +.Fn i2d_TS_RESP_bio , +.Fn i2d_TS_RESP_fp , +.Fn i2d_TS_TST_INFO_bio , +.Fn i2d_TS_TST_INFO_fp , +.Fn i2d_TS_MSG_IMPRINT_bio , +and +.Fn i2d_TS_MSG_IMPRINT_fp +return 1 for success or 0 if an error occurs. +.Sh SEE ALSO +.Xr ASN1_item_d2i 3 , +.Xr TS_REQ_new 3 +.Sh STANDARDS +RFC 3161: Internet X.509 Public Key Infrastructure Time-Stamp Protocol -- cgit v1.2.3-55-g6feb