1 .\" $OpenBSD: d2i_TS_REQ.3,v 1.1 2016/12/27 20:56:18 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 27 2016 $
33 .Nm d2i_TS_STATUS_INFO ,
34 .Nm i2d_TS_STATUS_INFO ,
37 .Nm d2i_TS_TST_INFO_bio ,
38 .Nm i2d_TS_TST_INFO_bio ,
39 .Nm d2i_TS_TST_INFO_fp ,
40 .Nm i2d_TS_TST_INFO_fp ,
43 .Nm d2i_TS_MSG_IMPRINT ,
44 .Nm i2d_TS_MSG_IMPRINT ,
45 .Nm d2i_TS_MSG_IMPRINT_bio ,
46 .Nm i2d_TS_MSG_IMPRINT_bio ,
47 .Nm d2i_TS_MSG_IMPRINT_fp ,
48 .Nm i2d_TS_MSG_IMPRINT_fp
49 .Nd decode and encode X.509 time-stamp protocol structures
54 .Fa "TS_REQ **val_out"
55 .Fa "const unsigned char **der_in"
60 .Fa "const TS_REQ *val_in"
61 .Fa "unsigned char **der_out"
66 .Fa "TS_REQ **val_out"
76 .Fa "TS_REQ **val_out"
85 .Fa "TS_RESP **val_out"
86 .Fa "const unsigned char **der_in"
91 .Fa "const TS_RESP *val_in"
92 .Fa "unsigned char **der_out"
97 .Fa "TS_RESP **val_out"
102 .Fa "TS_RESP *val_in"
107 .Fa "TS_RESP **val_out"
112 .Fa "TS_RESP *val_in"
115 .Fo d2i_TS_STATUS_INFO
116 .Fa "TS_STATUS_INFO **val_out"
117 .Fa "const unsigned char **der_in"
121 .Fo i2d_TS_STATUS_INFO
122 .Fa "const TS_STATUS_INFO *val_in"
123 .Fa "unsigned char **der_out"
127 .Fa "TS_TST_INFO **val_out"
128 .Fa "const unsigned char **der_in"
133 .Fa "const TS_TST_INFO *val_in"
134 .Fa "unsigned char **der_out"
137 .Fo d2i_TS_TST_INFO_bio
139 .Fa "TS_TST_INFO **val_out"
142 .Fo i2d_TS_TST_INFO_bio
144 .Fa "TS_TST_INFO *val_in"
147 .Fo d2i_TS_TST_INFO_fp
149 .Fa "TS_TST_INFO **val_out"
152 .Fo i2d_TS_TST_INFO_fp
154 .Fa "TS_TST_INFO *val_in"
158 .Fa "TS_ACCURACY **val_out"
159 .Fa "const unsigned char **der_in"
164 .Fa "const TS_ACCURACY *val_in"
165 .Fa "unsigned char **der_out"
168 .Fo d2i_TS_MSG_IMPRINT
169 .Fa "TS_MSG_IMPRINT **val_out"
170 .Fa "const unsigned char **der_in"
174 .Fo i2d_TS_MSG_IMPRINT
175 .Fa "const TS_MSG_IMPRINT *val_in"
176 .Fa "unsigned char **der_out"
179 .Fo d2i_TS_MSG_IMPRINT_bio
181 .Fa "TS_MSG_IMPRINT **val_out"
184 .Fo i2d_TS_MSG_IMPRINT_bio
186 .Fa "TS_MSG_IMPRINT *val_in"
189 .Fo d2i_TS_MSG_IMPRINT_fp
191 .Fa "TS_MSG_IMPRINT **val_out"
194 .Fo i2d_TS_MSG_IMPRINT_fp
196 .Fa "TS_MSG_IMPRINT *val_in"
199 These functions decode and encode X.509 structures used for the
201 For details about the semantics, examples, caveats, and bugs, see
202 .Xr ASN1_item_d2i 3 .
207 decode and encode an ASN.1
209 structure defined in RFC 3161 section 2.4.1.
215 are similar except that they decode or encode using a
224 decode and encode an ASN.1
226 structure defined in RFC 3161 section 2.4.2.
227 .Fn d2i_TS_RESP_bio ,
228 .Fn i2d_TS_RESP_bio ,
232 are similar except that they decode or encode using a
238 .Fn d2i_TS_STATUS_INFO
240 .Fn i2d_TS_STATUS_INFO
241 decode and encode an ASN.1
243 structure defined in RFC 3161 section 2.4.2.
248 decode and encode an ASN.1
250 structure defined in RFC 3161 section 2.4.2.
251 .Fn d2i_TS_TST_INFO_bio ,
252 .Fn i2d_TS_TST_INFO_bio ,
253 .Fn d2i_TS_TST_INFO_fp ,
255 .Fn i2d_TS_TST_INFO_fp
256 are similar except that they decode or encode using a
265 decode and encode an ASN.1
267 structure defined in RFC 3161 section 2.4.2.
269 .Fn d2i_TS_MSG_IMPRINT
271 .Fn i2d_TS_MSG_IMPRINT
272 decode and encode an ASN.1
274 structure defined in RFC 3161 section 2.4.1.
275 .Fn d2i_TS_MSG_IMPRINT_bio ,
276 .Fn i2d_TS_MSG_IMPRINT_bio ,
277 .Fn d2i_TS_MSG_IMPRINT_fp ,
279 .Fn i2d_TS_MSG_IMPRINT_fp
280 are similar except that they decode or encode using a
290 .Fn d2i_TS_RESP_bio ,
292 .Fn d2i_TS_STATUS_INFO ,
293 .Fn d2i_TS_TST_INFO ,
294 .Fn d2i_TS_TST_INFO_bio ,
295 .Fn d2i_TS_TST_INFO_fp ,
296 .Fn d2i_TS_ACCURACY ,
297 .Fn d2i_TS_MSG_IMPRINT ,
298 .Fn d2i_TS_MSG_IMPRINT_bio ,
300 .Fn d2i_TS_MSG_IMPRINT_fp
301 return an object of the respective type or
307 .Fn i2d_TS_STATUS_INFO ,
308 .Fn i2d_TS_TST_INFO ,
309 .Fn i2d_TS_ACCURACY ,
311 .Fn i2d_TS_MSG_IMPRINT
312 return the number of bytes successfully encoded or a negative value
317 .Fn i2d_TS_RESP_bio ,
319 .Fn i2d_TS_TST_INFO_bio ,
320 .Fn i2d_TS_TST_INFO_fp ,
321 .Fn i2d_TS_MSG_IMPRINT_bio ,
323 .Fn i2d_TS_MSG_IMPRINT_fp
324 return 1 for success or 0 if an error occurs.
326 .Xr ASN1_item_d2i 3 ,
329 RFC 3161: Internet X.509 Public Key Infrastructure Time-Stamp Protocol