boringssl/crypto/evp
David Benjamin 2a0ee112c4 Remove remnants of EVP_MD_FLAG_PKEY_METHOD_SIGNATURE.
Some archaeology: it was added in upstream's
ee1d9ec019a7584482bd95891404f1cad66a4a0a. This seems to come from upstream's
arrangement where an EVP_MD can specify both the signing algorithm and the
message digest. (Most of the usual hash algorithms were tied to RSA.)

The flag is set on EVP_MDs that should use the EVP_PKEY's method table in
EVP_Sign* rather than the one attached to the EVP_MD (there's also
required_pkey_type to filter on EVP_PKEY to prevent a mismatch). Without the
flag, the old codepath is hit where they're tied together.

Interestingly, EVP_md5 does not have the flag, but I suppose this is because no
one would sign ECDSA + MD5. EVP_DigestSign* also postdates this and doesn't use
the legacy mechanism anyway. Upstream also has, e.g., EVP_ecdsa(). Although
those too have since also gained the flag in
bce1af776247fee153223ea156228810779483ce.

Let's get rid of these TODOs. We don't have the old codepath. It's unclear if
upstream really does either at this point.

Note: EVP_PKEY_RSA_method in upstream is actually a macro that expands to three
fields, which is why it's so difficult to figure out what's going on with those
structs.

Change-Id: I1aea4d3f79f1eb1755063bb96c1c65276c6e3643
Reviewed-on: https://boringssl-review.googlesource.com/2122
Reviewed-by: Adam Langley <agl@google.com>
2014-11-04 00:27:19 +00:00
..
algorithm.c Don't mix and match libraries and errors. 2014-10-13 22:56:28 +00:00
asn1.c Inital import. 2014-06-20 13:17:32 -07:00
CMakeLists.txt Add EVP_DigestVerifyInitFromAlgorithm and EVP_DigestSignAlgorithm. 2014-10-09 21:52:52 +00:00
digestsign.c Make EVP_DigestVerifyFinal return only zero or one. 2014-10-28 20:22:46 +00:00
evp_ctx.c Use EVP_PKEY_dup instead of manually incrementing the refcount. 2014-08-07 00:03:56 +00:00
evp_error.c Don't mix and match libraries and errors. 2014-10-13 22:56:28 +00:00
evp.c Convert all zero-argument functions to '(void)' 2014-08-21 01:06:07 +00:00
example_sign.c Make EVP_DigestVerifyFinal return only zero or one. 2014-10-28 20:22:46 +00:00
internal.h Add EVP_DigestVerifyInitFromAlgorithm and EVP_DigestSignAlgorithm. 2014-10-09 21:52:52 +00:00
p_ec_asn1.c Introduce EVP_PKEY_is_opaque to replace RSA_METHOD_FLAG_NO_CHECK. 2014-07-18 23:35:04 +00:00
p_ec.c Align EVP return values with BoringSSL convention. 2014-07-29 21:47:51 +00:00
p_hmac_asn1.c Introduce EVP_PKEY_is_opaque to replace RSA_METHOD_FLAG_NO_CHECK. 2014-07-18 23:35:04 +00:00
p_hmac.c Perform bounds checks in hmac_signctx. 2014-07-10 20:59:10 +00:00
p_rsa_asn1.c Don't mix and match libraries and errors. 2014-10-13 22:56:28 +00:00
p_rsa.c RSA_encrypt and RSA_sign_raw aren't the same. 2014-10-09 21:04:07 +00:00
pbkdf.c Inital import. 2014-06-20 13:17:32 -07:00
sign.c Remove remnants of EVP_MD_FLAG_PKEY_METHOD_SIGNATURE. 2014-11-04 00:27:19 +00:00