pkg principal, const ZeroHandle BlessingsHandle
pkg principal, func ConvertBlessingsToHandle(security.Blessings, BlessingsHandle) *JsBlessings
pkg principal, func DecodePublicKey(string) (security.PublicKey, error)
pkg principal, func EncodePublicKey(security.PublicKey) (string, error)
pkg principal, func NewJSBlessingsHandles() *JSBlessingsHandles
pkg principal, func NewPrincipalManager(security.Principal, vsecurity.SerializerReaderWriter) (*PrincipalManager, error)
pkg principal, method (*InMemorySerializer) Readers() (io.ReadCloser, io.ReadCloser, error)
pkg principal, method (*InMemorySerializer) Writers() (io.WriteCloser, io.WriteCloser, error)
pkg principal, method (*JSBlessingsHandles) GetBlessings(BlessingsHandle) security.Blessings
pkg principal, method (*JSBlessingsHandles) GetOrAddHandle(security.Blessings) BlessingsHandle
pkg principal, method (*JSBlessingsHandles) RemoveReference(BlessingsHandle) error
pkg principal, method (*PrincipalManager) AddAccount(string, security.Blessings) error
pkg principal, method (*PrincipalManager) AddOrigin(string, string, []security.Caveat, []time.Time) error
pkg principal, method (*PrincipalManager) BlessingsForAccount(string) (security.Blessings, error)
pkg principal, method (*PrincipalManager) DummyAccount() (string, error)
pkg principal, method (*PrincipalManager) OriginHasAccount(string) bool
pkg principal, method (*PrincipalManager) Principal(string) (security.Principal, error)
pkg principal, type BlessingsHandle int32
pkg principal, type InMemorySerializer struct
pkg principal, type JSBlessingsHandles struct
pkg principal, type JsBlessings struct
pkg principal, type JsBlessings struct, Handle BlessingsHandle
pkg principal, type JsBlessings struct, PublicKey string
pkg principal, type PrincipalManager struct
