Scroll to navigation

D2I_TS_REQ(3) Library Functions Manual D2I_TS_REQ(3)

NAME

d2i_TS_REQ, i2d_TS_REQ, d2i_TS_REQ_bio, i2d_TS_REQ_bio, d2i_TS_REQ_fp, i2d_TS_REQ_fp, d2i_TS_RESP, i2d_TS_RESP, d2i_TS_RESP_bio, i2d_TS_RESP_bio, d2i_TS_RESP_fp, i2d_TS_RESP_fp, d2i_TS_STATUS_INFO, i2d_TS_STATUS_INFO, d2i_TS_TST_INFO, i2d_TS_TST_INFO, d2i_TS_TST_INFO_bio, i2d_TS_TST_INFO_bio, d2i_TS_TST_INFO_fp, i2d_TS_TST_INFO_fp, d2i_TS_ACCURACY, i2d_TS_ACCURACY, d2i_TS_MSG_IMPRINT, i2d_TS_MSG_IMPRINT, d2i_TS_MSG_IMPRINT_bio, i2d_TS_MSG_IMPRINT_bio, d2i_TS_MSG_IMPRINT_fp, i2d_TS_MSG_IMPRINT_fpdecode and encode X.509 time-stamp protocol structures

SYNOPSIS

#include <openssl/ts.h>

TS_REQ *
d2i_TS_REQ(TS_REQ **val_out, const unsigned char **der_in, long length);

int
i2d_TS_REQ(const TS_REQ *val_in, unsigned char **der_out);

TS_REQ *
d2i_TS_REQ_bio(BIO *in_bio, TS_REQ **val_out);

int
i2d_TS_REQ_bio(BIO *out_bio, TS_REQ *val_in);

TS_REQ *
d2i_TS_REQ_fp(FILE *in_fp, TS_REQ **val_out);

int
i2d_TS_REQ_fp(FILE *out_fp, TS_REQ *val_in);

TS_RESP *
d2i_TS_RESP(TS_RESP **val_out, const unsigned char **der_in, long length);

int
i2d_TS_RESP(const TS_RESP *val_in, unsigned char **der_out);

TS_RESP *
d2i_TS_RESP_bio(BIO *in_bio, TS_RESP **val_out);

int
i2d_TS_RESP_bio(BIO *out_bio, TS_RESP *val_in);

TS_RESP *
d2i_TS_RESP_fp(FILE *in_fp, TS_RESP **val_out);

int
i2d_TS_RESP_fp(FILE *out_fp, TS_RESP *val_in);

TS_STATUS_INFO *
d2i_TS_STATUS_INFO(TS_STATUS_INFO **val_out, const unsigned char **der_in, long length);

int
i2d_TS_STATUS_INFO(const TS_STATUS_INFO *val_in, unsigned char **der_out);

TS_TST_INFO *
d2i_TS_TST_INFO(TS_TST_INFO **val_out, const unsigned char **der_in, long length);

int
i2d_TS_TST_INFO(const TS_TST_INFO *val_in, unsigned char **der_out);

TS_TST_INFO *
d2i_TS_TST_INFO_bio(BIO *in_bio, TS_TST_INFO **val_out);

int
i2d_TS_TST_INFO_bio(BIO *out_bio, TS_TST_INFO *val_in);

TS_TST_INFO *
d2i_TS_TST_INFO_fp(FILE *in_fp, TS_TST_INFO **val_out);

int
i2d_TS_TST_INFO_fp(FILE *out_fp, TS_TST_INFO *val_in);

TS_ACCURACY *
d2i_TS_ACCURACY(TS_ACCURACY **val_out, const unsigned char **der_in, long length);

int
i2d_TS_ACCURACY(const TS_ACCURACY *val_in, unsigned char **der_out);

TS_MSG_IMPRINT *
d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **val_out, const unsigned char **der_in, long length);

int
i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *val_in, unsigned char **der_out);

TS_MSG_IMPRINT *
d2i_TS_MSG_IMPRINT_bio(BIO *in_bio, TS_MSG_IMPRINT **val_out);

int
i2d_TS_MSG_IMPRINT_bio(BIO *out_bio, TS_MSG_IMPRINT *val_in);

TS_MSG_IMPRINT *
d2i_TS_MSG_IMPRINT_fp(FILE *in_fp, TS_MSG_IMPRINT **val_out);

int
i2d_TS_MSG_IMPRINT_fp(FILE *out_fp, TS_MSG_IMPRINT *val_in);

DESCRIPTION

These functions decode and encode X.509 structures used for the time-stamp protocol. For details about the semantics, examples, caveats, and bugs, see ASN1_item_d2i(3).

() and () decode and encode an ASN.1 TimeStampReq structure defined in RFC 3161 section 2.4.1. (), (), (), and () are similar except that they decode or encode using a BIO or FILE pointer.

() and () decode and encode an ASN.1 TimeStampResp structure defined in RFC 3161 section 2.4.2. (), (), (), and () are similar except that they decode or encode using a BIO or FILE pointer.

() and () decode and encode an ASN.1 PKIStatusInfo structure defined in RFC 3161 section 2.4.2.

() and () decode and encode an ASN.1 TSTInfo structure defined in RFC 3161 section 2.4.2. (), (), (), and () are similar except that they decode or encode using a BIO or FILE pointer.

() and () decode and encode an ASN.1 Accuracy structure defined in RFC 3161 section 2.4.2.

() and () decode and encode an ASN.1 MessageImprint structure defined in RFC 3161 section 2.4.1. (), (), (), and () are similar except that they decode or encode using a BIO or FILE pointer.

RETURN VALUES

d2i_TS_REQ(), d2i_TS_REQ_bio(), d2i_TS_REQ_fp(), d2i_TS_RESP(), d2i_TS_RESP_bio(), d2i_TS_RESP_fp(), d2i_TS_STATUS_INFO(), d2i_TS_TST_INFO(), d2i_TS_TST_INFO_bio(), d2i_TS_TST_INFO_fp(), d2i_TS_ACCURACY(), d2i_TS_MSG_IMPRINT(), d2i_TS_MSG_IMPRINT_bio(), and d2i_TS_MSG_IMPRINT_fp() return an object of the respective type or NULL if an error occurs.

i2d_TS_REQ(), i2d_TS_RESP(), i2d_TS_STATUS_INFO(), i2d_TS_TST_INFO(), i2d_TS_ACCURACY(), and i2d_TS_MSG_IMPRINT() return the number of bytes successfully encoded or a negative value if an error occurs.

i2d_TS_REQ_bio(), i2d_TS_REQ_fp(), i2d_TS_RESP_bio(), i2d_TS_RESP_fp(), i2d_TS_TST_INFO_bio(), i2d_TS_TST_INFO_fp(), i2d_TS_MSG_IMPRINT_bio(), and i2d_TS_MSG_IMPRINT_fp() return 1 for success or 0 if an error occurs.

SEE ALSO

ASN1_item_d2i(3), TS_REQ_new(3)

STANDARDS

RFC 3161: Internet X.509 Public Key Infrastructure Time-Stamp Protocol

HISTORY

These functions first appeared in OpenSSL 1.0.0 and have been available since OpenBSD 4.9.

March 23, 2018 Linux 6.4.0-150600.23.25-default