blob: 6ef6f8eaf39aa2b01c0c67ef0d7875f0c2423ce1 [file] [log] [blame]
package server
import (
"veyron.io/veyron/veyron2/security"
)
type Agent interface {
Bless(key []byte, wit security.WireBlessings, extension string, caveat security.Caveat, additionalCaveats []security.Caveat) (security.WireBlessings, error)
BlessSelf(name string, caveats []security.Caveat) (security.WireBlessings, error)
Sign(message []byte) (security.Signature, error)
MintDischarge(tp any, caveat security.Caveat, additionalCaveats []security.Caveat) (any, error)
PublicKey() ([]byte, error)
AddToRoots(blessing security.WireBlessings) error
BlessingStoreSet(blessings security.WireBlessings, forPeers security.BlessingPattern) (security.WireBlessings, error)
BlessingStoreForPeer(peerBlessings []string) (security.WireBlessings, error)
BlessingStoreSetDefault(blessings security.WireBlessings) error
BlessingStoreDefault() (security.WireBlessings, error)
BlessingStoreDebugString() (string, error)
BlessingRootsAdd(root []byte, pattern security.BlessingPattern) error
BlessingRootsRecognized(root []byte, blessing string) error
BlessingRootsDebugString() (string, error)
}