aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authoraxtloss <axtlos@getcryst.al>2024-02-05 21:15:37 +0100
committeraxtloss <axtlos@getcryst.al>2024-02-05 21:15:37 +0100
commitae67ea6a67c25fef305964ee34d4bf96b9da8519 (patch)
treebb4d2227ea6ec2a9b8543c7cdb39b58429cec467 /core
parentf1524db2c9d935daabd3b1557caf54fbdd63dde5 (diff)
downloadfsverify-ae67ea6a67c25fef305964ee34d4bf96b9da8519.tar.gz
fsverify-ae67ea6a67c25fef305964ee34d4bf96b9da8519.tar.bz2
add db signing to setup and switch to aead.dev/minisign
Diffstat (limited to 'core')
-rw-r--r--core/verification.go24
1 files changed, 7 insertions, 17 deletions
diff --git a/core/verification.go b/core/verification.go
index 7c427c0..b0ce367 100644
--- a/core/verification.go
+++ b/core/verification.go
@@ -6,8 +6,8 @@ import (
"os"
"strings"
+ "aead.dev/minisign"
"github.com/axtloss/fsverify/config"
- "github.com/jedisct1/go-minisign"
"github.com/tarm/serial"
)
@@ -104,28 +104,18 @@ func ReadBlock(node Node, part *bufio.Reader) ([]byte, error) {
return block, err
}
-func VerifySignature(key string, signature string, database string) error {
- pk, err := minisign.NewPublicKey(key)
- if err != nil {
- return err
- }
-
- sig, err := minisign.DecodeSignature(signature)
- if err != nil {
- return err
+func VerifySignature(key string, signature string, database string) (bool, error) {
+ var pk minisign.PublicKey
+ if err := pk.UnmarshalText([]byte(key)); err != nil {
+ return false, err
}
data, err := os.ReadFile(database)
if err != nil {
- return err
+ return false, err
}
- verified, err := pk.Verify(data, sig)
- if err != nil || !verified {
- return err
- }
-
- return nil
+ return minisign.Verify(pk, data, []byte(signature)), nil
}
func VerifyBlock(block []byte, node Node) error {