MozillaZine

SSL Security Error

From MozillaZine Knowledge Base

This article applies to Firefox, Thunderbird, Mozilla Suite and SeaMonkey.

Contents

Domain Name Mismatch or Server Certificate Expired

"Security Error: Domain Name Mismatch" occurs if you make a secure connection to a server whose domain does not match the domain name in the certificate that it returned. This means that the web site/server you are using may not be the one you wanted. It can also occur when they change their domain but don't buy a certificate for the new domain.

"Security Error: Server Certificate Expired" occurs if the certificate expiration date is later than your system date. This may be caused by your system having the incorrect time (perhaps you are traveling and are in a different time zone) , or the certificate is too old (it expired).

In both cases, you need to decide whether or not you think you are actually connected to whatever you tried to connect to. Usually the error is due to somebody being too cheap to replace a SSL certificate when they change domains, or an error. But it could also be due to somebody trying to capture your username/password when you login, or your credit card number when you buy something on a web site. You could call them on a phone to verify that they returned the wrong SSL certificate, or browse their support forums to see if other people have the same problem.

If you decide its nothing to worry about, check the checkbox to create a security exception so that it stops warning you. Obsolete versions may not support adding a security exception. In that case install the the Remember Mismatched Domains extension for Firefox, Thunderbird 2.x, or SeaMonkey. It adds a "Don’t warn me again about this certificate for this domain" checkbox to the Domain Name Mismatch and Server Certificate Expired warning windows.

Issuer Certificate Unknown

If you get an error message about the certificate is not trusted because the issuer certificate is unknown it is complaining that it can't find the Certificate Authority (CA) certificate for that SSL certificate. Press the View Certificate button, look at the certificate, and find out who who is the Certificate Authority by looking at the Organization listed in Issued By.

Use Tools -> Account Settings -> Security -> View Certificates -> Authorities and look for a certificate for that CA. If you find it check that its still valid. You might also want to make a secure connection to webmail (web page provided by your email provider used to read/send mail) using Firefox, click on the icon in the address bar, and then press the "more information" button to view the details of its certificate. Frequently the same SSL certificate is used in Thunderbird and Firefox.

If its invalid check that the date on your computer is correct. It sounds unlikely but sometimes its set for the wrong year, which might cause the CA certificate to become invalid. If the CA certificate looks valid you can add a security exception for your email providers SSL certificate using Tools -> Account Settings -> Security -> View Certificates -> Servers -> Add Exception to get rid of the error messages. However, its recommended you contact your email provider to try to find out why that problem is happening. [1]

Revoked Certificate

If you get an error message about the certificate being revoked (sec_error_revoked_certificate) that means that its invalid and should not be used.

Older versions of Thunderbird never checked whether the certificate was revoked. However, Thunderbird 3.1.2 and later do, so you may find when you upgraded all of a sudden your secure connection failed. You can disable checking whether its revoked by setting security.OCSP.enabled to 0 using the Config editor. It typically defaults to 1. Since its your email provider that marked it as invalid, yet they're still using it, contact them and find out whats going on.

Certificate is not trusted, because it hasn't been verified by a recognized authority using a secure signature

Usually this means you need to import a certificate for the Certificate Authority (CA) used by the SSL certificate. However, Thunderbird 16 and later considers any certificates that use a MD5 hash invalid. You can override this by setting security.enable_md5_signatures true using the config editor, though the real solution is for your email provider to use a secure hash. [2]

Incorrect use of wild cards in certificate

This problem occurs if your email provider uses a load balancing router to automatically select one of several mail servers, and doesn't use the right syntax to specify that the certificate applies to more than one host.

Thunderbird 2.* had a bug where it accepted a wild card for more than one atom in the hostname in a certificate. i.e. *.mail.dreamhost.com was accepted for a a1.postal.mail.dreamhost.com host, when it really should have specified *.postal.mail.dreamhost.com. Thunderbird 3 is stricter and rejects that as a invalid hostname. You can workaround this by setting the environmental variable NSS_USE_SHEXP_IN_CERT_NAME to 1 before starting Thunderbird, and use the Remember Mismatched Domains add-on to avoid getting prompted every time. [3]

Thunderbird SSL/TLS bug fix exposes bugs in many protocol implementations

Thunderbird 10.0 has a bug fix [4] in its SSL/TLS implementation that is compliant with all versions of the SSL/TLS protocols and compatible with other SSL implementations (such as OpenSSL). However, many products have bugs in their SMTP, IMAP, POP, LDAP, and/or HTTP code in how they parse what the client sends them. Those bugs used to be hidden until this bug fix. An example is using Merak IceWarp version 10.3.5 as a IMAP server. [5]

A temporary workaround until your mail servers are updated is to : Temporarily put NSS_SSL_CBC_RANDOM_IV=0 in the environment on their local machine. (The best way to do this would be to create a batch file that sets NSS_SSL_CBC_RANDOM_IV=0 and then runs Thunderbird, because this limits the scope of the workaround to just Thunderbird. However, if that is too difficult, you can change the environment for all software you run. On Windows 7 (and probably Vista), you can do this through the UI you can find by typing "Edit environment variables for your account" into the Start Menu's search box.

Ports

SSL certificates are normally only used with certain ports. If you get this error for a port that is normally used by a different protocol or a insecure connection, be suspicious.

Port Protocol Secure connection
25 SMTP No*
80 HTTP No
110 POP No*
143 IMAP No*
389 LDAP No
443 HTTP Yes
465 SMTP Yes
587 SMTP Yes
636 LDAP Yes
993 IMAP Yes
995 POP Yes

*Note: These ports can be "upgraded" to secure connections after initially being established as insecure, using the STARTTLS protocol.

Related bugs

External Links