xref: /openbsd-src/lib/libcrypto/man/d2i_TS_REQ.3 (revision 56929f715bd5fc8d3d16d15fbc2ecf4028a27606)
1*56929f71Sschwarze.\"	$OpenBSD: d2i_TS_REQ.3,v 1.2 2018/03/23 04:34:23 schwarze Exp $
2ed978f4aSschwarze.\"
3ed978f4aSschwarze.\" Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org>
4ed978f4aSschwarze.\"
5ed978f4aSschwarze.\" Permission to use, copy, modify, and distribute this software for any
6ed978f4aSschwarze.\" purpose with or without fee is hereby granted, provided that the above
7ed978f4aSschwarze.\" copyright notice and this permission notice appear in all copies.
8ed978f4aSschwarze.\"
9ed978f4aSschwarze.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10ed978f4aSschwarze.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11ed978f4aSschwarze.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12ed978f4aSschwarze.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13ed978f4aSschwarze.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14ed978f4aSschwarze.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15ed978f4aSschwarze.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16ed978f4aSschwarze.\"
17*56929f71Sschwarze.Dd $Mdocdate: March 23 2018 $
18ed978f4aSschwarze.Dt D2I_TS_REQ 3
19ed978f4aSschwarze.Os
20ed978f4aSschwarze.Sh NAME
21ed978f4aSschwarze.Nm d2i_TS_REQ ,
22ed978f4aSschwarze.Nm i2d_TS_REQ ,
23ed978f4aSschwarze.Nm d2i_TS_REQ_bio ,
24ed978f4aSschwarze.Nm i2d_TS_REQ_bio ,
25ed978f4aSschwarze.Nm d2i_TS_REQ_fp ,
26ed978f4aSschwarze.Nm i2d_TS_REQ_fp ,
27ed978f4aSschwarze.Nm d2i_TS_RESP ,
28ed978f4aSschwarze.Nm i2d_TS_RESP ,
29ed978f4aSschwarze.Nm d2i_TS_RESP_bio ,
30ed978f4aSschwarze.Nm i2d_TS_RESP_bio ,
31ed978f4aSschwarze.Nm d2i_TS_RESP_fp ,
32ed978f4aSschwarze.Nm i2d_TS_RESP_fp ,
33ed978f4aSschwarze.Nm d2i_TS_STATUS_INFO ,
34ed978f4aSschwarze.Nm i2d_TS_STATUS_INFO ,
35ed978f4aSschwarze.Nm d2i_TS_TST_INFO ,
36ed978f4aSschwarze.Nm i2d_TS_TST_INFO ,
37ed978f4aSschwarze.Nm d2i_TS_TST_INFO_bio ,
38ed978f4aSschwarze.Nm i2d_TS_TST_INFO_bio ,
39ed978f4aSschwarze.Nm d2i_TS_TST_INFO_fp ,
40ed978f4aSschwarze.Nm i2d_TS_TST_INFO_fp ,
41ed978f4aSschwarze.Nm d2i_TS_ACCURACY ,
42ed978f4aSschwarze.Nm i2d_TS_ACCURACY ,
43ed978f4aSschwarze.Nm d2i_TS_MSG_IMPRINT ,
44ed978f4aSschwarze.Nm i2d_TS_MSG_IMPRINT ,
45ed978f4aSschwarze.Nm d2i_TS_MSG_IMPRINT_bio ,
46ed978f4aSschwarze.Nm i2d_TS_MSG_IMPRINT_bio ,
47ed978f4aSschwarze.Nm d2i_TS_MSG_IMPRINT_fp ,
48ed978f4aSschwarze.Nm i2d_TS_MSG_IMPRINT_fp
49ed978f4aSschwarze.Nd decode and encode X.509 time-stamp protocol structures
50ed978f4aSschwarze.Sh SYNOPSIS
51ed978f4aSschwarze.In openssl/ts.h
52ed978f4aSschwarze.Ft TS_REQ *
53ed978f4aSschwarze.Fo d2i_TS_REQ
54ed978f4aSschwarze.Fa "TS_REQ **val_out"
55ed978f4aSschwarze.Fa "const unsigned char **der_in"
56ed978f4aSschwarze.Fa "long length"
57ed978f4aSschwarze.Fc
58ed978f4aSschwarze.Ft int
59ed978f4aSschwarze.Fo i2d_TS_REQ
60ed978f4aSschwarze.Fa "const TS_REQ *val_in"
61ed978f4aSschwarze.Fa "unsigned char **der_out"
62ed978f4aSschwarze.Fc
63ed978f4aSschwarze.Ft TS_REQ *
64ed978f4aSschwarze.Fo d2i_TS_REQ_bio
65ed978f4aSschwarze.Fa "BIO *in_bio"
66ed978f4aSschwarze.Fa "TS_REQ **val_out"
67ed978f4aSschwarze.Fc
68ed978f4aSschwarze.Ft int
69ed978f4aSschwarze.Fo i2d_TS_REQ_bio
70ed978f4aSschwarze.Fa "BIO *out_bio"
71ed978f4aSschwarze.Fa "TS_REQ *val_in"
72ed978f4aSschwarze.Fc
73ed978f4aSschwarze.Ft TS_REQ *
74ed978f4aSschwarze.Fo d2i_TS_REQ_fp
75ed978f4aSschwarze.Fa "FILE *in_fp"
76ed978f4aSschwarze.Fa "TS_REQ **val_out"
77ed978f4aSschwarze.Fc
78ed978f4aSschwarze.Ft int
79ed978f4aSschwarze.Fo i2d_TS_REQ_fp
80ed978f4aSschwarze.Fa "FILE *out_fp"
81ed978f4aSschwarze.Fa "TS_REQ *val_in"
82ed978f4aSschwarze.Fc
83ed978f4aSschwarze.Ft TS_RESP *
84ed978f4aSschwarze.Fo d2i_TS_RESP
85ed978f4aSschwarze.Fa "TS_RESP **val_out"
86ed978f4aSschwarze.Fa "const unsigned char **der_in"
87ed978f4aSschwarze.Fa "long length"
88ed978f4aSschwarze.Fc
89ed978f4aSschwarze.Ft int
90ed978f4aSschwarze.Fo i2d_TS_RESP
91ed978f4aSschwarze.Fa "const TS_RESP *val_in"
92ed978f4aSschwarze.Fa "unsigned char **der_out"
93ed978f4aSschwarze.Fc
94ed978f4aSschwarze.Ft TS_RESP *
95ed978f4aSschwarze.Fo d2i_TS_RESP_bio
96ed978f4aSschwarze.Fa "BIO *in_bio"
97ed978f4aSschwarze.Fa "TS_RESP **val_out"
98ed978f4aSschwarze.Fc
99ed978f4aSschwarze.Ft int
100ed978f4aSschwarze.Fo i2d_TS_RESP_bio
101ed978f4aSschwarze.Fa "BIO *out_bio"
102ed978f4aSschwarze.Fa "TS_RESP *val_in"
103ed978f4aSschwarze.Fc
104ed978f4aSschwarze.Ft TS_RESP *
105ed978f4aSschwarze.Fo d2i_TS_RESP_fp
106ed978f4aSschwarze.Fa "FILE *in_fp"
107ed978f4aSschwarze.Fa "TS_RESP **val_out"
108ed978f4aSschwarze.Fc
109ed978f4aSschwarze.Ft int
110ed978f4aSschwarze.Fo i2d_TS_RESP_fp
111ed978f4aSschwarze.Fa "FILE *out_fp"
112ed978f4aSschwarze.Fa "TS_RESP *val_in"
113ed978f4aSschwarze.Fc
114ed978f4aSschwarze.Ft TS_STATUS_INFO *
115ed978f4aSschwarze.Fo d2i_TS_STATUS_INFO
116ed978f4aSschwarze.Fa "TS_STATUS_INFO **val_out"
117ed978f4aSschwarze.Fa "const unsigned char **der_in"
118ed978f4aSschwarze.Fa "long length"
119ed978f4aSschwarze.Fc
120ed978f4aSschwarze.Ft int
121ed978f4aSschwarze.Fo i2d_TS_STATUS_INFO
122ed978f4aSschwarze.Fa "const TS_STATUS_INFO *val_in"
123ed978f4aSschwarze.Fa "unsigned char **der_out"
124ed978f4aSschwarze.Fc
125ed978f4aSschwarze.Ft TS_TST_INFO *
126ed978f4aSschwarze.Fo d2i_TS_TST_INFO
127ed978f4aSschwarze.Fa "TS_TST_INFO **val_out"
128ed978f4aSschwarze.Fa "const unsigned char **der_in"
129ed978f4aSschwarze.Fa "long length"
130ed978f4aSschwarze.Fc
131ed978f4aSschwarze.Ft int
132ed978f4aSschwarze.Fo i2d_TS_TST_INFO
133ed978f4aSschwarze.Fa "const TS_TST_INFO *val_in"
134ed978f4aSschwarze.Fa "unsigned char **der_out"
135ed978f4aSschwarze.Fc
136ed978f4aSschwarze.Ft TS_TST_INFO *
137ed978f4aSschwarze.Fo d2i_TS_TST_INFO_bio
138ed978f4aSschwarze.Fa "BIO *in_bio"
139ed978f4aSschwarze.Fa "TS_TST_INFO **val_out"
140ed978f4aSschwarze.Fc
141ed978f4aSschwarze.Ft int
142ed978f4aSschwarze.Fo i2d_TS_TST_INFO_bio
143ed978f4aSschwarze.Fa "BIO *out_bio"
144ed978f4aSschwarze.Fa "TS_TST_INFO *val_in"
145ed978f4aSschwarze.Fc
146ed978f4aSschwarze.Ft TS_TST_INFO *
147ed978f4aSschwarze.Fo d2i_TS_TST_INFO_fp
148ed978f4aSschwarze.Fa "FILE *in_fp"
149ed978f4aSschwarze.Fa "TS_TST_INFO **val_out"
150ed978f4aSschwarze.Fc
151ed978f4aSschwarze.Ft int
152ed978f4aSschwarze.Fo i2d_TS_TST_INFO_fp
153ed978f4aSschwarze.Fa "FILE *out_fp"
154ed978f4aSschwarze.Fa "TS_TST_INFO *val_in"
155ed978f4aSschwarze.Fc
156ed978f4aSschwarze.Ft TS_ACCURACY *
157ed978f4aSschwarze.Fo d2i_TS_ACCURACY
158ed978f4aSschwarze.Fa "TS_ACCURACY **val_out"
159ed978f4aSschwarze.Fa "const unsigned char **der_in"
160ed978f4aSschwarze.Fa "long length"
161ed978f4aSschwarze.Fc
162ed978f4aSschwarze.Ft int
163ed978f4aSschwarze.Fo i2d_TS_ACCURACY
164ed978f4aSschwarze.Fa "const TS_ACCURACY *val_in"
165ed978f4aSschwarze.Fa "unsigned char **der_out"
166ed978f4aSschwarze.Fc
167ed978f4aSschwarze.Ft TS_MSG_IMPRINT *
168ed978f4aSschwarze.Fo d2i_TS_MSG_IMPRINT
169ed978f4aSschwarze.Fa "TS_MSG_IMPRINT **val_out"
170ed978f4aSschwarze.Fa "const unsigned char **der_in"
171ed978f4aSschwarze.Fa "long length"
172ed978f4aSschwarze.Fc
173ed978f4aSschwarze.Ft int
174ed978f4aSschwarze.Fo i2d_TS_MSG_IMPRINT
175ed978f4aSschwarze.Fa "const TS_MSG_IMPRINT *val_in"
176ed978f4aSschwarze.Fa "unsigned char **der_out"
177ed978f4aSschwarze.Fc
178ed978f4aSschwarze.Ft TS_MSG_IMPRINT *
179ed978f4aSschwarze.Fo d2i_TS_MSG_IMPRINT_bio
180ed978f4aSschwarze.Fa "BIO *in_bio"
181ed978f4aSschwarze.Fa "TS_MSG_IMPRINT **val_out"
182ed978f4aSschwarze.Fc
183ed978f4aSschwarze.Ft int
184ed978f4aSschwarze.Fo i2d_TS_MSG_IMPRINT_bio
185ed978f4aSschwarze.Fa "BIO *out_bio"
186ed978f4aSschwarze.Fa "TS_MSG_IMPRINT *val_in"
187ed978f4aSschwarze.Fc
188ed978f4aSschwarze.Ft TS_MSG_IMPRINT *
189ed978f4aSschwarze.Fo d2i_TS_MSG_IMPRINT_fp
190ed978f4aSschwarze.Fa "FILE *in_fp"
191ed978f4aSschwarze.Fa "TS_MSG_IMPRINT **val_out"
192ed978f4aSschwarze.Fc
193ed978f4aSschwarze.Ft int
194ed978f4aSschwarze.Fo i2d_TS_MSG_IMPRINT_fp
195ed978f4aSschwarze.Fa "FILE *out_fp"
196ed978f4aSschwarze.Fa "TS_MSG_IMPRINT *val_in"
197ed978f4aSschwarze.Fc
198ed978f4aSschwarze.Sh DESCRIPTION
199ed978f4aSschwarzeThese functions decode and encode X.509 structures used for the
200ed978f4aSschwarzetime-stamp protocol.
201ed978f4aSschwarzeFor details about the semantics, examples, caveats, and bugs, see
202ed978f4aSschwarze.Xr ASN1_item_d2i 3 .
203ed978f4aSschwarze.Pp
204ed978f4aSschwarze.Fn d2i_TS_REQ
205ed978f4aSschwarzeand
206ed978f4aSschwarze.Fn i2d_TS_REQ
207ed978f4aSschwarzedecode and encode an ASN.1
208ed978f4aSschwarze.Vt TimeStampReq
209ed978f4aSschwarzestructure defined in RFC 3161 section 2.4.1.
210ed978f4aSschwarze.Fn d2i_TS_REQ_bio ,
211ed978f4aSschwarze.Fn i2d_TS_REQ_bio ,
212ed978f4aSschwarze.Fn d2i_TS_REQ_fp ,
213ed978f4aSschwarzeand
214ed978f4aSschwarze.Fn i2d_TS_REQ_fp
215ed978f4aSschwarzeare similar except that they decode or encode using a
216ed978f4aSschwarze.Vt BIO
217ed978f4aSschwarzeor
218ed978f4aSschwarze.Vt FILE
219ed978f4aSschwarzepointer.
220ed978f4aSschwarze.Pp
221ed978f4aSschwarze.Fn d2i_TS_RESP
222ed978f4aSschwarzeand
223ed978f4aSschwarze.Fn i2d_TS_RESP
224ed978f4aSschwarzedecode and encode an ASN.1
225ed978f4aSschwarze.Vt TimeStampResp
226ed978f4aSschwarzestructure defined in RFC 3161 section 2.4.2.
227ed978f4aSschwarze.Fn d2i_TS_RESP_bio ,
228ed978f4aSschwarze.Fn i2d_TS_RESP_bio ,
229ed978f4aSschwarze.Fn d2i_TS_RESP_fp ,
230ed978f4aSschwarzeand
231ed978f4aSschwarze.Fn i2d_TS_RESP_fp
232ed978f4aSschwarzeare similar except that they decode or encode using a
233ed978f4aSschwarze.Vt BIO
234ed978f4aSschwarzeor
235ed978f4aSschwarze.Vt FILE
236ed978f4aSschwarzepointer.
237ed978f4aSschwarze.Pp
238ed978f4aSschwarze.Fn d2i_TS_STATUS_INFO
239ed978f4aSschwarzeand
240ed978f4aSschwarze.Fn i2d_TS_STATUS_INFO
241ed978f4aSschwarzedecode and encode an ASN.1
242ed978f4aSschwarze.Vt PKIStatusInfo
243ed978f4aSschwarzestructure defined in RFC 3161 section 2.4.2.
244ed978f4aSschwarze.Pp
245ed978f4aSschwarze.Fn d2i_TS_TST_INFO
246ed978f4aSschwarzeand
247ed978f4aSschwarze.Fn i2d_TS_TST_INFO
248ed978f4aSschwarzedecode and encode an ASN.1
249ed978f4aSschwarze.Vt TSTInfo
250ed978f4aSschwarzestructure defined in RFC 3161 section 2.4.2.
251ed978f4aSschwarze.Fn d2i_TS_TST_INFO_bio ,
252ed978f4aSschwarze.Fn i2d_TS_TST_INFO_bio ,
253ed978f4aSschwarze.Fn d2i_TS_TST_INFO_fp ,
254ed978f4aSschwarzeand
255ed978f4aSschwarze.Fn i2d_TS_TST_INFO_fp
256ed978f4aSschwarzeare similar except that they decode or encode using a
257ed978f4aSschwarze.Vt BIO
258ed978f4aSschwarzeor
259ed978f4aSschwarze.Vt FILE
260ed978f4aSschwarzepointer.
261ed978f4aSschwarze.Pp
262ed978f4aSschwarze.Fn d2i_TS_ACCURACY
263ed978f4aSschwarzeand
264ed978f4aSschwarze.Fn i2d_TS_ACCURACY
265ed978f4aSschwarzedecode and encode an ASN.1
266ed978f4aSschwarze.Vt Accuracy
267ed978f4aSschwarzestructure defined in RFC 3161 section 2.4.2.
268ed978f4aSschwarze.Pp
269ed978f4aSschwarze.Fn d2i_TS_MSG_IMPRINT
270ed978f4aSschwarzeand
271ed978f4aSschwarze.Fn i2d_TS_MSG_IMPRINT
272ed978f4aSschwarzedecode and encode an ASN.1
273ed978f4aSschwarze.Vt MessageImprint
274ed978f4aSschwarzestructure defined in RFC 3161 section 2.4.1.
275ed978f4aSschwarze.Fn d2i_TS_MSG_IMPRINT_bio ,
276ed978f4aSschwarze.Fn i2d_TS_MSG_IMPRINT_bio ,
277ed978f4aSschwarze.Fn d2i_TS_MSG_IMPRINT_fp ,
278ed978f4aSschwarzeand
279ed978f4aSschwarze.Fn i2d_TS_MSG_IMPRINT_fp
280ed978f4aSschwarzeare similar except that they decode or encode using a
281ed978f4aSschwarze.Vt BIO
282ed978f4aSschwarzeor
283ed978f4aSschwarze.Vt FILE
284ed978f4aSschwarzepointer.
285ed978f4aSschwarze.Sh RETURN VALUES
286ed978f4aSschwarze.Fn d2i_TS_REQ ,
287ed978f4aSschwarze.Fn d2i_TS_REQ_bio ,
288ed978f4aSschwarze.Fn d2i_TS_REQ_fp ,
289ed978f4aSschwarze.Fn d2i_TS_RESP ,
290ed978f4aSschwarze.Fn d2i_TS_RESP_bio ,
291ed978f4aSschwarze.Fn d2i_TS_RESP_fp ,
292ed978f4aSschwarze.Fn d2i_TS_STATUS_INFO ,
293ed978f4aSschwarze.Fn d2i_TS_TST_INFO ,
294ed978f4aSschwarze.Fn d2i_TS_TST_INFO_bio ,
295ed978f4aSschwarze.Fn d2i_TS_TST_INFO_fp ,
296ed978f4aSschwarze.Fn d2i_TS_ACCURACY ,
297ed978f4aSschwarze.Fn d2i_TS_MSG_IMPRINT ,
298ed978f4aSschwarze.Fn d2i_TS_MSG_IMPRINT_bio ,
299ed978f4aSschwarzeand
300ed978f4aSschwarze.Fn d2i_TS_MSG_IMPRINT_fp
301ed978f4aSschwarzereturn an object of the respective type or
302ed978f4aSschwarze.Dv NULL
303ed978f4aSschwarzeif an error occurs.
304ed978f4aSschwarze.Pp
305ed978f4aSschwarze.Fn i2d_TS_REQ ,
306ed978f4aSschwarze.Fn i2d_TS_RESP ,
307ed978f4aSschwarze.Fn i2d_TS_STATUS_INFO ,
308ed978f4aSschwarze.Fn i2d_TS_TST_INFO ,
309ed978f4aSschwarze.Fn i2d_TS_ACCURACY ,
310ed978f4aSschwarzeand
311ed978f4aSschwarze.Fn i2d_TS_MSG_IMPRINT
312ed978f4aSschwarzereturn the number of bytes successfully encoded or a negative value
313ed978f4aSschwarzeif an error occurs.
314ed978f4aSschwarze.Pp
315ed978f4aSschwarze.Fn i2d_TS_REQ_bio ,
316ed978f4aSschwarze.Fn i2d_TS_REQ_fp ,
317ed978f4aSschwarze.Fn i2d_TS_RESP_bio ,
318ed978f4aSschwarze.Fn i2d_TS_RESP_fp ,
319ed978f4aSschwarze.Fn i2d_TS_TST_INFO_bio ,
320ed978f4aSschwarze.Fn i2d_TS_TST_INFO_fp ,
321ed978f4aSschwarze.Fn i2d_TS_MSG_IMPRINT_bio ,
322ed978f4aSschwarzeand
323ed978f4aSschwarze.Fn i2d_TS_MSG_IMPRINT_fp
324ed978f4aSschwarzereturn 1 for success or 0 if an error occurs.
325ed978f4aSschwarze.Sh SEE ALSO
326ed978f4aSschwarze.Xr ASN1_item_d2i 3 ,
327ed978f4aSschwarze.Xr TS_REQ_new 3
328ed978f4aSschwarze.Sh STANDARDS
329ed978f4aSschwarzeRFC 3161: Internet X.509 Public Key Infrastructure Time-Stamp Protocol
330*56929f71Sschwarze.Sh HISTORY
331*56929f71SschwarzeThese functions first appeared in OpenSSL 1.0.0
332*56929f71Sschwarzeand have been available since
333*56929f71Sschwarze.Ox 4.9 .
334