Documentation
¶
Index ¶
Constants ¶
const EcdsaSignatureLen = 64
EcdsaSignatureLen is 64 bytes
const PrivKeyBytesLen = 32
PrivKeyBytesLen are 32-bytes for all supported curvetypes
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type KeyPair ¶
type KeyPair struct { PublicKey *types.PublicKey `json:"public_key"` PrivateKey []byte `json:"private_key"` }
KeyPair contains a PrivateKey and its associated PublicKey
func GenerateKeypair ¶
GenerateKeypair returns a Keypair of a specified CurveType
func ImportPrivKey ¶
ImportPrivKey returns a Keypair from a hex-encoded privkey string
func (*KeyPair) MarshalJSON ¶
MarshalJSON overrides the default JSON marshaler and encodes bytes as hex instead of base64.
func (*KeyPair) UnmarshalJSON ¶
UnmarshalJSON overrides the default JSON unmarshaler and decodes bytes from hex instead of base64.
type Signer ¶
type Signer interface { PublicKey() *types.PublicKey Sign(payload *types.SigningPayload, sigType types.SignatureType) (*types.Signature, error) Verify(signature *types.Signature) error }
Signer is an interface for different curve signers
type SignerEdwards25519 ¶
type SignerEdwards25519 struct {
KeyPair *KeyPair
}
SignerEdwards25519 is initialized from a keypair
func (*SignerEdwards25519) PublicKey ¶
func (s *SignerEdwards25519) PublicKey() *types.PublicKey
PublicKey returns the PublicKey of the signer
func (*SignerEdwards25519) Sign ¶
func (s *SignerEdwards25519) Sign( payload *types.SigningPayload, sigType types.SignatureType, ) (*types.Signature, error)
Sign arbitrary payloads using a KeyPair
type SignerSecp256k1 ¶
type SignerSecp256k1 struct {
KeyPair *KeyPair
}
SignerSecp256k1 is initialized from a keypair
func (*SignerSecp256k1) PublicKey ¶
func (s *SignerSecp256k1) PublicKey() *types.PublicKey
PublicKey returns the PublicKey of the signer
func (*SignerSecp256k1) Sign ¶
func (s *SignerSecp256k1) Sign( payload *types.SigningPayload, sigType types.SignatureType, ) (*types.Signature, error)
Sign arbitrary payloads using a KeyPair