Skip to content

Commit

Permalink
fix: bad assertion in crypto functions that use BN_bn2bin_padded (bac…
Browse files Browse the repository at this point in the history
…kport: 5-0-x) (#17255)

* chore: roll node

in particular, this picks up electron/node#70a78f07b, which fixes an issue with incorrect usage of the BN_bn2bin_padded API in boringssl

* fix tests
  • Loading branch information
trop[bot] authored and MarshallOfSound committed Mar 7, 2019
1 parent 104ec2b commit 2c9b4d1
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
2 changes: 1 addition & 1 deletion DEPS
Expand Up @@ -12,7 +12,7 @@ vars = {
'chromium_version':
'73.0.3683.68',
'node_version':
'fac6d766c143db8db05bb3b0c0871df8f032363c',
'70a78f07b1c4d53f3da462b08cef42a4ff8f949f',

'boto_version': 'f7574aa6cc2c819430c1f05e9a1a1a666ef8169b',
'pyyaml_version': '3.12',
Expand Down
15 changes: 15 additions & 0 deletions spec/node-spec.js
Expand Up @@ -460,6 +460,21 @@ describe('node feature', () => {
const iv = Buffer.from('fedcba9876543210', 'hex')
require('crypto').createCipheriv('des-ede-cbc', key, iv)
})

it('should not crash when getting an ECDH key', () => {
const ecdh = require('crypto').createECDH('prime256v1')
expect(ecdh.generateKeys()).to.be.an.instanceof(Buffer)
expect(ecdh.getPrivateKey()).to.be.an.instanceof(Buffer)
})

it('should not crash when generating DH keys or fetching DH fields', () => {
const dh = require('crypto').createDiffieHellman('modp15')
expect(dh.generateKeys()).to.be.an.instanceof(Buffer)
expect(dh.getPublicKey()).to.be.an.instanceof(Buffer)
expect(dh.getPrivateKey()).to.be.an.instanceof(Buffer)
expect(dh.getPrime()).to.be.an.instanceof(Buffer)
expect(dh.getGenerator()).to.be.an.instanceof(Buffer)
})
})

it('includes the electron version in process.versions', () => {
Expand Down

0 comments on commit 2c9b4d1

Please sign in to comment.