diff --git a/cmd/cfg-envelope.go b/cmd/cfg-envelope.go index 6d6eb11..8a58686 100644 --- a/cmd/cfg-envelope.go +++ b/cmd/cfg-envelope.go @@ -55,7 +55,7 @@ func newEnvelope(name string) (*jess.Envelope, error) { envelope.SuiteID = jess.SuiteRcptOnly err = selectSignets(envelope, "recipient") case "Sign a file": - envelope.SuiteID = jess.SuiteSign + envelope.SuiteID = jess.SuiteSignFileV1 err = selectSignets(envelope, "sender") } if err != nil { @@ -105,7 +105,20 @@ func editEnvelope(envelope *jess.Envelope) error { switch { case strings.HasPrefix(submenu, "Done"): - // save + // Check if the envolope is valid. + if envelope.SecurityLevel == 0 { + fmt.Println("Envelope is invalid, please fix before saving.") + continue + } + // Remove and keys and save. + _ = envelope.LoopSecrets("", func(signet *jess.Signet) error { + signet.Key = nil + return nil + }) + _ = envelope.LoopSenders("", func(signet *jess.Signet) error { + signet.Key = nil + return nil + }) return trustStore.StoreEnvelope(envelope) case strings.HasPrefix(submenu, "Abort"): return nil