T The Triage ManualTechnical Guides for IT Emergencies
P2 · PKI & Certificate Management

Code Signing Certificate Blocking Software Deployment — SmartScreen or Endpoint AV

Signed executables, scripts, or packages are blocked by Windows SmartScreen, endpoint AV, or AppLocker because the code signing certificate is expired, revoked, missing from the trusted root store, or the certificate chain is incomplete. Affects SCCM/Intune software deployment and PowerShell execution policy enforcement.

Indicators

Likely causes

Diagnostic steps

  1. Check signature: sigcheck.exe -a -v <file.exe> (Sysinternals) or Get-AuthenticodeSignature <file> | Select-Object * (PowerShell) — check Status, SignerCertificate.NotAfter, TimestamperCertificate
  2. Verify the timestamp: Get-AuthenticodeSignature <file> | Select TimestamperCertificate — a countersignature timestamp from a trusted TSA makes the signature valid even after cert expiry
  3. Check cert chain: certutil -verify -urlfetch <signingcert.cer> — walks chain, checks revocation, downloads intermediates; look for missing or untrusted intermediate CA
  4. If internal CA: ensure the issuing CA certificate is in the enterprise Trusted Root / Intermediate CA stores via GPO (Computer Config > Windows Settings > Security Settings > Public Key Policies)
  5. For SmartScreen issues: EV certificates bypass SmartScreen reputation check immediately; OV certs build reputation over download count — check with virus total and submit for analysis
  6. Re-sign if cert expired and no timestamp: obtain new code signing cert, re-sign binaries with RFC3161 timestamp: signtool sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /a <file.exe>

Resolution path

Prevention

Tools

code-signingcertificatessmartscreenapplockerpowershellsccmintunepkisigntoolauthenticode