1 .\" $OpenBSD: GENERAL_NAME_new.3,v 1.2 2016/12/25 22:15:10 schwarze Exp $
3 .\" Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org>
5 .\" Permission to use, copy, modify, and distribute this software for any
6 .\" purpose with or without fee is hereby granted, provided that the above
7 .\" copyright notice and this permission notice appear in all copies.
9 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 .Dd $Mdocdate: December 25 2016 $
18 .Dt GENERAL_NAME_NEW 3
21 .Nm GENERAL_NAME_new ,
22 .Nm GENERAL_NAME_free ,
23 .Nm GENERAL_NAMES_new ,
24 .Nm GENERAL_NAMES_free ,
25 .Nm EDIPARTYNAME_new ,
26 .Nm EDIPARTYNAME_free ,
29 .Nd names for use in X.509 extensions
33 .Fn GENERAL_NAME_new void
35 .Fn GENERAL_NAME_free "GENERAL_NAME *name"
37 .Fn GENERAL_NAMES_new void
39 .Fn GENERAL_NAMES_free "GENERAL_NAMES *names"
41 .Fn EDIPARTYNAME_new void
43 .Fn EDIPARTYNAME_free "EDIPARTYNAME *name"
45 .Fn OTHERNAME_new void
47 .Fn OTHERNAME_free "OTHERNAME *name"
53 is a complicated multi-layered structure, it is very rigid and not
54 flexible enough to represent various entities that many people want
55 to use as names in certificates.
56 For that reason, X.509 extensions use the X.509
58 wrapper structure rather than using the X.501
60 structure directly, at the expense of adding one or two additional
61 layers of indirection.
64 allocates and initializes an empty
66 object, representing the ASN.1
68 structure defined in RFC 5280 section 4.2.1.6.
69 It can for example hold an
71 object, an IP address, a DNS host name, a uniform resource identifier,
72 an email address, or an
76 object described below.
82 allocates and initializes an empty
85 .Vt STACK_OF(GENERAL_NAME)
86 and represents the ASN.1
88 structure defined in RFC 5280 section 4.2.1.6.
89 It is used by extension structures that can contain multiple names,
90 for example key identifier, alternative name, and distribution point
92 .Fn GENERAL_NAMES_free
97 allocates and initializes an empty
99 object, representing the ASN.1
101 structure defined in RFC 5280 section 4.2.1.6, where
104 .Dq electronic data identifier .
105 It can hold two strings, the name itself and the name of the authority
106 that assigned that name.
107 .Fn EDIPARTYNAME_free
112 allocates and initializes an empty
114 object, representing the ASN.1
116 structure defined in RFC 5280 section 4.2.1.6.
117 It can hold data of any
119 together with a type identifier.
124 .Fn GENERAL_NAME_new ,
125 .Fn GENERAL_NAMES_new ,
126 .Fn EDIPARTYNAME_new ,
139 .Xr X509_EXTENSION_new 3 ,
142 RFC 5280: Internet X.509 Public Key Infrastructure Certificate and
143 Certificate Revocation List (CRL) Profile,
144 section 4.2: Certificate Extensions