Software Download Safety Guide
Learn how to verify file integrity, validate digital signatures, and protect your system when downloading software.

Why This Matters
Here's the uncomfortable reality: every time you download software, you're trusting that what you get is actually what the developer published. That's usually true. But "usually" isn't great when the alternative is malware on your system.
Attackers know this. They create lookalike download sites. They intercept downloads. They inject malware into legitimate installers. It happens more often than people realize.
The good news: verifying downloads isn't hard once you know how. This guide covers the three main approaches security professionals use, adapted for regular people.
The Three Things to Check
- Source — Are you downloading from the real publisher?
- Integrity — Did the file arrive intact and unmodified? (checksums)
- Authenticity — Did the claimed publisher actually create it? (digital signatures)
Each catches different problems. Using all three gives you solid protection.
Getting the Source Right
Finding the Real Download
Before downloading anything:
- Check the URL carefully. googIe.com (with a capital I) isn't google.com. Attackers love subtle misspellings.
- Look for HTTPS. The padlock icon matters. No padlock = don't download.
- Be skeptical of search results. Malicious sites can rank highly. When possible, type the URL directly or use a bookmark.
- Verify through multiple sources. If you found a download link on a forum, check the official site too.
Red Flags
Walk away if you see:
- Multiple "Download" buttons (the real one's usually the smallest)
- Promises of paid software for free
- Pressure to install "required" browser extensions or plugins
- Recently registered domain (check WHOIS if suspicious)
- Broken English and obvious template design
Mozilla's privacy and security resources cover additional browser-based protections worth enabling.
Verifying Checksums
A checksum is like a fingerprint for a file. The publisher calculates it from the original file and posts it. You download the file, calculate your own checksum, and compare. If they match, you've got an identical copy.
Even changing a single byte produces a completely different checksum. So if someone tampered with the file, you'll know.
Which Algorithm?
You'll see several types. Use whatever the publisher provides, but prefer SHA-256 when you have a choice:
- SHA-256 — Current best practice. 64 characters.
- SHA-1 — Older, considered weak for security but still catches accidental corruption. 40 characters.
- MD5 — Outdated. Only use if nothing else is available. 32 characters.
On Windows (PowerShell)
Get-FileHash "C:\Downloads\example.exe" -Algorithm SHA256Swap SHA256 for MD5 or SHA1 if that's what the publisher provides.
On macOS (Terminal)
shasum -a 256 ~/Downloads/example.dmgOn Linux
sha256sum ~/Downloads/example.tar.gzThe Critical Part
Compare your result with the published checksum character by character. They must match exactly. Case doesn't matter (abc123 = ABC123), but everything else does.
If they don't match: stop. Delete the file. Re-download from the source and try again. If it still doesn't match, something's wrong—either the publisher's checksum is wrong, or you're not getting the file you think you're getting.
Digital Signatures
Checksums prove a file wasn't modified. Digital signatures go further—they prove who created it. A valid signature means the file came from the claimed publisher and hasn't been tampered with since.
Checking Signatures on Windows
- Right-click the .exe or .msi file
- Select Properties → Digital Signatures tab
- Select the signature, click Details
- Verify it says "This digital signature is OK"
- Check that the signer name matches who you expect (Microsoft, Adobe, etc.)
No Digital Signatures tab? The file isn't signed. That's not automatically suspicious—plenty of legitimate software ships unsigned—but it means you can't verify the publisher this way.
What to Look For
- Valid signature — "This digital signature is OK"
- Correct signer — Should be the actual software company, not some random name
- Current certificate — Check it hasn't expired (look at the dates)
Linux Package Signatures
If you're installing from your distribution's package manager (apt, dnf, pacman), signatures are typically verified automatically. Manual package verification:
# Debian/Ubuntu
dpkg-sig --verify package.deb
# RPM-based
rpm -K package.rpmAdditional Security Measures
The NIST Cybersecurity Framework recommends layered defenses. Verification is one layer—here are others worth considering.
Antivirus Scanning
Even verified files should be scanned with updated antivirus software. This provides defense in depth against threats that may not be caught by verification alone.
Sandbox Testing
For unknown software, consider running it first in a sandbox or virtual machine. This isolates the software from your main system until you've verified it's safe.
System Backups
Before installing new software, ensure you have recent backups or can create a system restore point. This provides recovery options if something goes wrong.
Verification Checklist
Download Safety Checklist
Troubleshooting
Checksum Doesn't Match
- Re-download the file—corruption during download is common
- Verify you're comparing the right checksum (same algorithm, same file version)
- Download from a different mirror if available
- If checksums still don't match, do not use the file
No Digital Signature Present
Not all software is digitally signed, especially from smaller publishers. In this case:
- Rely more heavily on checksum verification
- Verify the download source carefully
- Research the software and publisher
- Consider whether you truly need the software
Signature From Unknown Publisher
If a signature is valid but the publisher is unfamiliar:
- Research the publisher name
- Verify it matches the expected software vendor
- Be cautious of generic or suspicious publisher names