advancedapi

package
v1.1.6 Latest Latest
Warning

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

Go to latest
Published: Feb 27, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddAuthenticationDelegationToDocument

func AddAuthenticationDelegationToDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	controller string, proof string, identity register.RegisteredIdentity,
) error

AddAuthenticationDelegationToDocument Add register authentication did delegation proof to a register document.

func AddAuthenticationKeyToDocument

func AddAuthenticationKeyToDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	publicBase58 string, identity register.RegisteredIdentity,
) error

AddAuthenticationKeyToDocument Add a new register authentication public key to a register document.

func AddControlDelegationToDocument

func AddControlDelegationToDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	controller string, proof string, identity register.RegisteredIdentity,
) error

AddControlDelegationToDocument Add register control did delegation proof to a register document.

func AddGenericAuthenticationDelegationToDocument added in v1.1.5

func AddGenericAuthenticationDelegationToDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	controller string, proof string, identity register.RegisteredIdentity,
) error

AddGenericAuthenticationDelegationToDocument Add register authentication generic delegation proof to a register document.

func AddGenericControlDelegationToDocument added in v1.1.5

func AddGenericControlDelegationToDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	controller string, proof string, identity register.RegisteredIdentity,
) error

AddGenericControlDelegationToDocument Add register control generic delegation proof to a register document.

func AddPublicKeyToDocument

func AddPublicKeyToDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	publicBase58 string, identity register.RegisteredIdentity,
) error

AddPublicKeyToDocument Add a new register public key to a register document.

func CreateAgentAuthToken

func CreateAgentAuthToken(
	agentID register.RegisteredIdentity, userDid string, duration time.Duration, audience string, startOffset int,
) (register.JwtToken, error)

CreateAgentAuthToken Create an agent authentication token.

func CreateDelegationProof

func CreateDelegationProof(
	delegatingIssuer *register.Issuer, subjectDoc *register.RegisterDocument, subjectKeyPair *crypto.KeyPair,
) (*register.Issuer, *proof.Proof, error)

CreateDelegationProof Create a proof that can be used to setup a delegation from a single delegating issuer doc. The signed proof content is the encoded DID Identifier of the delegating issuer doc.

func CreateGenericDelegationProof added in v1.1.5

func CreateGenericDelegationProof(
	subjectDoc *register.RegisterDocument, subjectKeyPair *crypto.KeyPair,
) (*register.Issuer, *proof.Proof, error)

CreateGenericDelegationProof Create a proof that can be used to setup a delegation from several delegating issuers doc. The signed proof content is an empty byte array.

func CreateIdentifier

func CreateIdentifier(publicBytes []byte) (string, error)

CreateIdentifier Create a new decentralised identifier.

func CreateNewDocument added in v1.1.0

func CreateNewDocument(
	purpose identity.DidType, keyPair *crypto.KeyPair, name string,
) (*register.RegisterDocument, *register.Issuer, error)

CreateNewDocument return a new RegisterDocument and Issuer, the local offline part of CreateNewDocumentAndRegister.

func CreateNewDocumentAndRegister added in v1.1.0

func CreateNewDocumentAndRegister(
	ctx context.Context, resolverClient register.ResolverClient, keyPair *crypto.KeyPair, purpose identity.DidType,
	name string, override bool,
) (*register.RegisterDocument, error)

CreateNewDocumentAndRegister Create and register a new document against the resolver.

func CreateNewIdentityAndRegister added in v1.1.0

func CreateNewIdentityAndRegister(
	ctx context.Context, resolverClient register.ResolverClient, purpose identity.DidType, keyPair *crypto.KeyPair,
	name string, override bool,
) (register.RegisteredIdentity, *register.RegisterDocument, error)

CreateNewIdentityAndRegister Create and register a new registered identity and its associated register document against the resolver.

func CreateProof

func CreateProof(keyPair *crypto.KeyPair, issuer *register.Issuer, content []byte) (*proof.Proof, error)

CreateProof Create a proof.

func CreateSeed

func CreateSeed(length int) ([]byte, error)

CreateSeed Create a new seed (secrets).

func CreateTwinAuthToken

func CreateTwinAuthToken(
	twinIdentity register.RegisteredIdentity, duration time.Duration, audience string, startOffset int,
) (register.JwtToken, error)

CreateTwinAuthToken Create a twin authentication token.

func DelegateAuthentication

func DelegateAuthentication(ctx context.Context, opts DelegationOpts) error

DelegateAuthentication Delegate authentication between delegating registered identity and delegated registered identity.

func DelegateControl

func DelegateControl(ctx context.Context, opts DelegationOpts) error

DelegateControl Delegate control between delegating registered identity and delegated registered identity. - delegating is user or twin - subject is always agent

func GetIssuerByPublicKey

func GetIssuerByPublicKey(document *register.RegisterDocument, publicBase58 string) (*register.Issuer, error)

GetIssuerByPublicKey Get issuer matching the public key from a register document public keys.

func GetKeyPairFromPrivateExponentHex

func GetKeyPairFromPrivateExponentHex(privateHex string) (*crypto.KeyPair, error)

GetKeyPairFromPrivateExponentHex Get keypair given the private exponent as a hex string.

func GetRegisterDocument

func GetRegisterDocument(
	ctx context.Context, resolverClient register.ResolverClient, did string,
) (*register.RegisterDocument, error)

GetRegisterDocument Get a register document from the resolver.

func NewIssuerByKeypair added in v1.1.0

func NewIssuerByKeypair(purpose identity.DidType, keyPair *crypto.KeyPair, name string) (*register.Issuer, error)

NewIssuerByKeypair Create a new registered identity and its associated register document using KeyPair.

func NewNameOrDefault added in v1.1.0

func NewNameOrDefault(purpose identity.DidType, name string) (string, error)

NewNameOrDefault Produce default name or validate passed name

func RegisterUpdatedDocument

func RegisterUpdatedDocument(
	ctx context.Context, resolverClient register.ResolverClient, doc *register.RegisterDocument,
	keypair *crypto.KeyPair, issuer *register.Issuer,
) error

RegisterUpdatedDocument Register a new version of a register document against the resolver.

func RemoveAuthenticationDelegationFromDocument

func RemoveAuthenticationDelegationFromDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	identity register.RegisteredIdentity,
) error

RemoveAuthenticationDelegationFromDocument Remove register authentication delegation proof from a register document.

func RemoveAuthenticationKeyFromDocument

func RemoveAuthenticationKeyFromDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	identity register.RegisteredIdentity,
) error

RemoveAuthenticationKeyFromDocument Remove a register authentication public key from a register document.

func RemoveControlDelegationFromDocument

func RemoveControlDelegationFromDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	identity register.RegisteredIdentity,
) error

RemoveControlDelegationFromDocument Remove register control delegation proof from a register document.

func RemovePublicKeyFromDocument

func RemovePublicKeyFromDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	identity register.RegisteredIdentity,
) error

RemovePublicKeyFromDocument Remove a register public key from a register document.

func RevokeAuthenticationDelegationFromDocument

func RevokeAuthenticationDelegationFromDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	identity register.RegisteredIdentity,
) error

RevokeAuthenticationDelegationFromDocument Set register authentication delegation proof revoke field.

func RevokeAuthenticationKeyFromDocument

func RevokeAuthenticationKeyFromDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	identity register.RegisteredIdentity,
) error

RevokeAuthenticationKeyFromDocument Set register authentication public key revoke field.

func RevokeControlDelegationFromDocument

func RevokeControlDelegationFromDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	identity register.RegisteredIdentity,
) error

RevokeControlDelegationFromDocument Set register control delegation proof revoke field.

func RevokePublicKeyFromDocument

func RevokePublicKeyFromDocument(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument, name string,
	identity register.RegisteredIdentity,
) error

RevokePublicKeyFromDocument Set register public key revoke field.

func SetDocumentController

func SetDocumentController(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument,
	identity register.RegisteredIdentity, controller *register.Issuer,
) error

SetDocumentController Set register document controller issuer.

func SetDocumentCreator

func SetDocumentCreator(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument,
	identity register.RegisteredIdentity, creator *register.Issuer,
) error

SetDocumentCreator Set register document creator.

func SetDocumentRevoked

func SetDocumentRevoked(
	ctx context.Context, resolverClient register.ResolverClient, originalDoc *register.RegisterDocument,
	identity register.RegisteredIdentity, revoked bool,
) error

SetDocumentRevoked Set register document revoke field.

func ValidateDocumentProof

func ValidateDocumentProof(document *register.RegisterDocument) error

ValidateDocumentProof Validate a register document proof.

func ValidateRegisterDocument

func ValidateRegisterDocument(
	ctx context.Context, resolverClient register.ResolverClient, document *register.RegisterDocument,
) error

ValidateRegisterDocument Validate a register document against the resolver.

Types

type DelegationOpts added in v1.1.0

type DelegationOpts struct {
	ResolverClient     register.ResolverClient
	DelegatingKeyPair  *crypto.KeyPair
	DelegatingDid      string
	DelegatingDocument *register.RegisterDocument
	SubjectKeyPair     *crypto.KeyPair
	SubjectDid         string
	SubjectDocument    *register.RegisterDocument
	Name               string
	ProofType          *register.DelegationProofType
}

DelegationOpts Options for delegation

Jump to

Keyboard shortcuts

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