aboutsummaryrefslogtreecommitdiff
path: root/sign.go
diff options
context:
space:
mode:
Diffstat (limited to 'sign.go')
-rw-r--r--sign.go22
1 files changed, 6 insertions, 16 deletions
diff --git a/sign.go b/sign.go
index ed2091d..8c99f4e 100644
--- a/sign.go
+++ b/sign.go
@@ -38,26 +38,16 @@ func sign(args []string) error {
if err != nil {
return err
}
- body, err := ioutil.ReadFile(*msgFile)
+ msg, err := ioutil.ReadFile(*msgFile)
if err != nil {
return err
}
- sig := secKey.Sign(body)
- raw, err := sig.MarshalBinary()
- if err != nil {
- return err
- }
- block := &file.Block{
- Comment: file.VerifyWith(*secFile),
- Bytes: raw,
- }
- if *embedded {
- block.Message = body // TODO implement as acting on io.Writer
- }
- if err := file.EncodeFile(*sigFile, file.ModeSig, block); err != nil {
- return err
+ sig := secKey.Sign(msg)
+ comment := file.VerifyWith(*secFile)
+ if !*embedded {
+ msg = nil
}
- return nil
+ return file.EncodeFile(*sigFile, file.ModeSig, sig, comment, msg)
}
func openSec(fname string) (*key.Sec, error) {