package truststores import ( "errors" "github.com/safing/jess" ) // ErrNotSupportedByTrustStore is returned by trust stores if they do not // support certain actions. var ErrNotSupportedByTrustStore = errors.New("action not supported by trust store") // ExtendedTrustStore holds a set of trusted Signets, Recipients and Envelopes. type ExtendedTrustStore interface { jess.TrustStore // GetSignet returns the Signet with the given ID. // GetSignet(id string, recipient bool) (*Signet, error) // StoreSignet stores a Signet. StoreSignet(signet *jess.Signet) error // DeleteSignet deletes the Signet or Recipient with the given ID. DeleteSignet(id string, recipient bool) error // SelectSignets returns a selection of the signets in the trust store. Results are filtered by tool/algorithm and whether it you're looking for a signet (private key) or a recipient (public key). SelectSignets(filter uint8, schemes ...string) ([]*jess.Signet, error) // GetEnvelope returns the Envelope with the given name. GetEnvelope(name string) (*jess.Envelope, error) // StoreEnvelope stores an Envelope. StoreEnvelope(envelope *jess.Envelope) error // DeleteEnvelope deletes the Envelope with the given name. DeleteEnvelope(name string) error // AllEnvelopes returns all envelopes. AllEnvelopes() ([]*jess.Envelope, error) }