// SaveSnap encrypts the snapshot data (if an encrypter is exists) before passing it onto the // wrapped snap.Snapshotter's SaveSnap function. func (s *wrappedSnap) SaveSnap(snapshot raftpb.Snapshot) error { toWrite := snapshot var err error toWrite.Data, err = encryption.Encrypt(snapshot.Data, s.encrypter) if err != nil { return err } return s.Snapshotter.SaveSnap(toWrite) }
func encodePEMHeaderValue(headerValue []byte, kek []byte) (string, error) { var encrypter encryption.Encrypter = encryption.NoopCrypter if kek != nil { encrypter, _ = encryption.Defaults(kek) } encrypted, err := encryption.Encrypt(headerValue, encrypter) if err != nil { return "", err } return base64.StdEncoding.EncodeToString(encrypted), nil }
// Save encrypts the entry data (if an encrypter is exists) before passing it onto the // wrapped wal.WAL's Save function. func (w *wrappedWAL) Save(st raftpb.HardState, ents []raftpb.Entry) error { var writeEnts []raftpb.Entry for _, ent := range ents { data, err := encryption.Encrypt(ent.Data, w.encrypter) if err != nil { return err } writeEnts = append(writeEnts, raftpb.Entry{ Index: ent.Index, Term: ent.Term, Type: ent.Type, Data: data, }) } return w.WAL.Save(st, writeEnts) }