key

package module
v0.0.0-...-25f2393 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2018 License: MIT Imports: 4 Imported by: 2

README

#key

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDriver    = errors.New("unknown driver")
	ErrPublicKey = errors.New("invalid public key")
)

Errors

Functions

func Decrypt

func Decrypt(encryptor string, key Key, attrs map[string]string, reader io.Reader) error

Decrypt .

func Encrypt

func Encrypt(encryptor string, key Key, attrs map[string]string, writer io.Writer) error

Encrypt .

func PublicKeyToAddress

func PublicKeyToAddress(driver string, pubkey []byte) (string, error)

PublicKeyToAddress .

func Recover

func Recover(driver string, sig []byte, hash []byte) ([]byte, error)

Recover recover public key from sig and hash

func RegisterEncryptor

func RegisterEncryptor(name string, f Encryptor)

RegisterEncryptor register key encrypto

func RegisterProvider

func RegisterProvider(provider Provider)

RegisterProvider register provider

func ValidAddress

func ValidAddress(driver string, address string) (bool, error)

ValidAddress .

func Verify

func Verify(driver string, pubkey []byte, sig []byte, hash []byte) (bool, error)

Verify .

Types

type Encryptor

type Encryptor interface {
	Encrypt(key Key, attrs map[string]string, writer io.Writer) error
	Decrypt(key Key, attrs map[string]string, reader io.Reader) error
}

Encryptor .

type Key

type Key interface {
	Address() string                    // address display string
	PriKey() []byte                     // private key byte array
	PubKey() []byte                     // public key byte array
	SetBytes(priKey []byte)             // set private key bytes
	Sign(hashed []byte) ([]byte, error) // sign the hashed message
	Provider() Provider                 // provider
}

Key blockchain key facade

func From

func From(driver string, key Key) (Key, error)

From create key from exist key

func New

func New(driver string) (Key, error)

New create key

type Provider

type Provider interface {
	Name() string      // driver name
	New() (Key, error) // create new key
	Verify(pubkey []byte, sig []byte, hash []byte) bool
	PublicKeyToAddress(pubkey []byte) (string, error)
	ValidAddress(address string) bool
}

Provider the key service provider

type RecoverableProvider

type RecoverableProvider interface {
	Provider
	Recover(sig []byte, hash []byte) (pubkey []byte, err error)
}

RecoverableProvider .

Directories

Path Synopsis
internal
did
Package did Ontology Distributed Identification Protocol impelement
Package did Ontology Distributed Identification Protocol impelement
eth

Jump to

Keyboard shortcuts

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