#define ASN1_i2d_bio_of_const(type,i2d,out,x) \
((int (*)(I2D_OF_const(type),BIO *,const type *))openssl_fcast(ASN1_i2d_bio))(i2d,out,x)
int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x);
-int ASN1_UTCTIME_print(BIO *fp,ASN1_UTCTIME *a);
-int ASN1_GENERALIZEDTIME_print(BIO *fp,ASN1_GENERALIZEDTIME *a);
-int ASN1_TIME_print(BIO *fp,ASN1_TIME *a);
-int ASN1_STRING_print(BIO *bp,ASN1_STRING *v);
+int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a);
+int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a);
+int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a);
+int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v);
int ASN1_STRING_print_ex(BIO *out, ASN1_STRING *str, unsigned long flags);
int ASN1_parse(BIO *bp,const unsigned char *pp,long len,int indent);
int ASN1_parse_dump(BIO *bp,const unsigned char *pp,long len,int indent,int dump);
return 1;
}
-int ASN1_STRING_print(BIO *bp, ASN1_STRING *v)
+int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v)
{
int i,n;
- char buf[80],*p;;
+ char buf[80];
+ const char *p;
if (v == NULL) return(0);
n=0;
- p=(char *)v->data;
+ p=(const char *)v->data;
for (i=0; i<v->length; i++)
{
if ((p[i] > '~') || ((p[i] < ' ') &&
return(1);
}
-int ASN1_TIME_print(BIO *bp, ASN1_TIME *tm)
+int ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm)
{
if(tm->type == V_ASN1_UTCTIME) return ASN1_UTCTIME_print(bp, tm);
if(tm->type == V_ASN1_GENERALIZEDTIME)
"Jul","Aug","Sep","Oct","Nov","Dec"
};
-int ASN1_GENERALIZEDTIME_print(BIO *bp, ASN1_GENERALIZEDTIME *tm)
+int ASN1_GENERALIZEDTIME_print(BIO *bp, const ASN1_GENERALIZEDTIME *tm)
{
char *v;
int gmt=0;
return(0);
}
-int ASN1_UTCTIME_print(BIO *bp, ASN1_UTCTIME *tm)
+int ASN1_UTCTIME_print(BIO *bp, const ASN1_UTCTIME *tm)
{
- char *v;
+ const char *v;
int gmt=0;
int i;
int y=0,M=0,d=0,h=0,m=0,s=0;
i=tm->length;
- v=(char *)tm->data;
+ v=(const char *)tm->data;
if (i < 10) goto err;
if (v[i-1] == 'Z') gmt=1;
void ERR_load_TS_strings(void);
int TS_REQ_set_version(TS_REQ *a, long version);
-long TS_REQ_get_version(TS_REQ *a);
+long TS_REQ_get_version(const TS_REQ *a);
int TS_REQ_set_msg_imprint(TS_REQ *a, TS_MSG_IMPRINT *msg_imprint);
TS_MSG_IMPRINT *TS_REQ_get_msg_imprint(TS_REQ *a);
int TS_REQ_set_policy_id(TS_REQ *a, ASN1_OBJECT *policy);
ASN1_OBJECT *TS_REQ_get_policy_id(TS_REQ *a);
-int TS_REQ_set_nonce(TS_REQ *a, ASN1_INTEGER *nonce);
-ASN1_INTEGER *TS_REQ_get_nonce(TS_REQ *a);
+int TS_REQ_set_nonce(TS_REQ *a, const ASN1_INTEGER *nonce);
+const ASN1_INTEGER *TS_REQ_get_nonce(const TS_REQ *a);
int TS_REQ_set_cert_req(TS_REQ *a, int cert_req);
-int TS_REQ_get_cert_req(TS_REQ *a);
+int TS_REQ_get_cert_req(const TS_REQ *a);
STACK_OF(X509_EXTENSION) *TS_REQ_get_exts(TS_REQ *a);
void TS_REQ_ext_free(TS_REQ *a);
TS_TST_INFO *TS_RESP_get_tst_info(TS_RESP *a);
int TS_TST_INFO_set_version(TS_TST_INFO *a, long version);
-long TS_TST_INFO_get_version(TS_TST_INFO *a);
+long TS_TST_INFO_get_version(const TS_TST_INFO *a);
int TS_TST_INFO_set_policy_id(TS_TST_INFO *a, ASN1_OBJECT *policy_id);
ASN1_OBJECT *TS_TST_INFO_get_policy_id(TS_TST_INFO *a);
int TS_TST_INFO_set_msg_imprint(TS_TST_INFO *a, TS_MSG_IMPRINT *msg_imprint);
TS_MSG_IMPRINT *TS_TST_INFO_get_msg_imprint(TS_TST_INFO *a);
-int TS_TST_INFO_set_serial(TS_TST_INFO *a, ASN1_INTEGER *serial);
-ASN1_INTEGER *TS_TST_INFO_get_serial(TS_TST_INFO *a);
+int TS_TST_INFO_set_serial(TS_TST_INFO *a, const ASN1_INTEGER *serial);
+const ASN1_INTEGER *TS_TST_INFO_get_serial(const TS_TST_INFO *a);
-int TS_TST_INFO_set_time(TS_TST_INFO *a, ASN1_GENERALIZEDTIME *gtime);
-ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(TS_TST_INFO *a);
+int TS_TST_INFO_set_time(TS_TST_INFO *a, const ASN1_GENERALIZEDTIME *gtime);
+const ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(const TS_TST_INFO *a);
int TS_TST_INFO_set_accuracy(TS_TST_INFO *a, TS_ACCURACY *accuracy);
TS_ACCURACY *TS_TST_INFO_get_accuracy(TS_TST_INFO *a);
-int TS_ACCURACY_set_seconds(TS_ACCURACY *a, ASN1_INTEGER *seconds);
-ASN1_INTEGER *TS_ACCURACY_get_seconds(TS_ACCURACY *a);
+int TS_ACCURACY_set_seconds(TS_ACCURACY *a, const ASN1_INTEGER *seconds);
+const ASN1_INTEGER *TS_ACCURACY_get_seconds(const TS_ACCURACY *a);
-int TS_ACCURACY_set_millis(TS_ACCURACY *a, ASN1_INTEGER *millis);
-ASN1_INTEGER *TS_ACCURACY_get_millis(TS_ACCURACY *a);
+int TS_ACCURACY_set_millis(TS_ACCURACY *a, const ASN1_INTEGER *millis);
+const ASN1_INTEGER *TS_ACCURACY_get_millis(const TS_ACCURACY *a);
-int TS_ACCURACY_set_micros(TS_ACCURACY *a, ASN1_INTEGER *micros);
-ASN1_INTEGER *TS_ACCURACY_get_micros(TS_ACCURACY *a);
+int TS_ACCURACY_set_micros(TS_ACCURACY *a, const ASN1_INTEGER *micros);
+const ASN1_INTEGER *TS_ACCURACY_get_micros(const TS_ACCURACY *a);
int TS_TST_INFO_set_ordering(TS_TST_INFO *a, int ordering);
-int TS_TST_INFO_get_ordering(TS_TST_INFO *a);
+int TS_TST_INFO_get_ordering(const TS_TST_INFO *a);
-int TS_TST_INFO_set_nonce(TS_TST_INFO *a, ASN1_INTEGER *nonce);
-ASN1_INTEGER *TS_TST_INFO_get_nonce(TS_TST_INFO *a);
+int TS_TST_INFO_set_nonce(TS_TST_INFO *a, const ASN1_INTEGER *nonce);
+const ASN1_INTEGER *TS_TST_INFO_get_nonce(const TS_TST_INFO *a);
int TS_TST_INFO_set_tsa(TS_TST_INFO *a, GENERAL_NAME *tsa);
GENERAL_NAME *TS_TST_INFO_get_tsa(TS_TST_INFO *a);
/* Common utility functions defined in ts/ts_lib.c */
-int TS_ASN1_INTEGER_print_bio(BIO *bio, ASN1_INTEGER *num);
-int TS_OBJ_print_bio(BIO *bio, ASN1_OBJECT *obj);
-int TS_ext_print_bio(BIO *bio, STACK_OF(X509_EXTENSION) *extensions);
-int TS_X509_ALGOR_print_bio(BIO *bio, X509_ALGOR *alg);
+int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num);
+int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj);
+int TS_ext_print_bio(BIO *bio, const STACK_OF(X509_EXTENSION) *extensions);
+int TS_X509_ALGOR_print_bio(BIO *bio, const X509_ALGOR *alg);
int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *msg);
/* Function declarations for handling configuration options,
/* Function definitions. */
-int TS_ASN1_INTEGER_print_bio(BIO *bio, ASN1_INTEGER *num)
+int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num)
{
BIGNUM num_bn;
int result = 0;
return result;
}
-int TS_OBJ_print_bio(BIO *bio, ASN1_OBJECT *obj)
+int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj)
{
char obj_txt[128];
return 1;
}
-int TS_ext_print_bio(BIO *bio, STACK_OF(X509_EXTENSION) *extensions)
+int TS_ext_print_bio(BIO *bio, const STACK_OF(X509_EXTENSION) *extensions)
{
int i, critical, n;
X509_EXTENSION *ex;
return 1;
}
-int TS_X509_ALGOR_print_bio(BIO *bio, X509_ALGOR *alg)
+int TS_X509_ALGOR_print_bio(BIO *bio, const X509_ALGOR *alg)
{
int i = OBJ_obj2nid(alg->algorithm);
return BIO_printf(bio, "Hash Algorithm: %s\n",
int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *a)
{
- ASN1_OCTET_STRING *msg;
+ const ASN1_OCTET_STRING *msg;
TS_X509_ALGOR_print_bio(bio, TS_MSG_IMPRINT_get_algo(a));
{
int v;
ASN1_OBJECT *policy_id;
- ASN1_INTEGER *nonce;
+ const ASN1_INTEGER *nonce;
if (a == NULL) return 0;
return ASN1_INTEGER_set(a->version, version);
}
-long TS_REQ_get_version(TS_REQ *a)
+long TS_REQ_get_version(const TS_REQ *a)
{
return ASN1_INTEGER_get(a->version);
}
return a->policy_id;
}
-int TS_REQ_set_nonce(TS_REQ *a, ASN1_INTEGER *nonce)
+int TS_REQ_set_nonce(TS_REQ *a, const ASN1_INTEGER *nonce)
{
ASN1_INTEGER *new_nonce;
return 1;
}
-ASN1_INTEGER *TS_REQ_get_nonce(TS_REQ *a)
+const ASN1_INTEGER *TS_REQ_get_nonce(const TS_REQ *a)
{
return a->nonce;
}
return 1;
}
-int TS_REQ_get_cert_req(TS_REQ *a)
+int TS_REQ_get_cert_req(const TS_REQ *a)
{
return a->cert_req ? 1 : 0;
}
static int TS_status_map_print(BIO *bio, struct status_map_st *a,
ASN1_BIT_STRING *v);
-static int TS_ACCURACY_print_bio(BIO *bio, TS_ACCURACY *accuracy);
+static int TS_ACCURACY_print_bio(BIO *bio, const TS_ACCURACY *accuracy);
/* Function definitions. */
{
int v;
ASN1_OBJECT *policy_id;
- ASN1_INTEGER *serial;
- ASN1_GENERALIZEDTIME *gtime;
+ const ASN1_INTEGER *serial;
+ const ASN1_GENERALIZEDTIME *gtime;
TS_ACCURACY *accuracy;
- ASN1_INTEGER *nonce;
+ const ASN1_INTEGER *nonce;
GENERAL_NAME *tsa_name;
if (a == NULL) return 0;
return 1;
}
-static int TS_ACCURACY_print_bio(BIO *bio, TS_ACCURACY *accuracy)
+static int TS_ACCURACY_print_bio(BIO *bio, const TS_ACCURACY *accuracy)
{
- ASN1_INTEGER *seconds = TS_ACCURACY_get_seconds(accuracy);
- ASN1_INTEGER *millis = TS_ACCURACY_get_millis(accuracy);
- ASN1_INTEGER *micros = TS_ACCURACY_get_micros(accuracy);
+ const ASN1_INTEGER *seconds = TS_ACCURACY_get_seconds(accuracy);
+ const ASN1_INTEGER *millis = TS_ACCURACY_get_millis(accuracy);
+ const ASN1_INTEGER *micros = TS_ACCURACY_get_micros(accuracy);
if (seconds != NULL)
TS_ASN1_INTEGER_print_bio(bio, seconds);
TS_MSG_IMPRINT *msg_imprint;
X509_ALGOR *md_alg;
int md_alg_id;
- ASN1_OCTET_STRING *digest;
+ const ASN1_OCTET_STRING *digest;
EVP_MD *md = NULL;
int i;
ASN1_GENERALIZEDTIME *asn1_time = NULL;
long sec, usec;
TS_ACCURACY *accuracy = NULL;
- ASN1_INTEGER *nonce;
+ const ASN1_INTEGER *nonce;
GENERAL_NAME *tsa_name = NULL;
if (!(tst_info = TS_TST_INFO_new())) goto end;
return ASN1_INTEGER_set(a->version, version);
}
-long TS_TST_INFO_get_version(TS_TST_INFO *a)
+long TS_TST_INFO_get_version(const TS_TST_INFO *a)
{
return ASN1_INTEGER_get(a->version);
}
return a->msg_imprint;
}
-int TS_TST_INFO_set_serial(TS_TST_INFO *a, ASN1_INTEGER *serial)
+int TS_TST_INFO_set_serial(TS_TST_INFO *a, const ASN1_INTEGER *serial)
{
ASN1_INTEGER *new_serial;
return 1;
}
-ASN1_INTEGER *TS_TST_INFO_get_serial(TS_TST_INFO *a)
+const ASN1_INTEGER *TS_TST_INFO_get_serial(const TS_TST_INFO *a)
{
return a->serial;
}
-int TS_TST_INFO_set_time(TS_TST_INFO *a, ASN1_GENERALIZEDTIME *gtime)
+int TS_TST_INFO_set_time(TS_TST_INFO *a, const ASN1_GENERALIZEDTIME *gtime)
{
ASN1_GENERALIZEDTIME *new_time;
return 1;
}
-ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(TS_TST_INFO *a)
+const ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(const TS_TST_INFO *a)
{
return a->time;
}
return a->accuracy;
}
-int TS_ACCURACY_set_seconds(TS_ACCURACY *a, ASN1_INTEGER *seconds)
+int TS_ACCURACY_set_seconds(TS_ACCURACY *a, const ASN1_INTEGER *seconds)
{
ASN1_INTEGER *new_seconds;
return 1;
}
-ASN1_INTEGER *TS_ACCURACY_get_seconds(TS_ACCURACY *a)
+const ASN1_INTEGER *TS_ACCURACY_get_seconds(const TS_ACCURACY *a)
{
return a->seconds;
}
-int TS_ACCURACY_set_millis(TS_ACCURACY *a, ASN1_INTEGER *millis)
+int TS_ACCURACY_set_millis(TS_ACCURACY *a, const ASN1_INTEGER *millis)
{
ASN1_INTEGER *new_millis = NULL;
return 1;
}
-ASN1_INTEGER *TS_ACCURACY_get_millis(TS_ACCURACY *a)
+const ASN1_INTEGER *TS_ACCURACY_get_millis(const TS_ACCURACY *a)
{
return a->millis;
}
-int TS_ACCURACY_set_micros(TS_ACCURACY *a, ASN1_INTEGER *micros)
+int TS_ACCURACY_set_micros(TS_ACCURACY *a, const ASN1_INTEGER *micros)
{
ASN1_INTEGER *new_micros = NULL;
return 1;
}
-ASN1_INTEGER *TS_ACCURACY_get_micros(TS_ACCURACY *a)
+const ASN1_INTEGER *TS_ACCURACY_get_micros(const TS_ACCURACY *a)
{
return a->micros;
}
return 1;
}
-int TS_TST_INFO_get_ordering(TS_TST_INFO *a)
+int TS_TST_INFO_get_ordering(const TS_TST_INFO *a)
{
return a->ordering ? 1 : 0;
}
-int TS_TST_INFO_set_nonce(TS_TST_INFO *a, ASN1_INTEGER *nonce)
+int TS_TST_INFO_set_nonce(TS_TST_INFO *a, const ASN1_INTEGER *nonce)
{
ASN1_INTEGER *new_nonce;
return 1;
}
-ASN1_INTEGER *TS_TST_INFO_get_nonce(TS_TST_INFO *a)
+const ASN1_INTEGER *TS_TST_INFO_get_nonce(const TS_TST_INFO *a)
{
return a->nonce;
}
static int TS_check_imprints(X509_ALGOR *algor_a,
unsigned char *imprint_a, unsigned len_a,
TS_TST_INFO *tst_info);
-static int TS_check_nonces(ASN1_INTEGER *a, TS_TST_INFO *tst_info);
+static int TS_check_nonces(const ASN1_INTEGER *a, TS_TST_INFO *tst_info);
static int TS_check_signer_name(GENERAL_NAME *tsa_name, X509 *signer);
static int TS_find_name(STACK_OF(GENERAL_NAME) *gen_names, GENERAL_NAME *name);
return ret;
}
-static int TS_check_nonces(ASN1_INTEGER *a, TS_TST_INFO *tst_info)
+static int TS_check_nonces(const ASN1_INTEGER *a, TS_TST_INFO *tst_info)
{
- ASN1_INTEGER *b = TS_TST_INFO_get_nonce(tst_info);
+ const ASN1_INTEGER *b = TS_TST_INFO_get_nonce(tst_info);
/* Error if nonce is missing. */
if (!b)
TS_MSG_IMPRINT *imprint;
X509_ALGOR *md_alg;
ASN1_OCTET_STRING *msg;
- ASN1_INTEGER *nonce;
+ const ASN1_INTEGER *nonce;
assert(req != NULL);
if (ret)