---
name: "ASN1_item_new"
section: "3ssl"
platform: "linux"
package: "openssl"
version: "3.6.5-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/ASN1_item_new"
---

# ASN1\_item\_new(3ssl)

create new ASN.1 values

## NAME

ASN1\_item\_new\_ex, ASN1\_item\_new - create new ASN.1 values

## SYNOPSIS

```
 #include <openssl/asn1.h>
 ASN1_VALUE *ASN1_item_new_ex(const ASN1_ITEM *it, OSSL_LIB_CTX *libctx,
                              const char *propq);
 ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it);
```

## DESCRIPTION

**ASN1\_item\_new\_ex()** creates a new **ASN1\_VALUE** structure based on the **ASN1\_ITEM** template given in the *it* parameter. If any algorithm fetches are required during the process then they will use the **OSSL\_LIB\_CTX** provided in the *libctx* parameter and the property query string in *propq*. See "ALGORITHM FETCHING" in [**crypto**(7)](/crypto/7.md) for more information about algorithm fetching.

**ASN1\_item\_new()** is the same as **ASN1\_item\_new\_ex()** except that the default **OSSL\_LIB\_CTX** is used (i.e. NULL) and with a NULL property query string.

## RETURN VALUES

**ASN1\_item\_new\_ex()** and **ASN1\_item\_new()** return a pointer to the newly created **ASN1\_VALUE** or NULL on error.

## HISTORY

The function **ASN1\_item\_new\_ex()** was added in OpenSSL 3.0.

## COPYRIGHT

Copyright 2021 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License").  You may not use this file except in compliance with the License.  You can obtain a copy in the file LICENSE in the source distribution or at \<https://www.openssl.org/source/license.html\>.
