Sortix volatile manual
This manual documents Sortix volatile, a development build that has not been officially released. You can instead view this document in the latest official manual.
| PKCS8_PKEY_SET0(3) | Library Functions Manual | PKCS8_PKEY_SET0(3) |
NAME
PKCS8_pkey_set0,
PKCS8_pkey_get0,
PKCS8_pkey_add1_attr_by_NID,
PKCS8_pkey_get0_attrs —
change and inspect PKCS#8 PrivateKeyInfo objects
SYNOPSIS
#include
<openssl/x509.h>
int
PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO
*keyinfo, ASN1_OBJECT *aobj, int
version, int ptype, void
*pval, unsigned char *data, int
len);
int
PKCS8_pkey_get0(const ASN1_OBJECT
**paobj, const unsigned char **pdata,
int *plen, const X509_ALGOR
**palgor, const PKCS8_PRIV_KEY_INFO
*keyinfo);
int
PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO
*keyinfo, int nid, int
type, const unsigned char *data,
int len);
const STACK_OF(X509_ATTRIBUTE) *
PKCS8_pkey_get0_attrs(const
PKCS8_PRIV_KEY_INFO *keyinfo);
DESCRIPTION
PKCS8_pkey_set0()
initializes the keyinfo object. The algorithm is set
to aobj with the associated parameter type
ptype and parameter value pval
using
X509_ALGOR_set0(3),
replacing any previous information about the algorithm. Unless
data is NULL, the encoded
private key is set to the len bytes starting at
data using
ASN1_STRING_set0(3),
not performing any validation. If data is
NULL, the key data remains unchanged. If the
version argument is greater than or equal to 0, it
replaces any existing version; otherwise, the version remains unchanged. If
keyinfo contains any attributes, they remain
unchanged.
PKCS8_pkey_get0()
retrieves some information from the keyinfo object.
Internal pointers to the algorithm OID, the
AlgorithmIdentifier, and the encoded private key are
stored in *paobj, *palgor, and
*pdata, respectively. NULL
pointers can be passed for any of these three arguments if the respective
information is not needed. Unless pdata is
NULL, *plen is set to the
number of bytes in *pdata.
PKCS8_pkey_add1_attr_by_NID()
creates a new X.501 Attribute object using
X509_ATTRIBUTE_create_by_NID(3)
and appends it to the attributes of keyinfo.
RETURN VALUES
PKCS8_pkey_set0() and
PKCS8_pkey_add1_attr_by_NID() return 1 for success
or 0 for failure.
PKCS8_pkey_get0() always returns 1.
PKCS8_pkey_get0_attrs() returns an
internal pointer to the array of attributes associated with
keyinfo or NULL if no
attributes are set.
SEE ALSO
ASN1_STRING_set0(3), EVP_PKCS82PKEY(3), OBJ_nid2obj(3), PKCS8_PRIV_KEY_INFO_new(3), STACK_OF(3), X509_ALGOR_new(3), X509_ATTRIBUTE_create_by_NID(3), X509_ATTRIBUTE_new(3)
HISTORY
PKCS8_pkey_set0() and
PKCS8_pkey_get0() first appeared in OpenSSL 1.0.0
and have been available since OpenBSD 4.9.
PKCS8_pkey_add1_attr_by_NID() and
PKCS8_pkey_get0_attrs() first appeared in OpenSSL
1.1.0 and have been available since OpenBSD 6.4.
| Sepember 2, 2024 | Sortix 1.1.0-dev |