"Signature does not belong to issuer" error

Few weeks ago we recognised that SIWE prompt cacao library uses is not really compatible with EIP-4361 “Sign in with Ethereum”. We made it compatible. The change is “Chain ID” field in the signed string (see “Example message” in EIP-4361: Sign-In with Ethereum). It should be after “Version” field, as per standard. We had set the threshold date for the change. CACAOs generated after certain date (2022-09-20) are expected to comply with EIP-4361. CACAOs generated before the date are treated as they can be both in “new”=EIP-4361 and “old” (erroneous) format. Now, after the threshold date the UI part asks the user to sign the old erroneous format. The error from the server is a result of enforcing a fully EIP-4361 compliant SIWE message. If you upgrade ceramic-cacao library on UI (as part of dids package or otherwise), it should stop the errors.

UPD: Make sure your node also uses latest ceramic-cacao (1.4.0 at the time of the writing).

The expectation was that one month is enough for everyone to upgrade, so that the change goes unnoticed. Yet, apparently, one month is not enough for an upgrade path.

So, please, make sure you use the latest ceramic-cacao library.

1 Like