Merge pull request #509 from shocknet/ecc-hotfix
Expose getPublic and getPrivate from subprocess
This commit is contained in:
commit
e0e6fc3173
2 changed files with 37 additions and 1 deletions
|
|
@ -201,6 +201,17 @@ const decryptMessage = async ({ encryptedMessage, deviceId }) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {Promise<Buffer>}
|
||||||
|
*/
|
||||||
|
const generatePrivate = () => invoke('generatePrivate', [], cryptoSubprocess)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Buffer} priv
|
||||||
|
* @returns {Promise<Buffer>}
|
||||||
|
*/
|
||||||
|
const getPublic = priv => invoke('getPublic', [priv], cryptoSubprocess)
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
isAuthorizedDevice,
|
isAuthorizedDevice,
|
||||||
isEncryptedMessage,
|
isEncryptedMessage,
|
||||||
|
|
@ -211,6 +222,8 @@ module.exports = {
|
||||||
generateRandomString,
|
generateRandomString,
|
||||||
nodeKeyPairs,
|
nodeKeyPairs,
|
||||||
devicePublicKeys,
|
devicePublicKeys,
|
||||||
|
generatePrivate,
|
||||||
|
getPublic,
|
||||||
/**
|
/**
|
||||||
* Used for tests.
|
* Used for tests.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,9 @@ const {
|
||||||
encryptMessage,
|
encryptMessage,
|
||||||
generateKeyPair,
|
generateKeyPair,
|
||||||
isAuthorizedDevice,
|
isAuthorizedDevice,
|
||||||
killECCCryptoSubprocess
|
killECCCryptoSubprocess,
|
||||||
|
generatePrivate,
|
||||||
|
getPublic
|
||||||
} = require('./ECC')
|
} = require('./ECC')
|
||||||
|
|
||||||
const uuid = () => {
|
const uuid = () => {
|
||||||
|
|
@ -120,5 +122,26 @@ describe('ECC', () => {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
describe('generatePrivate()', () => {
|
||||||
|
it('generates a private key', async () => {
|
||||||
|
expect.hasAssertions()
|
||||||
|
|
||||||
|
const priv = await generatePrivate()
|
||||||
|
|
||||||
|
expect(priv).toBeInstanceOf(Buffer)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
describe('getPublic()', () => {
|
||||||
|
it('derives a public key from a private key', async () => {
|
||||||
|
expect.hasAssertions()
|
||||||
|
|
||||||
|
const priv = await generatePrivate()
|
||||||
|
const pub = await getPublic(priv)
|
||||||
|
|
||||||
|
expect(pub).toBeInstanceOf(Buffer)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
after(killECCCryptoSubprocess)
|
after(killECCCryptoSubprocess)
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue