Documentation ¶
Index ¶
Constants ¶
View Source
const ( // StandardScryptN is the N parameter of Scrypt encryption algorithm, using 256MB // memory and taking approximately 1s CPU time on a modern processor. StandardScryptN = 1 << 18 // StandardScryptP is the P parameter of Scrypt encryption algorithm, using 256MB // memory and taking approximately 1s CPU time on a modern processor. StandardScryptP = 1 // LightScryptN is the N parameter of Scrypt encryption algorithm, using 4MB // memory and taking approximately 100ms CPU time on a modern processor. LightScryptN = 1 << 12 // LightScryptP is the P parameter of Scrypt encryption algorithm, using 4MB // memory and taking approximately 100ms CPU time on a modern processor. LightScryptP = 6 )
Variables ¶
View Source
var ( // ErrDecrypt is the standard error message when decryption is a failure. ErrDecrypt = errors.New("could not decrypt key with given passphrase") )
Functions ¶
func EncryptKey ¶
EncryptKey encrypts a key using the specified scrypt parameters into a json blob that can be decrypted later on.
func RetrievePubKey ¶
RetrievePubKey retrieves the public key from the keystore.
func StoreRandomKey ¶
StoreRandomKey generates a key, encrypts with 'auth' and stores in the given directory
Types ¶
type Key ¶
type Key struct { ID uuid.UUID // Version 4 "random" for unique id not derived from key data PublicKey *bls.PublicKey // Represents the public key of the user. SecretKey *bls.SecretKey // Represents the private key of the user. }
Key is the object that stores all the user data related to their public/secret keys.
func DecryptKey ¶
DecryptKey decrypts a key from a json blob, returning the private key itself.
func (*Key) MarshalJSON ¶
MarshalJSON marshalls a key struct into a JSON blob.
func (*Key) UnmarshalJSON ¶
UnmarshalJSON unmarshals a blob into a key struct.
type Store ¶
type Store struct {
// contains filtered or unexported fields
}
Store defines a keystore with a directory path and scrypt values.
Click to show internal directories.
Click to hide internal directories.