// Sync encrypts the store content and writes it to the disk func (s *Store) Sync() error { switch s.encryptionOpts.Algorithm { case crypto.GPG_ENCRYPTION: var f *openpgp.GpgFile var err error f, err = openpgp.OpenFile(s.path, os.O_CREATE|os.O_WRONLY, s.encryptionOpts.Passphrase, s.Meta.Recipients) if err != nil { return err } defer f.Close() jsonData, err := s.ToJson() if err != nil { return err } _, err = f.Write([]byte(jsonData)) if err != nil { return err } default: return fmt.Errorf("Invalid encryption method provided") } return nil }