Sortix nightly manual
This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
| 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_fp —
    decode 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).
d2i_TS_REQ()
    and
    i2d_TS_REQ()
    decode and encode an ASN.1 TimeStampReq structure
    defined in RFC 3161 section 2.4.1.
    d2i_TS_REQ_bio(),
    i2d_TS_REQ_bio(),
    d2i_TS_REQ_fp(),
    and
    i2d_TS_REQ_fp()
    are similar except that they decode or encode using a
    BIO or FILE pointer.
d2i_TS_RESP()
    and
    i2d_TS_RESP()
    decode and encode an ASN.1 TimeStampResp structure
    defined in RFC 3161 section 2.4.2.
    d2i_TS_RESP_bio(),
    i2d_TS_RESP_bio(),
    d2i_TS_RESP_fp(),
    and
    i2d_TS_RESP_fp()
    are similar except that they decode or encode using a
    BIO or FILE pointer.
d2i_TS_STATUS_INFO()
    and
    i2d_TS_STATUS_INFO()
    decode and encode an ASN.1 PKIStatusInfo structure
    defined in RFC 3161 section 2.4.2.
d2i_TS_TST_INFO()
    and
    i2d_TS_TST_INFO()
    decode and encode an ASN.1 TSTInfo structure defined
    in RFC 3161 section 2.4.2.
    d2i_TS_TST_INFO_bio(),
    i2d_TS_TST_INFO_bio(),
    d2i_TS_TST_INFO_fp(),
    and
    i2d_TS_TST_INFO_fp()
    are similar except that they decode or encode using a
    BIO or FILE pointer.
d2i_TS_ACCURACY()
    and
    i2d_TS_ACCURACY()
    decode and encode an ASN.1 Accuracy structure defined
    in RFC 3161 section 2.4.2.
d2i_TS_MSG_IMPRINT()
    and
    i2d_TS_MSG_IMPRINT()
    decode and encode an ASN.1 MessageImprint structure
    defined in RFC 3161 section 2.4.1.
    d2i_TS_MSG_IMPRINT_bio(),
    i2d_TS_MSG_IMPRINT_bio(),
    d2i_TS_MSG_IMPRINT_fp(),
    and
    i2d_TS_MSG_IMPRINT_fp()
    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
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 | Sortix 1.1.0-dev | 
