Too many certificate authorities

There are 650 organizations capable of producing signatures accepted by your popular browsers.

Revocation is broken

CRL and OCSP are supposed to provide revocation services. If the OCSP lookup times out, then browsers carry on anyway.

The unsafe bridge from HTTP to HTTPS

At the moment in time when a browser is redirected from non-TLS to TLS there is a window of attack. Take a look at this response:

curl -I http://dvikan.no/
HTTP/1.1 301 Moved Permanently
Server: nginx/1.6.0
Date: Wed, 21 May 2014 13:31:02 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: https://dvikan.no/

My blog is fully served over HTTPS and I redirect all traffic from port 80 to 443.

However, an attacker can simply strip away the Location: https://dvikan.no/ and put Location: http://dvikan.no/ there instead. The next time the browser requests this page the mitm attacker can himself do a HTTPS connection towards my site, grab the html and send it back to victim.

The only thing different a victim will see is that the HTTPS icon is missing. So it looks just like a regular HTTP website.