mirror of
https://github.com/fluencelabs/js-libp2p-crypto
synced 2025-06-24 11:41:44 +00:00
feat(ecdh): use node core instead of webcrypto-ossl
This commit is contained in:
@ -14,6 +14,11 @@ const lengths = {
|
||||
'P-384': 97,
|
||||
'P-521': 133
|
||||
}
|
||||
const secretLengths = {
|
||||
'P-256': 32,
|
||||
'P-384': 48,
|
||||
'P-521': 66
|
||||
}
|
||||
|
||||
describe('generateEphemeralKeyPair', () => {
|
||||
curves.forEach((curve) => {
|
||||
@ -28,7 +33,7 @@ describe('generateEphemeralKeyPair', () => {
|
||||
|
||||
keys[0].genSharedKey(keys[1].key, (err, shared) => {
|
||||
expect(err).to.not.exist
|
||||
expect(shared).to.have.length(32)
|
||||
expect(shared).to.have.length(secretLengths[curve])
|
||||
done()
|
||||
})
|
||||
})
|
||||
@ -39,12 +44,29 @@ describe('generateEphemeralKeyPair', () => {
|
||||
it('generates a shared secret', (done) => {
|
||||
const curve = fixtures.curve
|
||||
|
||||
crypto.generateEphemeralKeyPair(curve, (err, alice) => {
|
||||
parallel([
|
||||
(cb) => crypto.generateEphemeralKeyPair(curve, cb),
|
||||
(cb) => crypto.generateEphemeralKeyPair(curve, cb)
|
||||
], (err, res) => {
|
||||
expect(err).to.not.exist
|
||||
const alice = res[0]
|
||||
const bob = res[1]
|
||||
bob.key = fixtures.bob.public
|
||||
|
||||
alice.genSharedKey(fixtures.bob.public, (err, s1) => {
|
||||
parallel([
|
||||
(cb) => alice.genSharedKey(bob.key, cb),
|
||||
(cb) => bob.genSharedKey(alice.key, fixtures.bob, cb)
|
||||
], (err, secrets) => {
|
||||
expect(err).to.not.exist
|
||||
expect(s1).to.have.length(32)
|
||||
|
||||
expect(
|
||||
secrets[0]
|
||||
).to.be.eql(
|
||||
secrets[1]
|
||||
)
|
||||
|
||||
expect(secrets[0]).to.have.length(32)
|
||||
|
||||
done()
|
||||
})
|
||||
})
|
||||
|
4
test/fixtures/go-elliptic-key.js
vendored
4
test/fixtures/go-elliptic-key.js
vendored
@ -3,9 +3,9 @@
|
||||
module.exports = {
|
||||
curve: 'P-256',
|
||||
bob: {
|
||||
private: [
|
||||
private: new Buffer([
|
||||
181, 217, 162, 151, 225, 36, 53, 253, 107, 66, 27, 27, 232, 72, 0, 0, 103, 167, 84, 62, 203, 91, 97, 137, 131, 193, 230, 126, 98, 242, 216, 170
|
||||
],
|
||||
]),
|
||||
public: new Buffer([
|
||||
4, 53, 59, 128, 56, 162, 250, 72, 141, 206, 117, 232, 57, 96, 39, 39, 247, 7, 27, 57, 251, 232, 120, 186, 21, 239, 176, 139, 195, 129, 125, 85, 11, 188, 191, 32, 227, 0, 6, 163, 101, 68, 208, 1, 43, 131, 124, 112, 102, 91, 104, 79, 16, 119, 152, 208, 4, 147, 155, 83, 20, 146, 104, 55, 90
|
||||
])
|
||||
|
Reference in New Issue
Block a user