func Id(c *Signed) string {
h := sha1.New()
h.Write(c.Body)
- return fmt.Sprintf("%040X", h.Sum())
+ return fmt.Sprintf("%040X", h.Sum(nil))
}
// Parse an epoint document without checking the signature and format details
}
// Verify an epoint document, return the cleaned version as well
-func Verify(c *Signed, key openpgp.KeyRing) (err error) {
+func Verify(c *Signed, keys openpgp.KeyRing) (err error) {
msg := bytes.NewBuffer(c.Body)
sig := bytes.NewBuffer(c.Signature)
- // TODO: verify signature
- _, _ = msg, sig
- // _, err = openpgp.CheckArmoredDetachedSignature(key, msg, sig)
+ _, err = openpgp.CheckArmoredDetachedSignature(keys, msg, sig)
return
}
fv.SetString(val)
case "int":
var val int64
- val, err = strconv.Atoi64(s)
+ val, err = strconv.ParseInt(s, 10, 64)
fv.SetInt(val)
case "date":
var val int64
case "text":
val = formatString(fv.String())
case "int":
- val = strconv.Itoa64(fv.Int())
+ val = strconv.FormatInt(fv.Int(), 10)
case "date":
val = formatDate(fv.Int())
case "ids":
if err != nil {
return 0, err
}
- return t.Seconds(), nil
+ return t.Unix(), nil
}
func formatDate(i int64) string {
- return time.SecondsToUTC(i).Format(time.RFC3339)
+ return time.Unix(i,0).Format(time.RFC3339)
}
func getLine(data []byte) (line, rest []byte) {