sig

package
v0.0.0-...-835eb37 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2021 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Ed25519Keygen

func Ed25519Keygen(options interface{}, dst *GeneratedKeys) (err error)

Ed25519Keygen generates Ed25519Keys

func RSAKeygen

func RSAKeygen(options interface{}, size RSAKeySize, dst *GeneratedKeys) error

RSAKeygen generates RSA key with specified size.

Types

type GeneratedKeys

type GeneratedKeys struct {
	SigningKey   []byte
	VerifyingKey []byte
}

GeneratedKeys represents key generated from Keygen. Keygens append results to slices contained in this structure.

type Hasher

type Hasher interface {
	io.Writer

	Finalize(appendTo []byte) (res []byte, err error)
}

Hasher is something capable of computing hashes. It accepts data and creates hash sum form it.

func GetSigningHasher

func GetSigningHasher(options interface{}) (h Hasher, err error)

GetSigningHasher retrives hasher designed to be used for signing purposes from options given.

type HasherFac

type HasherFac = func(options interface{}) (Hasher, error)

HasherFac is something, which creates hasher. It's also used for HMAC.

func DefaultSginingHasherFac

func DefaultSginingHasherFac() HasherFac

DefaultSginingHasherFac gets default hasher factory, which should be used for shortening messages for signing purposes.

func NewCryptoHasherFac

func NewCryptoHasherFac(h crypto.Hash) (fac HasherFac, err error)

NewCryptoHasherFac creates HasherFac form golang's std hash.Hash for instance hash.SHA256.

func NewHMAC

func NewHMAC(h crypto.Hash, key []byte) (fac HasherFac, err error)

NewHMAC creates HasherFac from golang's std hash.Hash and key.

type Keygen

type Keygen = func(options interface{}, dst *GeneratedKeys) (err error)

Keygen creates new key from RNG. Dst parameter must not be nil.

func NewRSAKeygen

func NewRSAKeygen(size RSAKeySize) (Keygen, error)

NewRSAKeygen creates RSA keygen for specified key size.

type RSAKeySize

type RSAKeySize int

RSAKeySize denotes RSA key size(in bits), which is accepted by this library.

const (
	RSA1024 RSAKeySize = 1024
	RSA2048 RSAKeySize = 2048
	RSA4096 RSAKeySize = 4096
)

func (RSAKeySize) Check

func (s RSAKeySize) Check() (err error)

Check checks if RSA key is valid or not.

type SigKey

type SigKey = func(options interface{}) (Signer, error)

SigKey is key, which is able to create multiple Signers.

func ParseEd25519SigKey

func ParseEd25519SigKey(data []byte) (SigKey, error)

ParseEd25519SigKey parses signing key for Ed25519 signing algorithm.

func ParseRSASigKey

func ParseRSASigKey(data []byte, size RSAKeySize) (SigKey, error)

ParseRSASigKey parses RSA signing key with specified size.

type SigKeyParser

type SigKeyParser func(data []byte) (SigKey, error)

SigKeyParser parses signing key for some algorithm.

func NewRSASigKeyParser

func NewRSASigKeyParser(size RSAKeySize) (SigKeyParser, error)

NewRSASigKeyParser creates RSA signing key parser for specified key size.

type Signer

type Signer interface {
	io.Writer

	Finalize(appendTo []byte) ([]byte, error)
}

Signer is something capable of signing data. User should write all data using Write method and create sign using Sign method. Amount of bytes passed per write call does not matter.

type SigningHasherOptions

type SigningHasherOptions interface {
	SigningHasher() Hasher
}

SigningHasherOptions denotates options, which have hasher designed for signing provided instead of default one.

type VerKey

type VerKey = func(options interface{}) (Verifier, error)

VerKey is key, which is able to create multiple Verifiers. Each verifier is able to verify single sign.

func ParseEd25519VerKey

func ParseEd25519VerKey(data []byte) (VerKey, error)

ParseEd25519VerKey parses signing key for Ed25519 signing algorithm.

func ParseRSAVerKey

func ParseRSAVerKey(data []byte, size RSAKeySize) (VerKey, error)

ParseRSAVerKey parses RSA verifying key with specified size.

type VerKeyParser

type VerKeyParser func(data []byte) (VerKey, error)

VerKeyParser prases verifying key for some algorithm.

func NewRSAVerKeyParser

func NewRSAVerKeyParser(size RSAKeySize) (VerKeyParser, error)

NewRSAVerKeyParser creates RSA verifying key parser for specified key size.

type Verifier

type Verifier interface {
	io.Writer

	Verify(sign []byte) error
}

Verifier checks signs created with signer.

Jump to

Keyboard shortcuts

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