Categorygithub.com/SWAN-community/owid-go
modulepackage
0.1.8
Repository: https://github.com/swan-community/owid-go.git
Documentation: pkg.go.dev

# README

Open Web Id

Open Web Id (OWID)

Open Web Id (OWID) - Simple cryptographically auditable identifiers and processors implemented in Go.

Read the OWID project to learn more about the concepts before looking into this reference implementation.

# Functions

AddHandlers to the http default mux for shared web state.
EmptyToBuffer writes an empty OWID marker.
FromBase64 creates a single OWID from the base 64 string.
FromBuffer creates a single OWID from the buffer and data.
FromByteArray creates a single OWID from the byte array with the data provided.
FromForm extracts the base64 string from the form and returns the OWID.
HandlerAddKeys adds a key to the signer associated with the domain.
HandlerRegister handles registering of a domain as a signer.
HandlerSigner Returns the public information associated with the creator.
HandlerSignersAsJSON is a handler that returns a list of all the known domains that relate to signers in JSON format.
HandlerVerify verifies the signature in the incoming OWID.
NewAWS creates a new instance of the AWS structure cspell:ignore sess.
NewConfig creates a new instance of configuration from the file provided.
NewCrypto creates an new instance of the Crypto structure and generates a public / private key pair used to sign and verify OWIDs.
NewCryptoSignOnly creates a new instance of the Crypto structure for signing OWIDs only from the PEM provided.
NewCryptoVerifyOnly creates a new instance of the Crypto structure for Verifying OWIDs only from the PEM key.
NewLocalStore creates a new instance of Local from a given file path.
NewServices a set of services to use with OWID.
NewStore returns a work implementation of the Store interface for the configuration supplied.
NewTestSigner creates a new default test signer.
NewTestSigner creates a new test signer for the domain, name, and terms provided.
NewUnsignedOwid creates a new unsigned instance of the OWID structure.

# Structs

AWS is a implementation of owid.Store for Amazon's Dynamo DB storage.
ByteArray is a simple implementation of the data interface.
Configuration details from appsettings.json for access to the AWS, Azure, or GCP storage.
Crypto structure containing the public and private keys.
Keys associated with a signer at a given point in time.
Keys with domain is a structure that also includes the domain of the signer that the key relates to.
Local store implementation for OWID - data is stored in maps in memory and persisted on disk using JSON files.
OWID structure which can be used as a node in a tree.
PublicKey associated with the signer at a given point in time.
Register contains HTML template data used to register a signer.
Services references all the information needed for OWID methods.
Signer of Open Web Ids.
Signer of Open Web Ids in a form that can be marshalled for providing public key information to other parties.

# Interfaces

Marshaler used to obtain only the data from the target of the OWID that needs to be signed or verified.
Store is an interface for accessing persistent signer data for signing and verifying OWIDs.