Codebase list libcryptx-perl / a4f721f
DSA wycheproof Karel Miko 6 years ago
1 changed file(s) with 12 addition(s) and 5 deletion(s). Raw diff Collapse all Expand all
9797 {
9898 int err;
9999 void *r, *s;
100 ltc_asn1_list sig_seq[2];
101 unsigned long reallen = 0;
100102
101103 if ((err = mp_init_multi(&r, &s, NULL)) != CRYPT_OK) {
102104 return err;
103105 }
104106
105 /* decode the sequence */
106 if ((err = der_decode_sequence_multi(sig, siglen,
107 LTC_ASN1_INTEGER, 1UL, r,
108 LTC_ASN1_INTEGER, 1UL, s,
109 LTC_ASN1_EOL, 0UL, NULL)) != CRYPT_OK) {
107 LTC_SET_ASN1(sig_seq, 0, LTC_ASN1_INTEGER, r, 1UL);
108 LTC_SET_ASN1(sig_seq, 1, LTC_ASN1_INTEGER, s, 1UL);
109
110 err = der_decode_sequence(sig, siglen, sig_seq, 2);
111 if (err != CRYPT_OK) {
112 goto LBL_ERR;
113 }
114
115 err = der_length_sequence(sig_seq, 2, &reallen);
116 if (err != CRYPT_OK || reallen != siglen) {
110117 goto LBL_ERR;
111118 }
112119