1X509_GET_PUBKEY(3ossl)              OpenSSL             X509_GET_PUBKEY(3ossl)
2
3
4

NAME

6       X509_get_pubkey, X509_get0_pubkey, X509_set_pubkey,
7       X509_get_X509_PUBKEY, X509_REQ_get_pubkey, X509_REQ_get0_pubkey,
8       X509_REQ_set_pubkey, X509_REQ_get_X509_PUBKEY - get or set certificate
9       or certificate request public key
10

SYNOPSIS

12        #include <openssl/x509.h>
13
14        EVP_PKEY *X509_get_pubkey(X509 *x);
15        EVP_PKEY *X509_get0_pubkey(const X509 *x);
16        int X509_set_pubkey(X509 *x, EVP_PKEY *pkey);
17        X509_PUBKEY *X509_get_X509_PUBKEY(const X509 *x);
18
19        EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *req);
20        EVP_PKEY *X509_REQ_get0_pubkey(X509_REQ *req);
21        int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
22        X509_PUBKEY *X509_REQ_get_X509_PUBKEY(X509_REQ *x);
23

DESCRIPTION

25       X509_get_pubkey() attempts to decode the public key for certificate x.
26       If successful it returns the public key as an EVP_PKEY pointer with its
27       reference count incremented: this means the returned key must be freed
28       up after use. X509_get0_pubkey() is similar except it does not
29       increment the reference count of the returned EVP_PKEY so it must not
30       be freed up after use.
31
32       X509_get_X509_PUBKEY() returns an internal pointer to the X509_PUBKEY
33       structure which encodes the certificate of x. The returned value must
34       not be freed up after use.
35
36       X509_set_pubkey() attempts to set the public key for certificate x to
37       pkey. The key pkey should be freed up after use.
38
39       X509_REQ_get_pubkey(), X509_REQ_get0_pubkey(), X509_REQ_set_pubkey()
40       and X509_REQ_get_X509_PUBKEY() are similar but operate on certificate
41       request req.
42

NOTES

44       The first time a public key is decoded the EVP_PKEY structure is cached
45       in the certificate or certificate request itself. Subsequent calls
46       return the cached structure with its reference count incremented to
47       improve performance.
48

RETURN VALUES

50       X509_get_pubkey(), X509_get0_pubkey(), X509_get_X509_PUBKEY(),
51       X509_REQ_get_pubkey() and X509_REQ_get_X509_PUBKEY() return a public
52       key or NULL if an error occurred.
53
54       X509_set_pubkey() and X509_REQ_set_pubkey() return 1 for success and 0
55       for failure.
56

SEE ALSO

58       d2i_X509(3), ERR_get_error(3), X509_CRL_get0_by_serial(3),
59       X509_get0_signature(3), X509_get_ext_d2i(3),
60       X509_get_extension_flags(3), X509_get_subject_name(3),
61       X509_get_version(3), X509_NAME_add_entry_by_txt(3),
62       X509_NAME_ENTRY_get_object(3), X509_NAME_get_index_by_NID(3),
63       X509_NAME_print_ex(3), X509_new(3), X509_sign(3), X509V3_get_d2i(3),
64       X509_verify_cert(3)
65
67       Copyright 2015-2021 The OpenSSL Project Authors. All Rights Reserved.
68
69       Licensed under the Apache License 2.0 (the "License").  You may not use
70       this file except in compliance with the License.  You can obtain a copy
71       in the file LICENSE in the source distribution or at
72       <https://www.openssl.org/source/license.html>.
73
74
75
763.0.9                             2023-07-27            X509_GET_PUBKEY(3ossl)
Impressum