message

package
v3.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2025 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

Variables

View Source
var ErrBadMessage = errors.New("bad message")

Functions

This section is empty.

Types

type Decrypter

type Decrypter interface {
	Decrypt([]byte, []byte, []byte, []byte) ([]byte, error)
}

type Message

type Message struct {
	PlainText    []byte `json:"plain,omitempty" msgpack:"plain,omitempty"`
	CipherText   []byte `json:"ciph,omitempty" msgpack:"ciph,omitempty"`
	AAD          []byte `json:"aad,omitempty" msgpack:"aad,omitempty"`
	Nonce        []byte `json:"nonce,omitempty" msgpack:"nonce,omitempty"`
	EphemeralKey []byte `json:"eph,omitempty" msgpack:"eph,omitempty"`
	Signature    []byte `json:"sig,omitempty" msgpack:"sig,omitempty"`
}

func NewMessage

func NewMessage(randy io.Reader) *Message

func (*Message) Body

func (msg *Message) Body() []byte

func (*Message) Decrypt

func (msg *Message) Decrypt(recipient Decrypter) error

func (*Message) Deserialize

func (msg *Message) Deserialize(b []byte)

func (*Message) Digest

func (msg *Message) Digest() ([]byte, error)

func (*Message) Encrypt

func (msg *Message) Encrypt(randy io.Reader, recipient delphi.PublicKey, e secretSealer) error

func (*Message) IsEncrypted

func (msg *Message) IsEncrypted() bool

func (*Message) IsPlain

func (msg *Message) IsPlain() bool

func (*Message) MarshalPEM

func (msg *Message) MarshalPEM() ([]byte, error)

func (*Message) MustValidate

func (msg *Message) MustValidate()

func (*Message) Serialize

func (msg *Message) Serialize() []byte

func (*Message) Sign

func (msg *Message) Sign(signer crypto.Signer) error

func (*Message) ToPEM

func (msg *Message) ToPEM() pem.Block

func (*Message) UnmarshalPEM

func (msg *Message) UnmarshalPEM(b []byte) error

func (*Message) Validate

func (msg *Message) Validate() error

Validate cheks a Message to see if it looks right.

func (*Message) Verify

func (msg *Message) Verify(pubKey crypto.PublicKey, v Verifier) bool

type SymmetricEncrypter

type SymmetricEncrypter interface {
	Seal([]byte, []byte, []byte, []byte) ([]byte, error)
	GenerateSharedSecret(io.Reader, crypto.PublicKey) ([]byte, []byte, error)
}

type Verifier

type Verifier interface {
	Verify(pubKey crypto.PublicKey, digest []byte, signature []byte) bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL