1*c5d247d8Sjsg.\" $OpenBSD: d2i_OCSP_RESPONSE.3,v 1.4 2021/03/12 05:18:00 jsg Exp $ 27e47ed8bSschwarze.\" 37e47ed8bSschwarze.\" Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> 47e47ed8bSschwarze.\" 57e47ed8bSschwarze.\" Permission to use, copy, modify, and distribute this software for any 67e47ed8bSschwarze.\" purpose with or without fee is hereby granted, provided that the above 77e47ed8bSschwarze.\" copyright notice and this permission notice appear in all copies. 87e47ed8bSschwarze.\" 97e47ed8bSschwarze.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 107e47ed8bSschwarze.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 117e47ed8bSschwarze.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 127e47ed8bSschwarze.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 137e47ed8bSschwarze.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 147e47ed8bSschwarze.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 157e47ed8bSschwarze.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 167e47ed8bSschwarze.\" 17*c5d247d8Sjsg.Dd $Mdocdate: March 12 2021 $ 187e47ed8bSschwarze.Dt D2I_OCSP_RESPONSE 3 197e47ed8bSschwarze.Os 207e47ed8bSschwarze.Sh NAME 217e47ed8bSschwarze.Nm d2i_OCSP_RESPONSE , 227e47ed8bSschwarze.Nm i2d_OCSP_RESPONSE , 237e47ed8bSschwarze.Nm d2i_OCSP_RESPBYTES , 247e47ed8bSschwarze.Nm i2d_OCSP_RESPBYTES , 257e47ed8bSschwarze.Nm d2i_OCSP_BASICRESP , 267e47ed8bSschwarze.Nm i2d_OCSP_BASICRESP , 277e47ed8bSschwarze.Nm d2i_OCSP_RESPDATA , 287e47ed8bSschwarze.Nm i2d_OCSP_RESPDATA , 297e47ed8bSschwarze.Nm d2i_OCSP_RESPID , 307e47ed8bSschwarze.Nm i2d_OCSP_RESPID , 317e47ed8bSschwarze.Nm d2i_OCSP_SINGLERESP , 327e47ed8bSschwarze.Nm i2d_OCSP_SINGLERESP , 337e47ed8bSschwarze.Nm d2i_OCSP_CERTSTATUS , 347e47ed8bSschwarze.Nm i2d_OCSP_CERTSTATUS , 357e47ed8bSschwarze.Nm d2i_OCSP_REVOKEDINFO , 367e47ed8bSschwarze.Nm i2d_OCSP_REVOKEDINFO , 377e47ed8bSschwarze.Nm d2i_OCSP_CRLID , 387e47ed8bSschwarze.Nm i2d_OCSP_CRLID 397e47ed8bSschwarze.Nd decode and encode OCSP responses 407e47ed8bSschwarze.Sh SYNOPSIS 417e47ed8bSschwarze.In openssl/ocsp.h 427e47ed8bSschwarze.Ft OCSP_RESPONSE * 437e47ed8bSschwarze.Fo d2i_OCSP_RESPONSE 447e47ed8bSschwarze.Fa "OCSP_RESPONSE **val_out" 457e47ed8bSschwarze.Fa "const unsigned char **der_in" 467e47ed8bSschwarze.Fa "long length" 477e47ed8bSschwarze.Fc 487e47ed8bSschwarze.Ft int 497e47ed8bSschwarze.Fo i2d_OCSP_RESPONSE 507e47ed8bSschwarze.Fa "OCSP_RESPONSE *val_in" 517e47ed8bSschwarze.Fa "unsigned char **der_out" 527e47ed8bSschwarze.Fc 537e47ed8bSschwarze.Ft OCSP_RESPBYTES * 547e47ed8bSschwarze.Fo d2i_OCSP_RESPBYTES 557e47ed8bSschwarze.Fa "OCSP_RESPBYTES **val_out" 567e47ed8bSschwarze.Fa "const unsigned char **der_in" 577e47ed8bSschwarze.Fa "long length" 587e47ed8bSschwarze.Fc 597e47ed8bSschwarze.Ft int 607e47ed8bSschwarze.Fo i2d_OCSP_RESPBYTES 617e47ed8bSschwarze.Fa "OCSP_RESPBYTES *val_in" 627e47ed8bSschwarze.Fa "unsigned char **der_out" 637e47ed8bSschwarze.Fc 647e47ed8bSschwarze.Ft OCSP_BASICRESP * 657e47ed8bSschwarze.Fo d2i_OCSP_BASICRESP 667e47ed8bSschwarze.Fa "OCSP_BASICRESP **val_out" 677e47ed8bSschwarze.Fa "const unsigned char **der_in" 687e47ed8bSschwarze.Fa "long length" 697e47ed8bSschwarze.Fc 707e47ed8bSschwarze.Ft int 717e47ed8bSschwarze.Fo i2d_OCSP_BASICRESP 727e47ed8bSschwarze.Fa "OCSP_BASICRESP *val_in" 737e47ed8bSschwarze.Fa "unsigned char **der_out" 747e47ed8bSschwarze.Fc 757e47ed8bSschwarze.Ft OCSP_RESPDATA * 767e47ed8bSschwarze.Fo d2i_OCSP_RESPDATA 777e47ed8bSschwarze.Fa "OCSP_RESPDATA **val_out" 787e47ed8bSschwarze.Fa "const unsigned char **der_in" 797e47ed8bSschwarze.Fa "long length" 807e47ed8bSschwarze.Fc 817e47ed8bSschwarze.Ft int 827e47ed8bSschwarze.Fo i2d_OCSP_RESPDATA 837e47ed8bSschwarze.Fa "OCSP_RESPDATA *val_in" 847e47ed8bSschwarze.Fa "unsigned char **der_out" 857e47ed8bSschwarze.Fc 867e47ed8bSschwarze.Ft OCSP_RESPID * 877e47ed8bSschwarze.Fo d2i_OCSP_RESPID 887e47ed8bSschwarze.Fa "OCSP_RESPID **val_out" 897e47ed8bSschwarze.Fa "const unsigned char **der_in" 907e47ed8bSschwarze.Fa "long length" 917e47ed8bSschwarze.Fc 927e47ed8bSschwarze.Ft int 937e47ed8bSschwarze.Fo i2d_OCSP_RESPID 947e47ed8bSschwarze.Fa "OCSP_RESPID *val_in" 957e47ed8bSschwarze.Fa "unsigned char **der_out" 967e47ed8bSschwarze.Fc 977e47ed8bSschwarze.Ft OCSP_SINGLERESP * 987e47ed8bSschwarze.Fo d2i_OCSP_SINGLERESP 997e47ed8bSschwarze.Fa "OCSP_SINGLERESP **val_out" 1007e47ed8bSschwarze.Fa "const unsigned char **der_in" 1017e47ed8bSschwarze.Fa "long length" 1027e47ed8bSschwarze.Fc 1037e47ed8bSschwarze.Ft int 1047e47ed8bSschwarze.Fo i2d_OCSP_SINGLERESP 1057e47ed8bSschwarze.Fa "OCSP_SINGLERESP *val_in" 1067e47ed8bSschwarze.Fa "unsigned char **der_out" 1077e47ed8bSschwarze.Fc 1087e47ed8bSschwarze.Ft OCSP_CERTSTATUS * 1097e47ed8bSschwarze.Fo d2i_OCSP_CERTSTATUS 1107e47ed8bSschwarze.Fa "OCSP_CERTSTATUS **val_out" 1117e47ed8bSschwarze.Fa "const unsigned char **der_in" 1127e47ed8bSschwarze.Fa "long length" 1137e47ed8bSschwarze.Fc 1147e47ed8bSschwarze.Ft int 1157e47ed8bSschwarze.Fo i2d_OCSP_CERTSTATUS 1167e47ed8bSschwarze.Fa "OCSP_CERTSTATUS *val_in" 1177e47ed8bSschwarze.Fa "unsigned char **der_out" 1187e47ed8bSschwarze.Fc 1197e47ed8bSschwarze.Ft OCSP_REVOKEDINFO * 1207e47ed8bSschwarze.Fo d2i_OCSP_REVOKEDINFO 1217e47ed8bSschwarze.Fa "OCSP_REVOKEDINFO **val_out" 1227e47ed8bSschwarze.Fa "const unsigned char **der_in" 1237e47ed8bSschwarze.Fa "long length" 1247e47ed8bSschwarze.Fc 1257e47ed8bSschwarze.Ft int 1267e47ed8bSschwarze.Fo i2d_OCSP_REVOKEDINFO 1277e47ed8bSschwarze.Fa "OCSP_REVOKEDINFO *val_in" 1287e47ed8bSschwarze.Fa "unsigned char **der_out" 1297e47ed8bSschwarze.Fc 1307e47ed8bSschwarze.Ft OCSP_CRLID * 1317e47ed8bSschwarze.Fo d2i_OCSP_CRLID 1327e47ed8bSschwarze.Fa "OCSP_CRLID **val_out" 1337e47ed8bSschwarze.Fa "const unsigned char **der_in" 1347e47ed8bSschwarze.Fa "long length" 1357e47ed8bSschwarze.Fc 1367e47ed8bSschwarze.Ft int 1377e47ed8bSschwarze.Fo i2d_OCSP_CRLID 1387e47ed8bSschwarze.Fa "OCSP_CRLID *val_in" 1397e47ed8bSschwarze.Fa "unsigned char **der_out" 1407e47ed8bSschwarze.Fc 1417e47ed8bSschwarze.Sh DESCRIPTION 142*c5d247d8SjsgThese functions decode and encode ASN.1 structures used for OCSP 1437e47ed8bSschwarzeresponses. 1447e47ed8bSschwarzeFor details about the semantics, examples, caveats, and bugs, see 1457e47ed8bSschwarze.Xr ASN1_item_d2i 3 . 1467e47ed8bSschwarze.Pp 1477e47ed8bSschwarze.Fn d2i_OCSP_RESPONSE 1487e47ed8bSschwarzeand 1497e47ed8bSschwarze.Fn i2d_OCSP_RESPONSE 1507e47ed8bSschwarzedecode and encode an ASN.1 1517e47ed8bSschwarze.Vt OCSPResponse 1527e47ed8bSschwarzestructure defined in RFC 6960 section 4.2.1. 1537e47ed8bSschwarze.Pp 1547e47ed8bSschwarze.Fn d2i_OCSP_RESPBYTES 1557e47ed8bSschwarzeand 1567e47ed8bSschwarze.Fn i2d_OCSP_RESPBYTES 1577e47ed8bSschwarzedecode and encode an ASN.1 1587e47ed8bSschwarze.Vt ResponseBytes 1597e47ed8bSschwarzestructure defined in RFC 6960 section 4.2.1. 1607e47ed8bSschwarze.Pp 1617e47ed8bSschwarze.Fn d2i_OCSP_BASICRESP 1627e47ed8bSschwarzeand 1637e47ed8bSschwarze.Fn i2d_OCSP_BASICRESP 1647e47ed8bSschwarzedecode and encode an ASN.1 1657e47ed8bSschwarze.Vt BasicOCSPResponse 1667e47ed8bSschwarzestructure defined in RFC 6960 section 4.2.1. 1677e47ed8bSschwarze.Pp 1687e47ed8bSschwarze.Fn d2i_OCSP_RESPDATA 1697e47ed8bSschwarzeand 1707e47ed8bSschwarze.Fn i2d_OCSP_RESPDATA 1717e47ed8bSschwarzedecode and encode an ASN.1 1727e47ed8bSschwarze.Vt ResponseData 1737e47ed8bSschwarzestructure defined in RFC 6960 section 4.2.1. 1747e47ed8bSschwarze.Pp 1757e47ed8bSschwarze.Fn d2i_OCSP_RESPID 1767e47ed8bSschwarzeand 1777e47ed8bSschwarze.Fn i2d_OCSP_RESPID 1787e47ed8bSschwarzedecode and encode an ASN.1 1797e47ed8bSschwarze.Vt ResponderID 1807e47ed8bSschwarzestructure defined in RFC 6960 section 4.2.1. 1817e47ed8bSschwarze.Pp 1827e47ed8bSschwarze.Fn d2i_OCSP_SINGLERESP 1837e47ed8bSschwarzeand 1847e47ed8bSschwarze.Fn i2d_OCSP_SINGLERESP 1857e47ed8bSschwarzedecode and encode an ASN.1 1867e47ed8bSschwarze.Vt SingleResponse 1877e47ed8bSschwarzestructure defined in RFC 6960 section 4.2.1. 1887e47ed8bSschwarze.Pp 1897e47ed8bSschwarze.Fn d2i_OCSP_CERTSTATUS 1907e47ed8bSschwarzeand 1917e47ed8bSschwarze.Fn i2d_OCSP_CERTSTATUS 1927e47ed8bSschwarzedecode and encode an ASN.1 1937e47ed8bSschwarze.Vt CertStatus 1947e47ed8bSschwarzestructure defined in RFC 6960 section 4.2.1. 1957e47ed8bSschwarze.Pp 1967e47ed8bSschwarze.Fn d2i_OCSP_REVOKEDINFO 1977e47ed8bSschwarzeand 1987e47ed8bSschwarze.Fn i2d_OCSP_REVOKEDINFO 1997e47ed8bSschwarzedecode and encode an ASN.1 2007e47ed8bSschwarze.Vt RevokedInfo 2017e47ed8bSschwarzestructure defined in RFC 6960 section 4.2.1. 2027e47ed8bSschwarze.Pp 2037e47ed8bSschwarze.Fn d2i_OCSP_CRLID 2047e47ed8bSschwarzeand 2057e47ed8bSschwarze.Fn i2d_OCSP_CRLID 2067e47ed8bSschwarzedecode and encode an ASN.1 2077e47ed8bSschwarze.Vt CrlID 2087e47ed8bSschwarzestructure defined in RFC 6960 section 4.4.2. 2097e47ed8bSschwarze.Sh RETURN VALUES 2107e47ed8bSschwarze.Fn d2i_OCSP_RESPONSE , 2117e47ed8bSschwarze.Fn d2i_OCSP_RESPBYTES , 2127e47ed8bSschwarze.Fn d2i_OCSP_BASICRESP , 2137e47ed8bSschwarze.Fn d2i_OCSP_RESPDATA , 2147e47ed8bSschwarze.Fn d2i_OCSP_RESPID , 2157e47ed8bSschwarze.Fn d2i_OCSP_SINGLERESP , 2167e47ed8bSschwarze.Fn d2i_OCSP_CERTSTATUS , 2177e47ed8bSschwarze.Fn d2i_OCSP_REVOKEDINFO , 2187e47ed8bSschwarzeand 2197e47ed8bSschwarze.Fn d2i_OCSP_CRLID 2207e47ed8bSschwarzereturn an object of the respective type or 2217e47ed8bSschwarze.Dv NULL 2227e47ed8bSschwarzeif an error occurs. 2237e47ed8bSschwarze.Pp 2247e47ed8bSschwarze.Fn i2d_OCSP_RESPONSE , 2257e47ed8bSschwarze.Fn i2d_OCSP_RESPBYTES , 2267e47ed8bSschwarze.Fn i2d_OCSP_BASICRESP , 2277e47ed8bSschwarze.Fn i2d_OCSP_RESPDATA , 2287e47ed8bSschwarze.Fn i2d_OCSP_RESPID , 2297e47ed8bSschwarze.Fn i2d_OCSP_SINGLERESP , 2307e47ed8bSschwarze.Fn i2d_OCSP_CERTSTATUS , 2317e47ed8bSschwarze.Fn i2d_OCSP_REVOKEDINFO , 2327e47ed8bSschwarzeand 2337e47ed8bSschwarze.Fn i2d_OCSP_CRLID 2347e47ed8bSschwarzereturn the number of bytes successfully encoded or a negative value 2357e47ed8bSschwarzeif an error occurs. 2367e47ed8bSschwarze.Sh SEE ALSO 2377e47ed8bSschwarze.Xr ASN1_item_d2i 3 , 2387e47ed8bSschwarze.Xr OCSP_CRLID_new 3 , 239c4c55c71Sschwarze.Xr OCSP_REQUEST_new 3 , 2407e47ed8bSschwarze.Xr OCSP_RESPONSE_new 3 , 2417e47ed8bSschwarze.Xr OCSP_SINGLERESP_new 3 2427e47ed8bSschwarze.Sh STANDARDS 2437e47ed8bSschwarzeRFC 6960: X.509 Internet Public Key Infrastructure Online Certificate 2447e47ed8bSschwarzeStatus Protocol, section 4.2: Response Syntax 24580d1afcdSschwarze.Sh HISTORY 24680d1afcdSschwarzeThese functions first appeared in OpenSSL 0.9.7 24780d1afcdSschwarzeand have been available since 24880d1afcdSschwarze.Ox 3.2 . 249