src: simplify calls to BN_bin2bn in prime gen #37169
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is more or less equivalent to the previous implementation from #36997, with two subtle differences.
add
andrem
options are not stored in secure memory (if it is enabled). However, these options are mostly used for DH, in which case these parameters aren't secret. Either way, they are passed from JS through insecure memory (either asBigInt
orArrayBuffer
), so it does not help much to protect them here. (I suggested storing the prime in secure memory in crypto: add generatePrime/checkPrime #36997, but notadd
orrem
.)ERR_CRYPTO_OPERATION_FAILED
. Previously, it would either throwERR_CRYPTO_OPERATION_FAILED
if memory allocation failed duringBN_secure_new
, orERR_INVALID_ARG_VALUE
if memory allocation failed duringBN_bin2bn
. The latter doesn't make much sense because the failure ofBN_bin2bn
is most likely unrelated to the value of the options.