Verifying the released binaries
This guide explains how to verify the integrity of Specter firmware binaries on the command line of your OS.
Files needed to verify
initial_firmware_v<version>.bin- Binary with secure bootloader. Use for upgrading from versions below 1.4.0 or first-time uploadspecter_upgrade_v<version>.bin- For regular upgrades (after you have once done a first-time upload)sha256.signed.txt- Contains the expected hashes of the binaries, which are signed by the specter team
Note: Replace
<version>with your actual firmware version (e.g., 1.9.0)
Download these files for the release you want to use from the Specter DIY repository: https://github.com/cryptoadvance/specter-diy/releases
Linux Verification
Prerequisites
# GPG is usually pre-installed. If not:
sudo apt-get install gnupg # Debian/Ubuntu
sudo dnf install gnupg2 # Fedora
Verification Steps
1. Import Stepan's PGP key:
curl -s https://stepansnigirev.com/ss-specter-release.asc | gpg --import
2. Verify the signature of sha256.signed.txt:
gpg --verify sha256.signed.txt
✓ Look for "Good signature from" message
3. Verify the hash of the binary:
sha256sum -c sha256.signed.txt --ignore-missing
✓ Should show "OK" for the binary file(s)
macOS Verification
Prerequisites
# Install GPG via Homebrew
brew install gnupg
Verification Steps
1. Import Stepan's PGP key:
curl -s https://stepansnigirev.com/ss-specter-release.asc | gpg --import
2. Verify the signature of sha256.signed.txt:
gpg --verify sha256.signed.txt
✓ Look for "Good signature from" message
3. Verify the hash of the binary:
shasum -a 256 -c sha256.signed.txt --ignore-missing
✓ Should show "OK" for the binary file(s)
Windows Verification
Prerequisites
- Download and install Gpg4win
- After installation, open PowerShell or Command Prompt
Verification Steps
1. Import Stepan's PGP key:
curl.exe -s https://stepansnigirev.com/ss-specter-release.asc -o stepan-key.asc
gpg --import stepan-key.asc
2. Verify the signature of sha256.signed.txt:
gpg --verify sha256.signed.txt
✓ Look for "Good signature from" message
3. Verify the hash of the binary:
certutil -hashfile initial_firmware_v<version>.bin SHA256
certutil -hashfile specter_upgrade_v<version>.bin SHA256
Then manually compare the outputs with the hashes in sha256.signed.txt. They need to be the same.