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

# PKCS12\_add1\_attr\_by\_NID(3ssl)

Add an attribute to a PKCS#12 safeBag structure

## NAME

PKCS12\_add1\_attr\_by\_NID, PKCS12\_add1\_attr\_by\_txt - Add an attribute to a PKCS#12 safeBag structure

## SYNOPSIS

```
 #include <openssl/pkcs12.h>
 int PKCS12_add1_attr_by_NID(PKCS12_SAFEBAG *bag, int nid, int type,
                             const unsigned char *bytes, int len);
 int PKCS12_add1_attr_by_txt(PKCS12_SAFEBAG *bag, const char *attrname, int type,
                             const unsigned char *bytes, int len);
```

## DESCRIPTION

These functions add a PKCS#12 Attribute to the Attribute Set of the **bag**.

**PKCS12\_add1\_attr\_by\_NID()** adds an attribute of type **nid** with a value of ASN1 type **type** constructed using **len** bytes from **bytes**.

**PKCS12\_add1\_attr\_by\_txt()** adds an attribute of type **attrname** with a value of ASN1 type **type** constructed using **len** bytes from **bytes**.

## NOTES

These functions do not check whether an existing attribute of the same type is present. There can be multiple attributes with the same type assigned to a safeBag.

Both functions were added in OpenSSL 3.0.

## RETURN VALUES

A return value of 1 indicates success, 0 indicates failure.

## SEE ALSO

**PKCS12\_create**(3)

## COPYRIGHT

Copyright 2020 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\>.
