The class for creating EC Diffie-Hellman key exchanges.
Returned by Crypto.createECDH
.
Methods
computeSecret(other_public_key:Buffer):Buffer
computeSecret(other_public_key:String, input_encoding:String, output_encoding:String):String
computeSecret(other_public_key:String, input_encoding:String):Buffer
Computes the shared secret using other_public_key
as the other party's public key
and returns the computed shared secret. Supplied key is interpreted using specified input_encoding
,
and secret is encoded using specified output_encoding
.
Encodings can be 'binary', 'hex', or 'base64'.
If the input encoding is not provided, then a buffer is expected. If no output encoding is given, then a buffer is returned.
generateKeys(?encoding:String, ?format:ECDHFormat):EitherType<String, Buffer>
Generates private and public EC Diffie-Hellman key values, and returns the public key
in the specified format
and encoding
. This key should be transferred to the other party.
Format specifies point encoding and can be 'compressed', 'uncompressed', or 'hybrid'. If no format is provided - the point will be returned in 'uncompressed' format.
Encoding can be 'binary', 'hex', or 'base64'. If no encoding is provided, then a buffer is returned.
getPrivateKey(encoding:String):String
getPrivateKey():Buffer
Returns the EC Diffie-Hellman private key in the specified encoding, which can be 'binary', 'hex', or 'base64'.
If no encoding
is provided, then a buffer is returned.
getPublicKey(?encoding:String, ?format:ECDHFormat):EitherType<String, Buffer>
Returns the EC Diffie-Hellman public key in the specified encoding
and format
.
Format specifies point encoding and can be 'compressed', 'uncompressed', or 'hybrid'. If no format is provided - the point will be returned in 'uncompressed' format.
Encoding can be 'binary', 'hex', or 'base64'. If no encoding is provided, then a buffer is returned.
setPrivateKey(private_key:String, encoding:String):Void
setPrivateKey(private_key:Buffer):Void
Sets the EC Diffie-Hellman private key.
Key encoding can be 'binary', 'hex' or 'base64'. If no encoding is provided, then a buffer is expected.
setPublicKey(public_key:String, encoding:String):Void
setPublicKey(public_key:Buffer):Void
Sets the EC Diffie-Hellman public key.
Key encoding can be 'binary', 'hex' or 'base64'. If no encoding is provided, then a buffer is expected.