From 9fa8f64fd33d5562adece90a06aeb4341663fc1b Mon Sep 17 00:00:00 2001 From: vyzo Date: Tue, 28 Aug 2018 11:43:29 +0300 Subject: [PATCH] prefix signed data with libp2p-pubsub: --- sign.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sign.go b/sign.go index a234d49..1bd04ab 100644 --- a/sign.go +++ b/sign.go @@ -9,6 +9,8 @@ import ( peer "github.com/libp2p/go-libp2p-peer" ) +const SignPrefix = "libp2p-pubsub:" + func verifyMessageSignature(m *pb.Message) error { pubk, err := messagePubKey(m) if err != nil { @@ -26,6 +28,8 @@ func verifyMessageSignature(m *pb.Message) error { return err } + bytes = withSignPrefix(bytes) + valid, err := pubk.Verify(bytes, m.Signature) if err != nil { return err @@ -73,6 +77,8 @@ func signMessage(key crypto.PrivKey, m *pb.Message) error { return err } + bytes = withSignPrefix(bytes) + sig, err := key.Sign(bytes) if err != nil { return err @@ -89,3 +95,7 @@ func signMessage(key crypto.PrivKey, m *pb.Message) error { } return nil } + +func withSignPrefix(bytes []byte) []byte { + return append([]byte(SignPrefix), bytes...) +}