SSL Security Error: Difference between revisions

From MozillaZine Knowledge Base
Jump to navigationJump to search
(TB 10.0 SSL/TLS bug fix exposes other products protocol bugs)
Line 2: Line 2:


==Domain Name Mismatch or Server Certificate Expired==
==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 it uses. This is to inform you that the site you are trying to connect to may not be the site you wanted. It may also occur when a site changes their domain name but doesn't buy a certificate for the new domain.
"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 site's certificate expiry date is later than your system date. This may be caused by your system having the incorrect time, or by the certificate genuinely being expired.
"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 should make a judgment as to whether you still want to trust the server for what you want to use it for. For example, it may not be a good idea to send your credit card information to a site with either of these problems, but it may be acceptable for posting on a forum. If you trust the server, you can can get rid of the alert by installing the Remember Mismatched Domains extension for [https://addons.mozilla.org/firefox/2131/ Firefox], [https://addons.mozilla.org/en-US/thunderbird/addon/2131 Thunderbird 2.x], or [https://addons.mozilla.org/en-US/seamonkey/addon/2131 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.
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.
Thunderbird 3.x supports adding a security exception without requiring installation of that extension.
 
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 [https://addons.mozilla.org/firefox/2131/ Firefox], [https://addons.mozilla.org/en-US/thunderbird/addon/2131 Thunderbird 2.x], or [https://addons.mozilla.org/en-US/seamonkey/addon/2131 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==
==Issuer Certificate Unknown==

Revision as of 17:00, 13 February 2012

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

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.

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. [2]

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
110 POP No
143 IMAP No
389 LDAP No
465 SMTP Yes
587 SMTP Yes
636 LDAP Yes
993 IMAP Yes
995 POP Yes


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

Thunderbird 10.0 has a bug fix [3] 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. [4]

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.

Related bugs

External Links