boringssl/crypto
Matthew Braithwaite e2c083dfd6 ASN1_UTCTIME_print: fix, comment, test.
The motiviation is that M2Crypto passes an ASN1_GENERALIZEDTIME to
this function.  This is not distinct from ASN1_UTCTIME (both are
asn1_string_st), but ASN1_GENERALIZEDTIME uses a 4-digit year in its
string representation, whereas ASN1_UTCTIME uses a 2-digit year.

ASN1_UTCTIME_print previously did not return an error on such inputs.
So, stricten (?) the function, ensuring that it checks for trailing
data, and rejects values that are invalid for their place.  Along the
way, clean it up and add tests.

Change-Id: Ia8298bed573f2acfdab96638ea69c78b5bba4e4b
Reviewed-on: https://boringssl-review.googlesource.com/13082
Reviewed-by: Adam Langley <alangley@gmail.com>
Commit-Queue: Adam Langley <alangley@gmail.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
2017-01-10 23:32:12 +00:00
..
aes Test invalid inputs for AES_unwrap_key. 2017-01-04 04:37:46 +00:00
asn1 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
base64 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
bio Don't chain to next_bio for buffer BIO BIO_[w]pending. 2016-12-21 23:08:22 +00:00
bn Add Little-endian BIGNUM conversions 2017-01-06 18:20:09 +00:00
buf Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
bytestring Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
chacha Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
cipher Fix AES-GCM-SIV on large inputs. 2017-01-04 01:45:31 +00:00
cmac Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
conf Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
curve25519 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
des Fix up macros. 2016-10-18 18:28:23 +00:00
dh Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
digest Don't accept signature OIDs in EVP_get_digestby{nid,obj}. 2017-01-05 23:30:48 +00:00
dsa Don't use BN_mod_inverse for inverses mod p in RSA keygen. 2017-01-04 13:56:11 +00:00
ec Simplify ec_GFp_nistp224_points_mul logic. 2017-01-05 23:32:59 +00:00
ecdh Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
ecdsa Don't use BN_mod_inverse for inverses mod p in RSA keygen. 2017-01-04 13:56:11 +00:00
engine Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
err Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
evp Import RSA decryption tests from upstream. 2017-01-04 01:47:53 +00:00
hkdf Convert hkdf_test to C++. 2017-01-04 01:40:44 +00:00
hmac Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
lhash Remove lh_new's default hash and comparator. 2017-01-04 01:44:10 +00:00
md4 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
md5 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
modes Fix AES-GCM-SIV on large inputs. 2017-01-04 01:45:31 +00:00
obj Reimplement objects.pl in Go. 2016-12-21 22:14:13 +00:00
pem Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
perlasm perlasm/x86_64-xlate.pl: refine sign extension in ea package. 2016-12-14 17:36:29 +00:00
pkcs8 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
poly1305 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
pool Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
rand Fix fuzzer mode build. 2016-12-22 03:17:59 +00:00
rc4 Simplify RC4 code and remove assembly. 2016-08-30 15:32:31 +00:00
rsa Don't use BN_mod_inverse for inverses mod p in RSA keygen. 2017-01-04 13:56:11 +00:00
sha Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
stack Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
test Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
x509 ASN1_UTCTIME_print: fix, comment, test. 2017-01-10 23:32:12 +00:00
x509v3 Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
CMakeLists.txt Convert constant_time_test and refcount_test to C++. 2017-01-04 01:36:49 +00:00
constant_time_test.cc Convert constant_time_test and refcount_test to C++. 2017-01-04 01:36:49 +00:00
cpu-aarch64-linux.c Rewrite ARM feature detection. 2016-03-26 04:54:44 +00:00
cpu-arm-linux.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
cpu-arm.c Rewrite ARM feature detection. 2016-03-26 04:54:44 +00:00
cpu-intel.c Wrap MSVC-only warning pragmas in a macro. 2016-06-09 21:29:36 +00:00
cpu-ppc64le.c Add PPC64LE assembly for AES-GCM. 2016-09-27 18:43:20 +00:00
crypto.c Add PPC64LE assembly for AES-GCM. 2016-09-27 18:43:20 +00:00
ex_data.c Use C99 for size_t loops. 2016-09-12 19:44:24 +00:00
internal.h Fix comment on OPENSSL_memcmp, etc. 2016-12-21 21:47:24 +00:00
mem.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
refcount_c11.c
refcount_lock.c Split unlock functions into read/write variants. 2016-05-31 21:09:29 +00:00
refcount_test.cc Convert constant_time_test and refcount_test to C++. 2017-01-04 01:36:49 +00:00
thread_none.c Split unlock functions into read/write variants. 2016-05-31 21:09:29 +00:00
thread_pthread.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
thread_test.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
thread_win.c Work around language and compiler bug in memcpy, etc. 2016-12-21 20:34:47 +00:00
thread.c Remove a bunch of unnecessary includes. 2016-06-28 20:31:14 +00:00
time_support.c