Expose getPublic and getPrivate from subprocess
This commit is contained in:
parent
7207a97375
commit
088fbc1cf5
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 = {
|
||||
isAuthorizedDevice,
|
||||
isEncryptedMessage,
|
||||
|
|
@ -211,6 +222,8 @@ module.exports = {
|
|||
generateRandomString,
|
||||
nodeKeyPairs,
|
||||
devicePublicKeys,
|
||||
generatePrivate,
|
||||
getPublic,
|
||||
/**
|
||||
* Used for tests.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -13,7 +13,9 @@ const {
|
|||
encryptMessage,
|
||||
generateKeyPair,
|
||||
isAuthorizedDevice,
|
||||
killECCCryptoSubprocess
|
||||
killECCCryptoSubprocess,
|
||||
generatePrivate,
|
||||
getPublic
|
||||
} = require('./ECC')
|
||||
|
||||
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)
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue