abstractions

package
v2.0.0-...-429d55a Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2023 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	TagAttribute         = bal.Symbol("$tag")
	AccountAttribute     = bal.Symbol("$account")
	AlgorithmsAttribute  = bal.Symbol("$algorithms")
	CertificateAttribute = bal.Symbol("$certificate")
	ComponentAttribute   = bal.Symbol("$component")
	DigestAttribute      = bal.Symbol("$digest")
	KeyAttribute         = bal.Symbol("$key")
	PermissionsAttribute = bal.Symbol("$permissions")
	PreviousAttribute    = bal.Symbol("$previous")
	ProtocolAttribute    = bal.Symbol("$protocol")
	SaltAttribute        = bal.Symbol("$salt")
	SignatureAttribute   = bal.Symbol("$signature")
	TimestampAttribute   = bal.Symbol("$timestamp")
	TypeAttribute        = bal.Symbol("$type")
	VersionAttribute     = bal.Symbol("$version")
)

These constants define the attribute names for the standard attribues.

Functions

This section is empty.

Types

type CertificateLike

type CertificateLike interface {
	abs.Encapsulated
	Published
	Restricted
	Typed
	Versioned
}

type Certified

type Certified interface {
	GenerateCredential(salt abs.BinaryLike) CredentialLike
	NotarizeComponent(component abs.ComponentLike) ContractLike
	SignatureMatches(contract ContractLike, certificate CertificateLike) bool
	CiteRecord(record RecordLike) CitationLike
	CitationMatches(citation CitationLike, record RecordLike) bool
}

This interface defines the methods supported by all certified notary agents.

type CitationLike

type CitationLike interface {
	abs.Encapsulated
	Referential
	Typed
}

type ContractLike

type ContractLike interface {
	abs.Encapsulated
	Notarized
	Typed
}

type CredentialLike

type CredentialLike interface {
	abs.Encapsulated
	Notarized
	Seasoned
	Typed
}

type Hardened

type Hardened interface {
	GetTag() string
	GenerateKeys() []byte
	SignBytes(bytes []byte) []byte
	RotateKeys() []byte
	EraseKeys()
}

This interface defines the methods supported by all hardened security modules.

type Named

type Named interface {
	GetName() abs.MonikerLike
}

This interface defines the methods supported by all named components.

type Notarized

type Notarized interface {
	GetComponent() abs.ComponentLike
	GetAccount() abs.TagLike
	GetProtocol() abs.VersionLike
	GetCertificate() CitationLike
	AddSignature(signature abs.BinaryLike)
	RemoveSignature() abs.BinaryLike
}

This interface defines the methods supported by all notarized components.

type NotaryLike

type NotaryLike interface {
	Prudent
	Certified
}

This interface consolidates all the interfaces supported by notary-like devices.

type Prudent

type Prudent interface {
	GenerateKey() ContractLike
	GetCitation() CitationLike
	RefreshKey() ContractLike
	ForgetKey()
}

This interface defines the methods supported by all prudent notary agents.

type Published

type Published interface {
	GetAlgorithms() abs.CatalogLike
	GetKey() abs.BinaryLike
}

This interface defines the methods supported by all published components.

type RecordLike

type RecordLike interface {
	abs.Encapsulated
	Restricted
	Typed
	Versioned
}

type Referential

type Referential interface {
	GetTag() abs.TagLike
	GetVersion() abs.VersionLike
	GetProtocol() abs.VersionLike
	GetDigest() abs.BinaryLike
}

This interface defines the methods supported by all referential components.

type Restricted

type Restricted interface {
	GetPermissions() abs.MonikerLike
}

This interface defines the methods supported by all restricted components.

type Seasoned

type Seasoned interface {
	GetSalt() abs.BinaryLike
}

This interface defines the methods supported by all salted components.

type SecurityModuleLike

type SecurityModuleLike interface {
	Trusted
	Hardened
}

This interface consolidates all the interfaces supported by security-module-like devices.

type Trusted

type Trusted interface {
	GetProtocol() string
	DigestBytes(bytes []byte) []byte
	IsValid(key []byte, signature []byte, bytes []byte) bool
}

This interface defines the methods supported by all trusted security modules.

type TypeLike

type TypeLike interface {
	abs.Encapsulated
	Named
}

type Typed

type Typed interface {
	GetType() TypeLike
}

This interface defines the methods supported by all typed components.

type Versioned

type Versioned interface {
	GetTag() abs.TagLike
	GetVersion() abs.VersionLike
	GetPrevious() CitationLike
}

This interface defines the methods supported by all versioned components.

Jump to

Keyboard shortcuts

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