Security
Checking your download
Every vrOS release is signed twice. This page is the reference you compare a signature against — on its own, a signature proves nothing.
What the signature does and does not prove
vrOS is signed with a self-signed certificate. That is a deliberate choice: the point is to show a build came from us, not to make Windows stop warning about it. Windows will still say the publisher is unverified, and that is expected.
What it gives you is a fingerprint. If the one on your copy matches the one below, the file came from us and has not been altered since. If it does not match, something is wrong — see the bottom of this page.
This is protection against a corrupted download or a modified file, not against someone who has already taken over your machine. Anyone who can patch the binary can also patch the part that checks it.
Windows
Right-click vros.exe, choose Properties, and open the Digital Signatures tab. Or, in PowerShell:
- Subject
- CN=catnet systems
- SHA-256 thumbprint
- 003F 4DCF 8160 8871 CB68 85F6 1071 C42A DCE6 7DC4 BF7C 2E83 6326 7B50 1F28 68F9
Get-AuthenticodeSignature vros.exe | Format-ListExpect Status to read NotTrusted or UnknownError. That is what a self-signed certificate looks like and it is correct. What matters is the certificate: its subject and thumbprint must match the values above. Status "HashMismatch" is the one that means trouble.
SHA256SUMS from PowerShell
The checksum file and its signature can be checked from PowerShell too. Do not pipe the file through Get-Content: PowerShell rewrites the line ending, and a good signature then reads as a bad one.
Get-FileHash vros.exe -Algorithm SHA256cmd /c "ssh-keygen -Y verify -f allowed_signers -I [email protected] -n vros-release -s SHA256SUMS.sig < SHA256SUMS"Every platform
Each release ships a SHA256SUMS file listing the hash of the binary, signed with the SSH key the project signs its commits with. This is the check that works on Linux, where nothing verifies a binary for you.
These commands are for a POSIX shell. On Windows that is Git Bash; from PowerShell, use the two commands in the Windows section instead.
- Save the public key below as vros-release.pub, then build an allowed-signers line from it.
- Check the hash matches the binary.
- Check the signature on the hash file.
Public key
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICo4wouetRRRvTvo/skt/npKjIwb9bjRLrj35wyWK3Vvallowed_signers
[email protected] namespaces="vros-release" ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICo4wouetRRRvTvo/skt/npKjIwb9bjRLrj35wyWK3VvThe namespace matters. Release signatures use their own, so a key trusted for releases is not silently trusted for anything else.
Check the hash
sha256sum -c SHA256SUMSCheck the signature
ssh-keygen -Y verify -f allowed_signers -I [email protected] \
-n vros-release -s SHA256SUMS.sig < SHA256SUMSInside the app
vrOS shows the same fingerprint itself. Open the tray icon and choose About: the SIGNATURE section names the certificate that signed the copy you are running. Compare it with this page.
If it does not match
Do not run the file.
Delete it and reinstall through Steam, which verifies its own downloads. If a fresh install still does not match, that is worth telling us about.