0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-30 23:43:09 +01:00
nodejs/doc
David Benjamin 6ebdb69472
crypto: fix Node_SignFinal
PR #11705 switched Node away from using using OpenSSL's legacy EVP_Sign*
and EVP_Verify* APIs. Instead, it computes a hash normally via
EVP_Digest* and then uses EVP_PKEY_sign and EVP_PKEY_verify to verify
the hash directly. This change corrects two problems:

1. The documentation still recommends the signature algorithm EVP_MD
   names of OpenSSL's legacy APIs. OpenSSL has since moved away from
   thosee, which is why ECDSA was strangely inconsistent. (This is why
   "ecdsa-with-SHA256" was missing.)

2. Node_SignFinal copied some code from EVP_SignFinal's internals. This
   is problematic for OpenSSL 1.1.0 and is missing a critical check
   that prevents pkey->pkey.ptr from being cast to the wrong type.

To resolve this, remove the non-EVP_PKEY_sign codepath. This codepath is
no longer necessary. PR #11705's verify half was already assuming all
EVP_PKEYs supported EVP_PKEY_sign and EVP_PKEY_verify. Also, in the
documentation, point users towards using hash function names which are
more consisent. This avoids an ECDSA special-case and some strangeness
around RSA-PSS ("RSA-SHA256" is the OpenSSL name of the
sha256WithRSAEncryption OID which is not used for RSA-PSS).

PR-URL: https://github.com/nodejs/node/pull/15024
Reviewed-By: Shigeki Ohtsu <ohtsu@ohtsu.org>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2017-09-11 00:18:02 -03:00
..
api crypto: fix Node_SignFinal 2017-09-11 00:18:02 -03:00
api_assets doc: add links to alternative versions of doc 2017-08-28 11:17:08 +02:00
changelogs 2017-09-05, Version 6.11.3 'Boron' (LTS) 2017-09-05 15:47:35 -04:00
guides http2: fix documentation nits 2017-08-04 12:56:10 -07:00
.eslintrc.yaml
full-white-stripe.jpg
node.1 doc: environmental->environment & NodeJS->Node.js 2017-08-24 15:17:29 -07:00
onboarding-extras.md
onboarding.md meta: merge TSC and CTC back into a single body 2017-08-29 08:39:25 -07:00
osx_installer_logo.png
releases.md tools: checkout for unassigned DEP00XX codes 2017-08-16 00:04:03 -07:00
STYLE_GUIDE.md
template.html doc: add links to alternative versions of doc 2017-08-28 11:17:08 +02:00
thin-white-stripe.jpg