ERR_CERT_WEAK_SIGNATURE_ALGORITHM

SSL/TLS Error

What Does ERR_CERT_WEAK_SIGNATURE_ALGORITHM Mean?

ERR_CERT_WEAK_SIGNATURE_ALGORITHM is an SSL/TLS error that occurs when a website's SSL certificate (or any certificate in its chain) is signed using a cryptographic algorithm that is considered too weak to be secure. This primarily affects certificates signed with SHA-1, MD5, or MD2, which have known vulnerabilities that could allow attackers to forge certificates.

Modern browsers require certificates to use SHA-256 (SHA-2 family) or stronger signature algorithms. The SHA-1 deprecation was completed by all major browsers by 2017, and any certificate still using SHA-1 will trigger this error. MD5 and MD2 were deprecated even earlier due to more severe vulnerabilities that allow practical collision attacks.

This error protects users from certificates that could potentially be forged. A weak signature algorithm means an attacker with sufficient computational resources could create a fraudulent certificate that appears to be legitimately signed. While such attacks are expensive and complex, they are within the capabilities of well-funded adversaries, making the browser's refusal to accept these certificates a necessary security measure.

Common Causes

The primary cause is an SSL certificate signed with SHA-1 or an older algorithm. This is common with older certificates that were issued before the SHA-1 deprecation timeline. Some organizations, particularly in government or enterprise environments, continued using SHA-1 signed certificates longer than recommended due to legacy system compatibility requirements.

Intermediate certificates in the certificate chain using weak signatures can also trigger this error. Even if your server's certificate uses SHA-256, a SHA-1 intermediate certificate in the chain will cause the browser to reject the entire chain. This is less common today but can occur with older CA infrastructure or cross-signed certificates.

Self-signed certificates generated with default settings on older systems may use weak algorithms by default. OpenSSL versions prior to 1.0.2 defaulted to SHA-1 for certificate signing. Legacy hardware security modules (HSMs) or certificate management tools may also generate certificates with weak algorithms if not explicitly configured otherwise.

Step-by-Step Fix

For website visitors: This error cannot be resolved on the visitor's side - the website administrator must replace the certificate. Contact the website owner to inform them their certificate uses a deprecated signature algorithm. In the meantime, avoid entering sensitive information on the site. Do not bypass this warning for sites that handle personal data.

For website administrators: Obtain a new SSL certificate that uses SHA-256 (SHA-2). Most modern CAs issue SHA-256 certificates by default. If using Let's Encrypt, certificates are automatically SHA-256. When generating a CSR (Certificate Signing Request), explicitly specify SHA-256: 'openssl req -new -sha256 -key server.key -out server.csr'. Replace both the server certificate and any intermediate certificates.

Verify the entire certificate chain uses SHA-256 or stronger by running: 'openssl s_client -connect yourdomain.com:443 -showcerts | openssl x509 -text -noout | grep "Signature Algorithm"'. Ensure your CA's intermediate certificates also use SHA-256. After replacing the certificate, test with an SSL checker tool. If you generate self-signed certificates for testing, always specify '-sha256' in the OpenSSL command.

Related SSL Errors

Frequently Asked Questions

What does ERR_CERT_WEAK_SIGNATURE_ALGORITHM mean?

This error means the website's SSL certificate or its chain uses a deprecated signature algorithm like SHA-1 or MD5. Modern browsers require SHA-256 or stronger algorithms and will block connections to sites using weak signatures.

Why is SHA-1 considered weak?

SHA-1 has known theoretical and practical vulnerabilities. In 2017, Google researchers demonstrated a practical SHA-1 collision attack (SHAttered). This means attackers could potentially forge certificates, making SHA-1 untrustworthy for certificate signing. All major browsers stopped trusting SHA-1 certificates by 2017.

How do I check my certificate's signature algorithm?

Use an SSL checker tool online, or run: 'openssl s_client -connect yourdomain.com:443 | openssl x509 -noout -text | grep Signature'. Look for 'sha256WithRSAEncryption' or 'ecdsa-with-SHA256'. If you see 'sha1WithRSAEncryption', you need a new certificate.

Can I fix this error as a website visitor?

No, this error requires the website administrator to replace the certificate with one using a modern signature algorithm (SHA-256 or better). As a visitor, you should contact the website owner and avoid entering sensitive information until the issue is resolved.

Does Let's Encrypt use SHA-256?

Yes, Let's Encrypt issues all certificates with SHA-256 (ECDSA or RSA). If you switch to Let's Encrypt, you will automatically get a properly signed certificate. Use Certbot for easy setup: 'certbot --nginx -d yourdomain.com'.