aries

package
v0.24.25 Latest Latest
Warning

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

Go to latest
Published: Sep 10, 2021 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package aries is implementation package for didcomm messages. See related package mesg which is for our legacy messages. Both aries and mesg messages share same interfaces defined in the didcomm package. didcomm defines a message factor interfaces as well. With the help of the factoring system, the actual messages can be constructed from the incoming messages with the correct type. We use statically typed JSON messages i.e. they are always mapped to corresponding Go struct.

Index

Constants

This section is empty.

Variables

View Source
var Creator = &Factor{factors: make(map[string]didcomm.Factor)}
View Source
var MsgCreator = MsgFactor{}
View Source
var PayloadCreator = PayloadFactor{}

Functions

This section is empty.

Types

type Factor

type Factor struct {
	// contains filtered or unexported fields
}

func (*Factor) Add

func (f *Factor) Add(t string, factor didcomm.Factor)

type Msg

type Msg struct {
	Type string `json:"@type,omitempty"`
	AID  string `json:"@id,omitempty"`

	Thread *decorator.Thread `json:"~thread,omitempty"`

	Error      string                 `json:"error,omitempty"`        // If error happens includes error msg
	Encrypted  string                 `json:"encrypted,omitempty"`    // If the whole msg is encrypted is transferred in this field
	Did        string                 `json:"did,omitempty"`          // Usually senders DID and corresponding VerKey
	VerKey     string                 `json:"verkey,omitempty"`       // Senders Verkey for DID
	RcvrEndp   string                 `json:"rcvr_endp,omitempty"`    // Receivers own endpoint, usually the public URL
	RcvrKey    string                 `json:"rcvr_key,omitempty"`     // Receiver endpoint ver key
	Endpoint   string                 `json:"endpoint,omitempty"`     // Multipurpose field which still is under design
	EndpVerKey string                 `json:"endp_ver_key,omitempty"` // VerKey associated to endpoint i.e. payload verkey
	Name       string                 `json:"name,omitempty"`         // Multipurpose field which still is under design
	Info       string                 `json:"info,omitempty"`         // Used for transferring additional info like the Msg in IM-cases, and Pairwise name
	ID         string                 `json:"id,omitempty"`           // Used for transferring additional ID like the Cred Def ID
	Ready      bool                   `json:"ready,omitempty"`        // In queries tells if something is ready when true
	Msg        map[string]interface{} `json:"msg,omitempty"`          // Generic sub message to transport JSON between Indy SDK and EAs
}

func CreateMsg

func CreateMsg(d didcomm.MsgInit) Msg

func NewAnonDecryptedMsg

func NewAnonDecryptedMsg(wallet int, cryptStr string, did *ssi.DID) *Msg

func (*Msg) AnonEncrypt

func (m *Msg) AnonEncrypt(did *ssi.DID) *Msg

func (*Msg) ChecksumOK

func (m *Msg) ChecksumOK() bool

func (*Msg) Decrypt

func (m *Msg) Decrypt(cp sec.Pipe) *Msg

func (*Msg) Encrypt

func (m *Msg) Encrypt(cp sec.Pipe) *Msg

func (*Msg) SetEndpoint

func (m *Msg) SetEndpoint(ae service.Addr)

func (*Msg) SetRcvrEndp

func (m *Msg) SetRcvrEndp(ae service.Addr)

type MsgFactor

type MsgFactor struct{}

func (MsgFactor) Create

func (MsgFactor) NewAnonDecryptedMsg

func (f MsgFactor) NewAnonDecryptedMsg(wallet int, cryptStr string, did *ssi.DID) didcomm.Msg

func (MsgFactor) NewMessage

func (f MsgFactor) NewMessage(data []byte) didcomm.MessageHdr

func (MsgFactor) NewMsg

func (f MsgFactor) NewMsg(init didcomm.MsgInit) didcomm.MessageHdr

type MsgImpl

type MsgImpl struct {
	*Msg
}

func NewMsg

func NewMsg(data []byte) *MsgImpl

func (*MsgImpl) AnonEncrypt

func (m *MsgImpl) AnonEncrypt(did *ssi.DID) didcomm.Msg

func (*MsgImpl) ConnectionInvitation

func (m *MsgImpl) ConnectionInvitation() *didexchange.Invitation

func (*MsgImpl) CredDefID

func (m *MsgImpl) CredDefID() *string

func (*MsgImpl) CredentialAttributes

func (m *MsgImpl) CredentialAttributes() *[]didcomm.CredentialAttribute

func (*MsgImpl) Decr

func (m *MsgImpl) Decr(cp sec.Pipe) didcomm.Msg

func (*MsgImpl) Did

func (m *MsgImpl) Did() string

func (*MsgImpl) Encr

func (m *MsgImpl) Encr(cp sec.Pipe) didcomm.Msg

func (*MsgImpl) Encrypted

func (m *MsgImpl) Encrypted() string

func (*MsgImpl) Endpoint

func (m *MsgImpl) Endpoint() service.Addr

func (*MsgImpl) Error

func (m *MsgImpl) Error() string

func (*MsgImpl) FieldObj

func (m *MsgImpl) FieldObj() interface{}

func (*MsgImpl) ID

func (m *MsgImpl) ID() string

func (*MsgImpl) Info

func (m *MsgImpl) Info() string

func (*MsgImpl) JSON

func (m *MsgImpl) JSON() []byte

func (*MsgImpl) Name

func (m *MsgImpl) Name() string

func (*MsgImpl) Nonce

func (m *MsgImpl) Nonce() string

func (*MsgImpl) ProofAttributes

func (m *MsgImpl) ProofAttributes() *[]didcomm.ProofAttribute

func (*MsgImpl) ProofValues

func (m *MsgImpl) ProofValues() *[]didcomm.ProofValue

func (*MsgImpl) Ready

func (m *MsgImpl) Ready() bool

func (*MsgImpl) ReceiverEP

func (m *MsgImpl) ReceiverEP() service.Addr

func (*MsgImpl) Schema

func (m *MsgImpl) Schema() *ssi.Schema

func (*MsgImpl) SetBody

func (m *MsgImpl) SetBody(b interface{})

func (*MsgImpl) SetDid

func (m *MsgImpl) SetDid(s string)

func (*MsgImpl) SetError

func (m *MsgImpl) SetError(s string)

func (*MsgImpl) SetID

func (m *MsgImpl) SetID(id string)

func (*MsgImpl) SetInfo

func (m *MsgImpl) SetInfo(s string)

func (*MsgImpl) SetInvitation

func (m *MsgImpl) SetInvitation(i *didexchange.Invitation)

func (*MsgImpl) SetNonce

func (m *MsgImpl) SetNonce(n string)

func (*MsgImpl) SetReady

func (m *MsgImpl) SetReady(yes bool)

func (*MsgImpl) SetSchema

func (m *MsgImpl) SetSchema(sch *ssi.Schema)

func (*MsgImpl) SetSubLevelID

func (m *MsgImpl) SetSubLevelID(s string)

func (*MsgImpl) SetSubMsg

func (m *MsgImpl) SetSubMsg(sm map[string]interface{})

func (*MsgImpl) SetType

func (m *MsgImpl) SetType(t string)

func (*MsgImpl) SetVerKey

func (m *MsgImpl) SetVerKey(s string)

func (*MsgImpl) SubLevelID

func (m *MsgImpl) SubLevelID() string

func (*MsgImpl) SubMsg

func (m *MsgImpl) SubMsg() map[string]interface{}

func (*MsgImpl) Thread

func (m *MsgImpl) Thread() *decorator.Thread

func (*MsgImpl) TimestampMs

func (m *MsgImpl) TimestampMs() *uint64

func (*MsgImpl) Type

func (m *MsgImpl) Type() string

func (*MsgImpl) VerKey

func (m *MsgImpl) VerKey() string

type PayloadFactor

type PayloadFactor struct{}

func (PayloadFactor) New

New creates a new Aries PL with PayloadInit struct. The type of the Msg is generic.

func (PayloadFactor) NewError

func (f PayloadFactor) NewError(pl didcomm.Payload, err error) didcomm.Payload

NewError is obsolete in aries protocol, but it's still implemented. Not use!

func (PayloadFactor) NewFromData

func (f PayloadFactor) NewFromData(data []byte) didcomm.Payload

NewFromData creates a new Aries PL in correct Go struct type. If @Type is associated to Go struct type which is registered to this Factor, it's used. If not a generic type is used.

func (PayloadFactor) NewMsg

NewMsg creates a new PL by ID, Type and already created internal Msg.

type PayloadImpl

type PayloadImpl struct {
	didcomm.MessageHdr
}

func (*PayloadImpl) Creator

func (pl *PayloadImpl) Creator() didcomm.PayloadFactor

func (*PayloadImpl) Data

func (pl *PayloadImpl) Data() []byte

func (*PayloadImpl) FieldObj

func (pl *PayloadImpl) FieldObj() interface{}

func (*PayloadImpl) ID

func (pl *PayloadImpl) ID() string

func (*PayloadImpl) Message

func (pl *PayloadImpl) Message() didcomm.Msg

func (*PayloadImpl) MsgCreator

func (pl *PayloadImpl) MsgCreator() didcomm.MsgFactor

func (*PayloadImpl) MsgHdr

func (pl *PayloadImpl) MsgHdr() didcomm.MessageHdr

func (*PayloadImpl) Namespace

func (pl *PayloadImpl) Namespace() string

func (*PayloadImpl) Protocol

func (pl *PayloadImpl) Protocol() string

func (*PayloadImpl) ProtocolMsg

func (pl *PayloadImpl) ProtocolMsg() string

func (*PayloadImpl) SetThread

func (pl *PayloadImpl) SetThread(t *decorator.Thread)

func (*PayloadImpl) ThreadID

func (pl *PayloadImpl) ThreadID() string

func (*PayloadImpl) Type

func (pl *PayloadImpl) Type() string

Jump to

Keyboard shortcuts

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