Dmitry Belyavskiy | d80bf69 | 2020-01-20 16:02:26 +0300 | [diff] [blame] | 1 | =pod |
| 2 | |
| 3 | =head1 NAME |
| 4 | |
| 5 | PKCS8_pkey_get0_attrs, PKCS8_pkey_add1_attr, PKCS8_pkey_add1_attr_by_NID, PKCS8_pkey_add1_attr_by_OBJ - PKCS8 attribute functions |
| 6 | |
| 7 | =head1 SYNOPSIS |
| 8 | |
| 9 | #include <openssl/x509.h> |
| 10 | |
| 11 | const STACK_OF(X509_ATTRIBUTE) * |
| 12 | PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8); |
| 13 | int PKCS8_pkey_add1_attr(PKCS8_PRIV_KEY_INFO *p8, X509_ATTRIBUTE *attr); |
| 14 | int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type, |
| 15 | const unsigned char *bytes, int len); |
| 16 | int PKCS8_pkey_add1_attr_by_OBJ(PKCS8_PRIV_KEY_INFO *p8, const ASN1_OBJECT *obj, |
| 17 | int type, const unsigned char *bytes, int len); |
| 18 | |
| 19 | =head1 DESCRIPTION |
| 20 | |
| 21 | PKCS8_pkey_get0_attrs() returns a const STACK of X509_ATTRIBUTE present in |
| 22 | the passed const PKCS8_PRIV_KEY_INFO structure B<p8>. |
| 23 | |
| 24 | PKCS8_pkey_add1_attr() adds a constructed X509_ATTRIBUTE B<attr> to the |
| 25 | existing PKCS8_PRIV_KEY_INFO structure B<p8>. |
| 26 | |
| 27 | PKCS8_pkey_add1_attr_by_NID() and PKCS8_pkey_add1_attr_by_OBJ() construct a new |
| 28 | X509_ATTRIBUTE from the passed arguments and add it to the existing |
| 29 | PKCS8_PRIV_KEY_INFO structure B<p8>. |
| 30 | |
| 31 | =head1 RETURN VALUES |
| 32 | |
| 33 | PKCS8_pkey_add1_attr(), PKCS8_pkey_add1_attr_by_NID(), and |
| 34 | PKCS8_pkey_add1_attr_by_OBJ() return 1 for success and 0 for failure. |
| 35 | |
| 36 | =head1 NOTES |
| 37 | |
| 38 | STACK of X509_ATTRIBUTE is present in many X509-related structures and some of |
| 39 | them have the corresponding set of similar functions. |
| 40 | |
| 41 | =head1 SEE ALSO |
| 42 | |
| 43 | L<crypto(7)> |
| 44 | |
| 45 | =head1 COPYRIGHT |
| 46 | |
| 47 | Copyright 2020 The OpenSSL Project Authors. All Rights Reserved. |
| 48 | |
| 49 | Licensed under the Apache License 2.0 (the "License"). You may not use |
| 50 | this file except in compliance with the License. You can obtain a copy |
| 51 | in the file LICENSE in the source distribution or at |
| 52 | L<https://www.openssl.org/source/license.html>. |
| 53 | |
| 54 | =cut |