xref: /freebsd-src/crypto/openssl/doc/man3/X509_NAME_ENTRY_get_object.pod (revision b077aed33b7b6aefca7b17ddb250cf521f938613)
1e71b7053SJung-uk Kim=pod
2e71b7053SJung-uk Kim
3e71b7053SJung-uk Kim=head1 NAME
4e71b7053SJung-uk Kim
5e71b7053SJung-uk KimX509_NAME_ENTRY_get_object, X509_NAME_ENTRY_get_data,
6e71b7053SJung-uk KimX509_NAME_ENTRY_set_object, X509_NAME_ENTRY_set_data,
7e71b7053SJung-uk KimX509_NAME_ENTRY_create_by_txt, X509_NAME_ENTRY_create_by_NID,
8e71b7053SJung-uk KimX509_NAME_ENTRY_create_by_OBJ - X509_NAME_ENTRY utility functions
9e71b7053SJung-uk Kim
10e71b7053SJung-uk Kim=head1 SYNOPSIS
11e71b7053SJung-uk Kim
12e71b7053SJung-uk Kim #include <openssl/x509.h>
13e71b7053SJung-uk Kim
14e71b7053SJung-uk Kim ASN1_OBJECT *X509_NAME_ENTRY_get_object(const X509_NAME_ENTRY *ne);
15e71b7053SJung-uk Kim ASN1_STRING *X509_NAME_ENTRY_get_data(const X509_NAME_ENTRY *ne);
16e71b7053SJung-uk Kim
17e71b7053SJung-uk Kim int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, const ASN1_OBJECT *obj);
18e71b7053SJung-uk Kim int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type,
19e71b7053SJung-uk Kim                              const unsigned char *bytes, int len);
20e71b7053SJung-uk Kim
21e71b7053SJung-uk Kim X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, const char *field,
22e71b7053SJung-uk Kim                                                int type, const unsigned char *bytes,
23e71b7053SJung-uk Kim                                                int len);
24e71b7053SJung-uk Kim X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid,
25e71b7053SJung-uk Kim                                                int type, const unsigned char *bytes,
26e71b7053SJung-uk Kim                                                int len);
27e71b7053SJung-uk Kim X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne,
28e71b7053SJung-uk Kim                                                const ASN1_OBJECT *obj, int type,
29e71b7053SJung-uk Kim                                                const unsigned char *bytes, int len);
30e71b7053SJung-uk Kim
31e71b7053SJung-uk Kim=head1 DESCRIPTION
32e71b7053SJung-uk Kim
33e71b7053SJung-uk KimX509_NAME_ENTRY_get_object() retrieves the field name of B<ne> in
34e71b7053SJung-uk Kimand B<ASN1_OBJECT> structure.
35e71b7053SJung-uk Kim
36e71b7053SJung-uk KimX509_NAME_ENTRY_get_data() retrieves the field value of B<ne> in
37e71b7053SJung-uk Kimand B<ASN1_STRING> structure.
38e71b7053SJung-uk Kim
39e71b7053SJung-uk KimX509_NAME_ENTRY_set_object() sets the field name of B<ne> to B<obj>.
40e71b7053SJung-uk Kim
41e71b7053SJung-uk KimX509_NAME_ENTRY_set_data() sets the field value of B<ne> to string type
42e71b7053SJung-uk KimB<type> and value determined by B<bytes> and B<len>.
43e71b7053SJung-uk Kim
44e71b7053SJung-uk KimX509_NAME_ENTRY_create_by_txt(), X509_NAME_ENTRY_create_by_NID()
45e71b7053SJung-uk Kimand X509_NAME_ENTRY_create_by_OBJ() create and return an
46e71b7053SJung-uk KimB<X509_NAME_ENTRY> structure.
47e71b7053SJung-uk Kim
48e71b7053SJung-uk Kim=head1 NOTES
49e71b7053SJung-uk Kim
50e71b7053SJung-uk KimX509_NAME_ENTRY_get_object() and X509_NAME_ENTRY_get_data() can be
51e71b7053SJung-uk Kimused to examine an B<X509_NAME_ENTRY> function as returned by
52e71b7053SJung-uk KimX509_NAME_get_entry() for example.
53e71b7053SJung-uk Kim
54e71b7053SJung-uk KimX509_NAME_ENTRY_create_by_txt(), X509_NAME_ENTRY_create_by_OBJ(),
55e71b7053SJung-uk KimX509_NAME_ENTRY_create_by_NID() and X509_NAME_ENTRY_set_data()
56e71b7053SJung-uk Kimare seldom used in practice because B<X509_NAME_ENTRY> structures
57e71b7053SJung-uk Kimare almost always part of B<X509_NAME> structures and the
58e71b7053SJung-uk Kimcorresponding B<X509_NAME> functions are typically used to
59e71b7053SJung-uk Kimcreate and add new entries in a single operation.
60e71b7053SJung-uk Kim
61e71b7053SJung-uk KimThe arguments of these functions support similar options to the similarly
62e71b7053SJung-uk Kimnamed ones of the corresponding B<X509_NAME> functions such as
63e71b7053SJung-uk KimX509_NAME_add_entry_by_txt(). So for example B<type> can be set to
64e71b7053SJung-uk KimB<MBSTRING_ASC> but in the case of X509_set_data() the field name must be
65e71b7053SJung-uk Kimset first so the relevant field information can be looked up internally.
66e71b7053SJung-uk Kim
67e71b7053SJung-uk Kim=head1 RETURN VALUES
68e71b7053SJung-uk Kim
69e71b7053SJung-uk KimX509_NAME_ENTRY_get_object() returns a valid B<ASN1_OBJECT> structure if it is
70e71b7053SJung-uk Kimset or NULL if an error occurred.
71e71b7053SJung-uk Kim
72e71b7053SJung-uk KimX509_NAME_ENTRY_get_data() returns a valid B<ASN1_STRING> structure if it is set
73e71b7053SJung-uk Kimor NULL if an error occurred.
74e71b7053SJung-uk Kim
75e71b7053SJung-uk KimX509_NAME_ENTRY_set_object() and X509_NAME_ENTRY_set_data() return 1 on success
76e71b7053SJung-uk Kimor 0 on error.
77e71b7053SJung-uk Kim
78e71b7053SJung-uk KimX509_NAME_ENTRY_create_by_txt(), X509_NAME_ENTRY_create_by_NID() and
79e71b7053SJung-uk KimX509_NAME_ENTRY_create_by_OBJ() return a valid B<X509_NAME_ENTRY> on success or
80e71b7053SJung-uk KimNULL if an error occurred.
81e71b7053SJung-uk Kim
82e71b7053SJung-uk Kim=head1 SEE ALSO
83e71b7053SJung-uk Kim
84e71b7053SJung-uk KimL<ERR_get_error(3)>, L<d2i_X509_NAME(3)>,
85e71b7053SJung-uk KimL<OBJ_nid2obj(3)>
86e71b7053SJung-uk Kim
87e71b7053SJung-uk Kim=head1 COPYRIGHT
88e71b7053SJung-uk Kim
89e71b7053SJung-uk KimCopyright 2002-2018 The OpenSSL Project Authors. All Rights Reserved.
90e71b7053SJung-uk Kim
91*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
92e71b7053SJung-uk Kimthis file except in compliance with the License.  You can obtain a copy
93e71b7053SJung-uk Kimin the file LICENSE in the source distribution or at
94e71b7053SJung-uk KimL<https://www.openssl.org/source/license.html>.
95e71b7053SJung-uk Kim
96e71b7053SJung-uk Kim=cut
97