1.\" $OpenBSD: d2i_DIST_POINT.3,v 1.4 2018/03/23 04:34:23 schwarze Exp $ 2.\" 3.\" Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> 4.\" 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. 8.\" 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. 16.\" 17.Dd $Mdocdate: March 23 2018 $ 18.Dt D2I_DIST_POINT 3 19.Os 20.Sh NAME 21.Nm d2i_DIST_POINT , 22.Nm i2d_DIST_POINT , 23.Nm d2i_CRL_DIST_POINTS , 24.Nm i2d_CRL_DIST_POINTS , 25.Nm d2i_DIST_POINT_NAME , 26.Nm i2d_DIST_POINT_NAME , 27.Nm d2i_ISSUING_DIST_POINT , 28.Nm i2d_ISSUING_DIST_POINT , 29.Nm d2i_ACCESS_DESCRIPTION , 30.Nm i2d_ACCESS_DESCRIPTION , 31.Nm d2i_AUTHORITY_INFO_ACCESS , 32.Nm i2d_AUTHORITY_INFO_ACCESS 33.Nd decode and encode X.509 data access extensions 34.Sh SYNOPSIS 35.In openssl/x509v3.h 36.Ft DIST_POINT * 37.Fo d2i_DIST_POINT 38.Fa "DIST_POINT_NAME **val_out" 39.Fa "const unsigned char **der_in" 40.Fa "long length" 41.Fc 42.Ft int 43.Fo i2d_DIST_POINT 44.Fa "DIST_POINT *val_in" 45.Fa "unsigned char **der_out" 46.Fc 47.Ft CRL_DIST_POINTS * 48.Fo d2i_CRL_DIST_POINTS 49.Fa "CRL_DIST_POINTS_NAME **val_out" 50.Fa "const unsigned char **der_in" 51.Fa "long length" 52.Fc 53.Ft int 54.Fo i2d_CRL_DIST_POINTS 55.Fa "CRL_DIST_POINTS *val_in" 56.Fa "unsigned char **der_out" 57.Fc 58.Ft DIST_POINT_NAME * 59.Fo d2i_DIST_POINT_NAME 60.Fa "DIST_POINT_NAME_NAME **val_out" 61.Fa "const unsigned char **der_in" 62.Fa "long length" 63.Fc 64.Ft int 65.Fo i2d_DIST_POINT_NAME 66.Fa "DIST_POINT_NAME *val_in" 67.Fa "unsigned char **der_out" 68.Fc 69.Ft ISSUING_DIST_POINT * 70.Fo d2i_ISSUING_DIST_POINT 71.Fa "ISSUING_DIST_POINT_NAME **val_out" 72.Fa "const unsigned char **der_in" 73.Fa "long length" 74.Fc 75.Ft int 76.Fo i2d_ISSUING_DIST_POINT 77.Fa "ISSUING_DIST_POINT *val_in" 78.Fa "unsigned char **der_out" 79.Fc 80.Ft ACCESS_DESCRIPTION * 81.Fo d2i_ACCESS_DESCRIPTION 82.Fa "ACCESS_DESCRIPTION_NAME **val_out" 83.Fa "const unsigned char **der_in" 84.Fa "long length" 85.Fc 86.Ft int 87.Fo i2d_ACCESS_DESCRIPTION 88.Fa "ACCESS_DESCRIPTION *val_in" 89.Fa "unsigned char **der_out" 90.Fc 91.Ft AUTHORITY_INFO_ACCESS * 92.Fo d2i_AUTHORITY_INFO_ACCESS 93.Fa "AUTHORITY_INFO_ACCESS_NAME **val_out" 94.Fa "const unsigned char **der_in" 95.Fa "long length" 96.Fc 97.Ft int 98.Fo i2d_AUTHORITY_INFO_ACCESS 99.Fa "AUTHORITY_INFO_ACCESS *val_in" 100.Fa "unsigned char **der_out" 101.Fc 102.Sh DESCRIPTION 103These functions decode and encode X.509 extensions that communicate 104where to retrieve additional information online. 105For details about the semantics, examples, caveats, and bugs, see 106.Xr ASN1_item_d2i 3 . 107.Pp 108.Fn d2i_DIST_POINT 109and 110.Fn i2d_DIST_POINT 111decode and encode an ASN.1 112.Vt DistributionPoint 113structure defined in RFC 5280 section 4.2.1.13. 114.Pp 115.Fn d2i_CRL_DIST_POINTS 116and 117.Fn i2d_CRL_DIST_POINTS 118decode and encode an ASN.1 119.Vt CRLDistributionPoints 120structure defined in RFC 5280 section 4.2.1.13. 121.Pp 122.Fn d2i_DIST_POINT_NAME 123and 124.Fn i2d_DIST_POINT_NAME 125decode and encode an ASN.1 126.Vt DistributionPointName 127structure defined in RFC 5280 section 4.2.1.13. 128.Pp 129.Fn d2i_ISSUING_DIST_POINT 130and 131.Fn i2d_ISSUING_DIST_POINT 132decode and encode an ASN.1 133.Vt IssuingDistributionPoint 134structure defined in RFC 5280 section 5.2.5. 135.Pp 136.Fn d2i_ACCESS_DESCRIPTION 137and 138.Fn i2d_ACCESS_DESCRIPTION 139decode and encode an ASN.1 140.Vt AccessDescription 141structure defined in RFC 5280 section 4.2.2.1. 142.Pp 143.Fn d2i_AUTHORITY_INFO_ACCESS 144and 145.Fn i2d_AUTHORITY_INFO_ACCESS 146decode and encode an ASN.1 147.Vt AuthorityInfoAccessSyntax 148structure defined in RFC 5280 section 4.2.2.1. 149.Sh RETURN VALUES 150.Fn d2i_DIST_POINT , 151.Fn d2i_CRL_DIST_POINTS , 152.Fn d2i_DIST_POINT_NAME , 153.Fn d2i_ISSUING_DIST_POINT , 154.Fn d2i_ACCESS_DESCRIPTION , 155and 156.Fn d2i_AUTHORITY_INFO_ACCESS 157return an object of the respective type or 158.Dv NULL 159if an error occurs. 160.Pp 161.Fn i2d_DIST_POINT , 162.Fn i2d_CRL_DIST_POINTS , 163.Fn i2d_DIST_POINT_NAME , 164.Fn i2d_ISSUING_DIST_POINT , 165.Fn i2d_ACCESS_DESCRIPTION , 166and 167.Fn i2d_AUTHORITY_INFO_ACCESS 168return the number of bytes successfully encoded or a negative value 169if an error occurs. 170.Sh SEE ALSO 171.Xr ACCESS_DESCRIPTION_new 3 , 172.Xr ASN1_item_d2i 3 , 173.Xr DIST_POINT_new 3 , 174.Xr X509_EXTENSION_new 3 175.Sh STANDARDS 176RFC 5280: Internet X.509 Public Key Infrastructure Certificate and 177Certificate Revocation List (CRL) Profile 178.Sh HISTORY 179.Fn d2i_DIST_POINT , 180.Fn i2d_DIST_POINT , 181.Fn d2i_CRL_DIST_POINTS , 182.Fn i2d_CRL_DIST_POINTS , 183.Fn d2i_DIST_POINT_NAME , 184and 185.Fn i2d_DIST_POINT_NAME 186first appeared in OpenSSL 0.9.3 and have been available since 187.Ox 2.6 . 188.Pp 189.Fn d2i_ACCESS_DESCRIPTION , 190.Fn i2d_ACCESS_DESCRIPTION , 191.Fn d2i_AUTHORITY_INFO_ACCESS , 192and 193.Fn i2d_AUTHORITY_INFO_ACCESS 194first appeared in OpenSSL 0.9.5 and have been available since 195.Ox 2.7 . 196.Pp 197.Fn d2i_ISSUING_DIST_POINT 198and 199.Fn i2d_ISSUING_DIST_POINT 200first appeared in OpenSSL 1.0.0 and have been available since 201.Ox 4.9 . 202