Documentation ¶
Index ¶
- Constants
- Variables
- type Skykey
- type SkykeyID
- type SkykeyManager
- func (sm *SkykeyManager) AddKey(name string, cipherType crypto.CipherType, entropy []byte) (Skykey, error)
- func (sm *SkykeyManager) CreateKey(name string, cipherType crypto.CipherType) (Skykey, error)
- func (sm *SkykeyManager) IDByName(name string) (SkykeyID, error)
- func (sm *SkykeyManager) KeyByID(id SkykeyID) (Skykey, error)
- func (sm *SkykeyManager) KeyByName(name string) (Skykey, error)
- func (sm *SkykeyManager) SupportsCipherType(ct crypto.CipherType) bool
Constants ¶
const ( // SkykeyIDLen is the length of a SkykeyID SkykeyIDLen = 16 // MaxKeyNameLen is the maximum length of a skykey's name. MaxKeyNameLen = 128 )
Variables ¶
var ( // SkykeySpecifier is used as a prefix when hashing Skykeys to compute their // ID. SkykeySpecifier = types.NewSpecifier("Skykey") // SkykeyFileMagic is the first piece of data found in a Skykey file. SkykeyFileMagic = types.NewSpecifier("SkykeyFile") // SkykeyPersistFilename is the name of the skykey persistence file. SkykeyPersistFilename = "skykeys.dat" )
Functions ¶
This section is empty.
Types ¶
type Skykey ¶
type Skykey struct { Name string CipherType crypto.CipherType Entropy []byte }
Skykey is a key used to encrypt/decrypt skyfiles.
type SkykeyManager ¶
type SkykeyManager struct {
// contains filtered or unexported fields
}
SkykeyManager manages the creation and handling of new skykeys which can be referenced by their unique name or identifier.
func NewSkykeyManager ¶
func NewSkykeyManager(persistDir string) (*SkykeyManager, error)
NewSkykeyManager creates a SkykeyManager for managing skykeys.
func (*SkykeyManager) AddKey ¶
func (sm *SkykeyManager) AddKey(name string, cipherType crypto.CipherType, entropy []byte) (Skykey, error)
AddKey creates a key with the given name, cipherType, and entropy and adds it to the key file.
func (*SkykeyManager) CreateKey ¶
func (sm *SkykeyManager) CreateKey(name string, cipherType crypto.CipherType) (Skykey, error)
CreateKey creates a new Skykey under the given name and cipherType.
func (*SkykeyManager) IDByName ¶
func (sm *SkykeyManager) IDByName(name string) (SkykeyID, error)
IDByName returns the ID associated with the given key name.
func (*SkykeyManager) KeyByID ¶
func (sm *SkykeyManager) KeyByID(id SkykeyID) (Skykey, error)
KeyByID returns the Skykey associated with that ID.
func (*SkykeyManager) KeyByName ¶
func (sm *SkykeyManager) KeyByName(name string) (Skykey, error)
KeyByName returns the Skykey associated with that key name.
func (*SkykeyManager) SupportsCipherType ¶
func (sm *SkykeyManager) SupportsCipherType(ct crypto.CipherType) bool
SupportsCipherType returns true if and only if the SkykeyManager supports keys with the given cipher type.