예제 #1
0
// Add the Entity's data to disk (in JSON format)
func (e *Entity) addEntityToStorage(prefix string, storage *ss.SecureStorage) error {
	if storage == nil {
		return fmt.Errorf("Error: can't add to storage, storage is nil")
	}
	val, _ := json.Marshal(e)
	return storage.AddItem(prefix, string(val))
}
예제 #2
0
// Add the group's data to disk (in JSON format)
func (g *Group) addGroupToStorage(prefix string, storage *ss.SecureStorage) error {
	if storage == nil {
		return fmt.Errorf("Error: can't add group to storage, storage is nil")
	}
	val, _ := json.Marshal(g)
	return storage.AddItem(prefix, string(val))
}
func playWithSecureStorage(storage *ss.SecureStorage, secret []byte) {
	fileName := "try.txt"
	defer os.Remove(fileName)
	err := storage.StoreInfo(fileName)
	if err != nil {
		fmt.Println("Error while saving:", err)
	}

	fmt.Println("Original data:")
	fmt.Println(storage.GetDecryptStorageData())

	keyText := fmt.Sprintf(keyFmt, 1)
	err = storage.RemoveItem(keyText)
	if err != nil {
		fmt.Println("Error while remove key:", err)
	}

	fmt.Println("After removing:")
	fmt.Println(storage.GetDecryptStorageData())

	sd, err := ss.LoadInfo(fileName, secret)
	if err != nil {
		fmt.Println("Error while reading:", err)
	}
	fmt.Println("The data that was read from file:", fileName)
	fmt.Println(sd.GetDecryptStorageData())
}
예제 #4
0
// Store User data info to the secure_storage
func (s Serializer) AddToStorage(prefix string, data interface{}, storage *ss.SecureStorage) error {
	d, ok := data.(*OtpUser)
	if ok == false {
		return fmt.Errorf("Error: Can't store the OTP property: its not in the right type")
	}
	if storage == nil {
		return fmt.Errorf("Error: can't add OTP property to storage, storage is nil")
	}
	value, _ := json.Marshal(d)
	err := storage.AddItem(prefix, string(value))
	if err != nil {
		return err
	}
	return nil
}
예제 #5
0
// Add the AM property information to the secure_storage
func (s Serializer) AddToStorage(prefix string, data interface{}, storage *ss.SecureStorage) error {
	lock.Lock()
	defer lock.Unlock()

	d, ok := data.(*AmUserInfo)
	if ok == false {
		return fmt.Errorf("can't store the Account management property, it has an illegal type")
	}
	if storage == nil {
		return fmt.Errorf("can't add AM property to storage, storage is nil")
	}
	value, _ := json.Marshal(d)
	err := storage.AddItem(prefix, string(value))
	if err != nil {
		return err
	}
	return nil
}
예제 #6
0
// Store ACL data info in the secure_storage
func (s Serializer) AddToStorage(prefix string, data interface{}, storage *ss.SecureStorage) error {
	lock.Lock()
	defer lock.Unlock()

	d, ok := data.(*Acl)
	if ok == false {
		return fmt.Errorf("Error: Can't store the ACL property as it has an illegal type")
	}
	if storage == nil {
		return fmt.Errorf("Error: Can't add an ACL property to storage, storage is nil")
	}
	value, err := json.Marshal(d)
	err = storage.AddItem(prefix, string(value))
	if err != nil {
		return err
	}
	return nil
}