mirror of
https://github.com/logos-messaging/go-libp2p-pubsub.git
synced 2026-01-02 12:53:09 +00:00
try to extract the key in order to decide whether to attach the key
This commit is contained in:
parent
bd15183543
commit
4dc796359e
@ -677,7 +677,7 @@ func (p *PubSub) Publish(topic string, data []byte) error {
|
||||
}
|
||||
if p.signKey != nil {
|
||||
m.From = []byte(p.signID)
|
||||
err := signMessage(p.signKey, m)
|
||||
err := signMessage(p.signID, p.signKey, m)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
8
sign.go
8
sign.go
@ -68,7 +68,7 @@ func messagePubKey(m *pb.Message) (crypto.PubKey, error) {
|
||||
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()
|
||||
if err != nil {
|
||||
return err
|
||||
@ -82,14 +82,16 @@ func signMessage(key crypto.PrivKey, m *pb.Message) error {
|
||||
}
|
||||
|
||||
m.Signature = sig
|
||||
switch key.Type() {
|
||||
case crypto.RSA:
|
||||
|
||||
pk, _ := pid.ExtractPublicKey()
|
||||
if pk == nil {
|
||||
pubk, err := key.GetPublic().Bytes()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
m.Key = pubk
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@ -34,7 +34,7 @@ func testSignVerify(t *testing.T, privk crypto.PrivKey) {
|
||||
From: []byte(id),
|
||||
Seqno: []byte("123"),
|
||||
}
|
||||
signMessage(privk, &m)
|
||||
signMessage(id, privk, &m)
|
||||
err = verifyMessageSignature(&m)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user