ecdh.setPublicKey(public_key[, encoding])
Stability: 0 - Deprecated
Sets the EC Diffie-Hellman public key. Key encoding can be 'binary'
, 'hex'
or 'base64'
. If encoding
is provided public_key
is expected to be a string; otherwise a Buffer
is expected.
Note that there is not normally a reason to call this method because ECDH
only requires a private key and the other party's public key to compute the shared secret. Typically either ecdh.generateKeys()
or ecdh.setPrivateKey()
will be called. The ecdh.setPrivateKey()
method attempts to generate the public point/key associated with the private key being set.
Example (obtaining a shared secret):
const crypto = require('crypto'); const alice = crypto.createECDH('secp256k1'); const bob = crypto.createECDH('secp256k1'); // Note: This is a shortcut way to specify one of Alice's previous private // keys. It would be unwise to use such a predictable private key in a real // application. alice.setPrivateKey( crypto.createHash('sha256').update('alice', 'utf8').digest() ); // Bob uses a newly generated cryptographically strong // pseudorandom key pair bob.generateKeys(); const alice_secret = alice.computeSecret(bob.getPublicKey(), null, 'hex'); const bob_secret = bob.computeSecret(alice.getPublicKey(), null, 'hex'); // alice_secret and bob_secret should be the same shared secret value console.log(alice_secret === bob_secret);
Please login to continue.