1.\" $OpenBSD: d2i_OCSP_RESPONSE.3,v 1.4 2021/03/12 05:18:00 jsg 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 12 2021 $ 18.Dt D2I_OCSP_RESPONSE 3 19.Os 20.Sh NAME 21.Nm d2i_OCSP_RESPONSE , 22.Nm i2d_OCSP_RESPONSE , 23.Nm d2i_OCSP_RESPBYTES , 24.Nm i2d_OCSP_RESPBYTES , 25.Nm d2i_OCSP_BASICRESP , 26.Nm i2d_OCSP_BASICRESP , 27.Nm d2i_OCSP_RESPDATA , 28.Nm i2d_OCSP_RESPDATA , 29.Nm d2i_OCSP_RESPID , 30.Nm i2d_OCSP_RESPID , 31.Nm d2i_OCSP_SINGLERESP , 32.Nm i2d_OCSP_SINGLERESP , 33.Nm d2i_OCSP_CERTSTATUS , 34.Nm i2d_OCSP_CERTSTATUS , 35.Nm d2i_OCSP_REVOKEDINFO , 36.Nm i2d_OCSP_REVOKEDINFO , 37.Nm d2i_OCSP_CRLID , 38.Nm i2d_OCSP_CRLID 39.Nd decode and encode OCSP responses 40.Sh SYNOPSIS 41.In openssl/ocsp.h 42.Ft OCSP_RESPONSE * 43.Fo d2i_OCSP_RESPONSE 44.Fa "OCSP_RESPONSE **val_out" 45.Fa "const unsigned char **der_in" 46.Fa "long length" 47.Fc 48.Ft int 49.Fo i2d_OCSP_RESPONSE 50.Fa "OCSP_RESPONSE *val_in" 51.Fa "unsigned char **der_out" 52.Fc 53.Ft OCSP_RESPBYTES * 54.Fo d2i_OCSP_RESPBYTES 55.Fa "OCSP_RESPBYTES **val_out" 56.Fa "const unsigned char **der_in" 57.Fa "long length" 58.Fc 59.Ft int 60.Fo i2d_OCSP_RESPBYTES 61.Fa "OCSP_RESPBYTES *val_in" 62.Fa "unsigned char **der_out" 63.Fc 64.Ft OCSP_BASICRESP * 65.Fo d2i_OCSP_BASICRESP 66.Fa "OCSP_BASICRESP **val_out" 67.Fa "const unsigned char **der_in" 68.Fa "long length" 69.Fc 70.Ft int 71.Fo i2d_OCSP_BASICRESP 72.Fa "OCSP_BASICRESP *val_in" 73.Fa "unsigned char **der_out" 74.Fc 75.Ft OCSP_RESPDATA * 76.Fo d2i_OCSP_RESPDATA 77.Fa "OCSP_RESPDATA **val_out" 78.Fa "const unsigned char **der_in" 79.Fa "long length" 80.Fc 81.Ft int 82.Fo i2d_OCSP_RESPDATA 83.Fa "OCSP_RESPDATA *val_in" 84.Fa "unsigned char **der_out" 85.Fc 86.Ft OCSP_RESPID * 87.Fo d2i_OCSP_RESPID 88.Fa "OCSP_RESPID **val_out" 89.Fa "const unsigned char **der_in" 90.Fa "long length" 91.Fc 92.Ft int 93.Fo i2d_OCSP_RESPID 94.Fa "OCSP_RESPID *val_in" 95.Fa "unsigned char **der_out" 96.Fc 97.Ft OCSP_SINGLERESP * 98.Fo d2i_OCSP_SINGLERESP 99.Fa "OCSP_SINGLERESP **val_out" 100.Fa "const unsigned char **der_in" 101.Fa "long length" 102.Fc 103.Ft int 104.Fo i2d_OCSP_SINGLERESP 105.Fa "OCSP_SINGLERESP *val_in" 106.Fa "unsigned char **der_out" 107.Fc 108.Ft OCSP_CERTSTATUS * 109.Fo d2i_OCSP_CERTSTATUS 110.Fa "OCSP_CERTSTATUS **val_out" 111.Fa "const unsigned char **der_in" 112.Fa "long length" 113.Fc 114.Ft int 115.Fo i2d_OCSP_CERTSTATUS 116.Fa "OCSP_CERTSTATUS *val_in" 117.Fa "unsigned char **der_out" 118.Fc 119.Ft OCSP_REVOKEDINFO * 120.Fo d2i_OCSP_REVOKEDINFO 121.Fa "OCSP_REVOKEDINFO **val_out" 122.Fa "const unsigned char **der_in" 123.Fa "long length" 124.Fc 125.Ft int 126.Fo i2d_OCSP_REVOKEDINFO 127.Fa "OCSP_REVOKEDINFO *val_in" 128.Fa "unsigned char **der_out" 129.Fc 130.Ft OCSP_CRLID * 131.Fo d2i_OCSP_CRLID 132.Fa "OCSP_CRLID **val_out" 133.Fa "const unsigned char **der_in" 134.Fa "long length" 135.Fc 136.Ft int 137.Fo i2d_OCSP_CRLID 138.Fa "OCSP_CRLID *val_in" 139.Fa "unsigned char **der_out" 140.Fc 141.Sh DESCRIPTION 142These functions decode and encode ASN.1 structures used for OCSP 143responses. 144For details about the semantics, examples, caveats, and bugs, see 145.Xr ASN1_item_d2i 3 . 146.Pp 147.Fn d2i_OCSP_RESPONSE 148and 149.Fn i2d_OCSP_RESPONSE 150decode and encode an ASN.1 151.Vt OCSPResponse 152structure defined in RFC 6960 section 4.2.1. 153.Pp 154.Fn d2i_OCSP_RESPBYTES 155and 156.Fn i2d_OCSP_RESPBYTES 157decode and encode an ASN.1 158.Vt ResponseBytes 159structure defined in RFC 6960 section 4.2.1. 160.Pp 161.Fn d2i_OCSP_BASICRESP 162and 163.Fn i2d_OCSP_BASICRESP 164decode and encode an ASN.1 165.Vt BasicOCSPResponse 166structure defined in RFC 6960 section 4.2.1. 167.Pp 168.Fn d2i_OCSP_RESPDATA 169and 170.Fn i2d_OCSP_RESPDATA 171decode and encode an ASN.1 172.Vt ResponseData 173structure defined in RFC 6960 section 4.2.1. 174.Pp 175.Fn d2i_OCSP_RESPID 176and 177.Fn i2d_OCSP_RESPID 178decode and encode an ASN.1 179.Vt ResponderID 180structure defined in RFC 6960 section 4.2.1. 181.Pp 182.Fn d2i_OCSP_SINGLERESP 183and 184.Fn i2d_OCSP_SINGLERESP 185decode and encode an ASN.1 186.Vt SingleResponse 187structure defined in RFC 6960 section 4.2.1. 188.Pp 189.Fn d2i_OCSP_CERTSTATUS 190and 191.Fn i2d_OCSP_CERTSTATUS 192decode and encode an ASN.1 193.Vt CertStatus 194structure defined in RFC 6960 section 4.2.1. 195.Pp 196.Fn d2i_OCSP_REVOKEDINFO 197and 198.Fn i2d_OCSP_REVOKEDINFO 199decode and encode an ASN.1 200.Vt RevokedInfo 201structure defined in RFC 6960 section 4.2.1. 202.Pp 203.Fn d2i_OCSP_CRLID 204and 205.Fn i2d_OCSP_CRLID 206decode and encode an ASN.1 207.Vt CrlID 208structure defined in RFC 6960 section 4.4.2. 209.Sh RETURN VALUES 210.Fn d2i_OCSP_RESPONSE , 211.Fn d2i_OCSP_RESPBYTES , 212.Fn d2i_OCSP_BASICRESP , 213.Fn d2i_OCSP_RESPDATA , 214.Fn d2i_OCSP_RESPID , 215.Fn d2i_OCSP_SINGLERESP , 216.Fn d2i_OCSP_CERTSTATUS , 217.Fn d2i_OCSP_REVOKEDINFO , 218and 219.Fn d2i_OCSP_CRLID 220return an object of the respective type or 221.Dv NULL 222if an error occurs. 223.Pp 224.Fn i2d_OCSP_RESPONSE , 225.Fn i2d_OCSP_RESPBYTES , 226.Fn i2d_OCSP_BASICRESP , 227.Fn i2d_OCSP_RESPDATA , 228.Fn i2d_OCSP_RESPID , 229.Fn i2d_OCSP_SINGLERESP , 230.Fn i2d_OCSP_CERTSTATUS , 231.Fn i2d_OCSP_REVOKEDINFO , 232and 233.Fn i2d_OCSP_CRLID 234return the number of bytes successfully encoded or a negative value 235if an error occurs. 236.Sh SEE ALSO 237.Xr ASN1_item_d2i 3 , 238.Xr OCSP_CRLID_new 3 , 239.Xr OCSP_REQUEST_new 3 , 240.Xr OCSP_RESPONSE_new 3 , 241.Xr OCSP_SINGLERESP_new 3 242.Sh STANDARDS 243RFC 6960: X.509 Internet Public Key Infrastructure Online Certificate 244Status Protocol, section 4.2: Response Syntax 245.Sh HISTORY 246These functions first appeared in OpenSSL 0.9.7 247and have been available since 248.Ox 3.2 . 249