rise~ RiseMessage

new RiseMessage(solution, bodyopt, headopt)

Interface allowing for authenticated message exchange.

Parameters:
NameTypeAttributesDescription
solutionmodule:rise~RiseSolution

Identity solution data.

bodyObject.<string, string><optional>

Key-value data to include.

headObject.<string, string><optional>

Additional headers.

Members

body :Object.<string, string>|string

Key-value pairs given for the message.

Type:
  • Object.<string, string> | string

Default message headers, plus any custom ones supplied.

Methods

encrypt(publicKey) → {module:rise~EncryptedRiseMessage}

Encrypts the message state for the public key provided.

Parameters:
NameTypeDescription
publicKeyUint8Array | buffer

Recipient public key.

sign(privateKey) → {module:rise~SignedRiseMessage}

Signs the message state using the private key provided.

Parameters:
NameTypeDescription
privateKeyUint8Array | buffer

Identity to use for signature.

toBuffer() → {buffer}

Serializes the message to wire format.

Returns:
Type: 
buffer

unwrap() → {Object.<string, (string|module:rise~RiseMessage|module:rise~EncryptedRiseMessage|module:rise~SignedRiseMessage|string)>}

Returns only the body of this message.

validate() → {boolean}

Ensures the solution header is valid.

Returns:
Type: 
boolean

(static) fromBuffer(message) → {module:rise~RiseMessage|module:rise~EncryptedRiseMessage|module:rise~SignedRiseMessage}

Creates a new message instance from the serialized message.

Parameters:
NameTypeDescription
messagebuffer

Binary blob to deserialize.

Type Definitions

Head

Protocol headers included in every rise message.

Type:
  • object
Properties
NameTypeDescription
noncestring

One-time token to prevent replay attacks.

versionstring

Version of the rise package. Analagous to user agent.

ciphertextboolean

Indicates if the message body should be treated as ciphertext (it is encrypted).

solutionmodule:rise~RiseSolution

Sender authentication data.