RX0557

Domain: Wire

Error message

an end_to_end value could not be sealed or opened: %s (%s)

In the message, %s marks a value that the engine fills in when it raises the error.

The story

A value protected end to end could not be locked, or could not be unlocked. Let's see both sides. When a value is marked end to end, it travels inside an envelope sealed to the key of the node that asked for it, so that only that node can open it. On the serving side, rush must seal the value. If it cannot, perhaps because it cannot draw random bytes, or the asking node's key is weak, then the read is answered with not yet. It is never sent in the clear, because sending it unprotected would defeat the whole point. On the dialing side, rush tries to open the envelope with this node's device key. It may fail because the envelope was sealed to a different node, or because a byte was changed on the way, or because it was read at a different coordinate than the one it was sealed for. In every case, nothing is printed as the value, since a wrong value shown as the real one is worse than none. The first slot names the request, the second says why. Check which node asked, and try again.

Text from the Rush engine's error catalogue.