Hi everyone, I’m using Tauri’s built-in updater and I’d like to manually verify that my .exe and its .sig actually match the public key I published.
What I’ve done so far:
- Generated my keypair
tauri signer generate -w ~/.tauri/updater.key
- Published the public key in my tauri.conf.json
"updater": {
"active": true,
"endpoints": ["https://cdn.mycdn.app/update/..."],
"pubkey": "<BASE64_PUBKEY_FROM_~/.tauri/updater.key.pub>"
}
- Built my app
cargo tauri build
→ Produces MyApp.exe and MyApp.exe.sig
- Uploaded both to my package manager, which shows in the JSON:
{
"version": "1.2.3",
"notes": "...",
"pub_date": "2025-05-15T12:54:05.768Z",
"url": "https://cdn.mycdn.app/asset/XYZ.exe",
"signature": "<Base64 of MyApp.exe.sig>",
"format": "nsis"
}
What I’m stuck on:
Tauri’s signer CLI doesn’t provide a “verify” command, so I tried using minisign:
minisign -Vm MyApp.exe -x MyApp.exe.sig -P <your-public-key-string>
but I always get:
Untrusted signature comment too long
That error comes from minisign’s comment-length check, and I haven’t been able to figure out a clean way to verify without hitting that limit.
My questions:
- What’s the recommended way to manually verify a Tauri updater signature?
- Is there a snippet (bash, Python, or otherwise) that simply checks the detached Ed25519 signature against the published public key, ignoring the comment length?
- Has anyone built a small utility or workflow for this?
Any pointers, example scripts, or best practices would be hugely appreciated—thanks! 🙏 🙏