Certificate is signed with a broken hash algorithm
What this check looks for
The certificate is signed using an outdated method that can be forged. Browsers have rejected these since 2017.
Why it matters
A forgeable signature means someone can create a second certificate that appears to be signed by the same authority — the exact attack certificates exist to prevent. Browsers already refuse to load the site.
When the check passes, your report says: “The certificate is signed with a hash browsers still accept”.
What it costs your score
When this check fails it removes 30 points from your TLS score, before the status, confidence and repeat multipliers are applied. TLS carries a weight of 15 in the overall score.
It shares the tls.certificate family ceiling of 60 points: however many findings that family produces, together they cannot remove more than that from TLS. One underlying problem showing up in several places is still one problem.
- Severity
- high
- Default confidence
- confirmed
- Status when triggered
- fail
- Deduction
- 30 points
- Family cap
- tls.certificate · 60
- Category
- TLS
- Module
- Tls certificate
- Fix owned by
- user
- In the ruleset since
- 2026.09
How to fix it
Re-issue with a SHA-256 signature.
A SHA-1 or MD5 signature is forgeable and is already rejected by browsers.
Issue a new certificate from a public CA — every one of them signs with SHA-256 or better.
If an internal CA issued this, re-key that CA too: its own signature is the weak link.
How to confirm it worked
openssl s_client -connect ‹host›:443 -servername ‹host› </dev/null 2>/dev/null | openssl x509 -noout -text | grep 'Signature Algorithm'
A named slot like ‹domain› — and the braces left in the configuration below — is filled in with your own values when this rule appears on a report.
Remediation by platform
certbot --nginx -d ‹host› --cert-name ‹host›Technical detail
The signature algorithm is ‹algorithm›. SHA-1 has had a practical chosen-prefix collision since SHAttered (2017) and MD5 since 2008; both are exactly the primitive a certificate forgery needs. No public CA has issued a SHA-1 certificate since 2016, so seeing one means an internal CA, a very old certificate, or a device generating its own.
Standards and references
Test this on your domain
Run the check that produces this finding, on its own, against any domain.
Other tls certificate checks
- Certificate chain is missing an intermediate
- Certificate chain is not in the required order
- TLS certificate has expired
- TLS certificate expires in under 30 days
- TLS certificate expires in under 7 days
- Certificate does not cover the hostname
- Certificate has no Subject Alternative Name
- TLS certificate is not valid yet
- Certificate is self-signed
- Certificate could not be parsed
- Certificate does not chain to a trusted root
- Certificate is valid for longer than a public CA may issue