Sortix
Sortix Download Manual Development Source Code News Blog More
current nightly

Sortix cross-nightly manual

This manual documents Sortix cross-nightly. You can instead view this document in the latest official manual.

NAME

ASN1_item_pack, ASN1_item_unpack — pack an ASN.1 object into an ASN1_STRING

SYNOPSIS

#include <openssl/asn1.h>
ASN1_STRING *
ASN1_item_pack(void *val_in, const ASN1_ITEM *it, ASN1_STRING **string_out);
void *
ASN1_item_unpack(const ASN1_STRING *string_in, const ASN1_ITEM *it);

DESCRIPTION

ASN1_item_pack() encodes the object pointed to by val_in into DER format using ASN1_item_i2d(3) and stores the encoded form in **string_out. If string_out or *string_out is a NULL pointer, a new ASN1_STRING object is allocated and returned.
ASN1_item_unpack() interprets the data in string_in as a DER- or BER-encoded byte array and decodes one value of the type it into a newly allocated object using ASN1_item_d2i(3).

RETURN VALUES

ASN1_item_pack() returns the modified or new object or NULL if memory allocation or encoding fails.
ASN1_item_unpack() returns the new object or NULL if memory allocation or decoding fails.

SEE ALSO

ASN1_item_d2i(3), ASN1_item_new(3), ASN1_STRING_new(3)

HISTORY

ASN1_item_pack() and ASN1_item_unpack() first appeared in OpenSSL 0.9.7 and have been available since OpenBSD 3.2.

BUGS

See the BUGS section in ASN1_item_i2d(3).
Copyright 2011-2025 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org