meshtastic / Meshtastic-Android

Android application for Meshtastic
https://meshtastic.org
GNU General Public License v3.0
748 stars 217 forks source link

[Bug]: Error: Unknown Public Key #1310

Closed joshbowyer closed 1 month ago

joshbowyer commented 1 month ago

Contact Details

No response

What happened?

Trying to direct message between two devices, fresh factory reset and nodes deleted from app on both sides. Node A sees Node B in node list, Node B never sees Node A. Trying to direct message from Node A to Node B fails quickly and tapping on the cloud/slash icon says Error: Unknown Public Key. Both nodes are on 2.5.5 and the app is 2.5.0 (Android)

App Version

2.5.0

Phone

Pixel 4, Samsung S22

Device

RAK4631, Waveshare LoRa hat/RPi

Firmware

2.5.5

Relevant log output

On Node B, debug panel never shows any packet to or from Node A.

On Node A, after attempting to send a direct message to Node B, it shows the packet to Node B with the correct nodeid, and the payload (message). However, the next packet says from Node B to Node A (reply), and payload is "\030#" (not sure what that means).

Code of Conduct

mtsdawson commented 1 month ago

I'm also having this issue. Both nodes are on 2.5.6 and android app is 2.5.1.

The public key from Node A is entered correctly in Node B -> Security -> Admin Key -> 1/3.

I've completed a NodeDB reset on both. Issue persists with the same error message.

Edit. Disregard, I resolved this via dev guidance from discord.

andrekir commented 1 month ago

Node A sees Node B in node list, Node B never sees Node A. Trying to direct message from Node A to Node B fails quickly and tapping on the cloud/slash icon says Error: Unknown Public Key.

Node B needs Node A's public key for PKC to work. this is handled in the firmware, not in the app. make sure your channels are setup correctly, let them discover each other and it should work.

joshbowyer commented 1 month ago

Why was this closed? My nodes have the same channels, shared and configured via QR code. Yet I get the error, however the Android app shows a green lock (basically says it is secured by PKI but then when actually trying to DM says unknown public key).

Edit: And for my issue (the original issue of this thread), I am not talking about remote admin. I am talking about two nodes directly messaging each other.

andrekir commented 1 month ago

if node B is doesn't show node A in the node list it won't work. that is expected. and this is not an app issue.

d3vv3 commented 1 month ago

Say you want to manage Node B with Node A (A controls B):

In node B Radio configuration > Security > Admin Key you have to place the public key of the node A. The Web UI provides a bit more information on this:

image

kalestew commented 1 month ago

I am also experiencing this problem with the PKI DMs.

I do not think this issue should be closed. At the very least a method to trigger key exchange manually should be a priority for improvement.

@andrekir is right that the expected functionality is the devices should update the keys automatically through the configured channel. This does not always happen. As @joshbowyer also observed, the issues with key mismatches are not always resolved with a nodedb reset and waiting a few hours with the nodes together.

I will collect some logs and the keys from each node and report later when I have some time to test again.

andrewheadricke commented 1 month ago

Also just got this problem. Please re-open the issue.

One node on 2.5.7 and another and 2.4.8, direct messages was working fine for several days. Now the 2.4.8 node cannot send messages anymore, gets 'unknown public key' error.

mtsdawson commented 1 month ago

I've had this a few times between firmware revisions, likely do to a public key change. Fix is to delete the node or do a full NodeBD reset. Error goes away after a new handshake / updated key exchange.


From: AndrewH @.> Sent: Sunday, October 27, 2024 10:04:04 PM To: meshtastic/Meshtastic-Android @.> Cc: skelzer @.>; Comment @.> Subject: Re: [meshtastic/Meshtastic-Android] [Bug]: Error: Unknown Public Key (Issue #1310)

Also just got this problem. Please re-open the issue.

One node on 2.5.7 and another and 2.4.8, direct messages was working fine for several days. Now the 2.4.8 node cannot send messages anymore, gets 'unknown public key' error.

— Reply to this email directly, view it on GitHubhttps://github.com/meshtastic/Meshtastic-Android/issues/1310#issuecomment-2440355758, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADBWV7KVN4GW2LH3HUCUTY3Z5WLRJAVCNFSM6AAAAABP22CKNKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBQGM2TKNZVHA. You are receiving this because you commented.Message ID: @.***>