summaryrefslogtreecommitdiff
path: root/lib/libcrypto/man/ASN1_item_pack.3
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libcrypto/man/ASN1_item_pack.3')
-rw-r--r--lib/libcrypto/man/ASN1_item_pack.384
1 files changed, 84 insertions, 0 deletions
diff --git a/lib/libcrypto/man/ASN1_item_pack.3 b/lib/libcrypto/man/ASN1_item_pack.3
new file mode 100644
index 00000000000..4c87530622f
--- /dev/null
+++ b/lib/libcrypto/man/ASN1_item_pack.3
@@ -0,0 +1,84 @@
+.\" $OpenBSD: ASN1_item_pack.3,v 1.1 2021/11/15 11:51:09 schwarze Exp $
+.\"
+.\" Copyright (c) 2021 Ingo Schwarze <schwarze@openbsd.org>
+.\"
+.\" 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: November 15 2021 $
+.Dt ASN1_ITEM_PACK 3
+.Os
+.Sh NAME
+.Nm ASN1_item_pack ,
+.Nm ASN1_item_unpack
+.Nd pack an ASN.1 object into an ASN1_STRING
+.Sh SYNOPSIS
+.In openssl/asn1.h
+.Ft ASN1_STRING *
+.Fo ASN1_item_pack
+.Fa "void *val_in"
+.Fa "const ASN1_ITEM *it"
+.Fa "ASN1_STRING **string_out"
+.Fc
+.Ft void *
+.Fo ASN1_item_unpack
+.Fa "const ASN1_STRING *string_in"
+.Fa "const ASN1_ITEM *it"
+.Fc
+.Sh DESCRIPTION
+.Fn ASN1_item_pack
+encodes the object pointed to by
+.Fa val_in
+into DER format using
+.Xr ASN1_item_i2d 3
+and stores the encoded form in
+.Pf ** Fa string_out .
+If
+.Fa string_out
+or
+.Pf * Fa string_out
+is a
+.Dv NULL
+pointer, a new
+.Vt ASN1_STRING
+object is allocated and returned.
+.Pp
+.Fn ASN1_item_unpack
+interprets the data in
+.Fa string_in
+as a DER- or BER-encoded byte array and decodes one value of the type
+.Fa it
+into a newly allocated object using
+.Xr ASN1_item_d2i 3 .
+.Sh RETURN VALUES
+.Fn ASN1_item_pack
+returns the modified or new object or
+.Dv NULL
+if memory allocation or encoding fails.
+.Pp
+.Fn ASN1_item_unpack
+returns the new object or
+.Dv NULL
+if memory allocation or decoding fails.
+.Sh SEE ALSO
+.Xr ASN1_item_d2i 3 ,
+.Xr ASN1_item_new 3 ,
+.Xr ASN1_STRING_new 3
+.Sh HISTORY
+.Fn ASN1_item_pack
+and
+.Fn ASN1_item_unpack
+first appeared in OpenSSL 0.9.7 and have been available since
+.Ox 3.2 .
+.Sh BUGS
+See the BUGS section in
+.Xr ASN1_item_i2d 3 .