Saltpack (saltpack v1.3.5)
View Sourcesaltpack implementation
Handling complete, ASCII-armored messages at rest.
Summary
Functions
armor a new message
encrypt a new message
generate a new {private, public}
key pair
open a saltpack message
sign a new message
Types
@type key() :: binary()
a public or private key
@type key_variety() :: :encrypt | :sign
desired key variety
@type signature_mode() :: :attached | :detached
signature mode
Functions
@spec armor_message(binary(), Saltpack.Armor.formatting_options()) :: binary()
armor a new message
@spec encrypt_message( binary(), [key()], key(), key(), Saltpack.Armor.formatting_options() ) :: binary()
encrypt a new message
recipients
should contain a list of all recipient public keys.
An entry may be nil
for anonymous recipients.
@spec new_key_pair(key_variety()) :: {key(), key()}
generate a new {private, public}
key pair
open a saltpack message
This may fail in spectacular ways with messages which are not properly formatted for the supplied key.
Opening a detached signature with plaintext
will return the signing public key.
All other forms return the decoded contents upon validation.
@spec sign_message( binary(), key(), key(), signature_mode(), Saltpack.Armor.formatting_options() ) :: binary()
sign a new message
This is presently considerably slower than encrypting a same-sized message and
has slightly different calling semantics. Where possible, encrypt_message/5
should
be preferred.