try to extract the key in order to decide whether to attach the key

This commit is contained in:
vyzo 2018-10-14 02:16:41 +03:00
parent bd15183543
commit 4dc796359e
3 changed files with 7 additions and 5 deletions

View File

@ -677,7 +677,7 @@ func (p *PubSub) Publish(topic string, data []byte) error {
} }
if p.signKey != nil { if p.signKey != nil {
m.From = []byte(p.signID) m.From = []byte(p.signID)
err := signMessage(p.signKey, m) err := signMessage(p.signID, p.signKey, m)
if err != nil { if err != nil {
return err return err
} }

View File

@ -68,7 +68,7 @@ func messagePubKey(m *pb.Message) (crypto.PubKey, error) {
return pubk, nil return pubk, nil
} }
func signMessage(key crypto.PrivKey, m *pb.Message) error { func signMessage(pid peer.ID, key crypto.PrivKey, m *pb.Message) error {
bytes, err := m.Marshal() bytes, err := m.Marshal()
if err != nil { if err != nil {
return err return err
@ -82,14 +82,16 @@ func signMessage(key crypto.PrivKey, m *pb.Message) error {
} }
m.Signature = sig m.Signature = sig
switch key.Type() {
case crypto.RSA: pk, _ := pid.ExtractPublicKey()
if pk == nil {
pubk, err := key.GetPublic().Bytes() pubk, err := key.GetPublic().Bytes()
if err != nil { if err != nil {
return err return err
} }
m.Key = pubk m.Key = pubk
} }
return nil return nil
} }

View File

@ -34,7 +34,7 @@ func testSignVerify(t *testing.T, privk crypto.PrivKey) {
From: []byte(id), From: []byte(id),
Seqno: []byte("123"), Seqno: []byte("123"),
} }
signMessage(privk, &m) signMessage(id, privk, &m)
err = verifyMessageSignature(&m) err = verifyMessageSignature(&m)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)