The Opera Rootstore

The Roots of Internet trust

Subscribe to RSS feed

Posts tagged with "CRL"

Sticky post

Introducing the Opera Rootstore

, , , ...

Welcome to the new home page of the Opera Root Certificate Store.

Root Certificates are used in several security areas to get assurance of identity, by establishing a relationship between the control of the private key associated with the public key in a certificate signed by the Root Certificate, and the entity identified by the certificate. The keypair can then be used to establish various forms of secure communication with that party, such as digital signatures and encrypted connections.

The area where certificates are most widely used is to set up and secure SSL/TLS connections, for example, to secure your online banking transactions and online shopping.

To use certificates signed by a Root properly, the application needs a copy of the Root provided by the owner of the Root via a different route than from the web site presenting the certificate, so that we can be assured that the Root is the real Root, and not a look-alike.

That is why we have the Rootstore database. The Rootstore is where we store the list of Roots that are either pre-checked by us and shipped with Opera, or installed by the user.

In Opera 9.50 we changed the design of the Rootstore. In the new system, only the most frequently used Roots are shipped with the Opera executable, while the other Roots are stored in our online root repository at https://certs.opera.com/ and will be automatically downloaded and installed, as needed.

"The Rootstore" home page will be where we will announce all updates of the online Root repository, as well as other public information about this part of the Opera browser.

If you represent a CA that wants to have its certificate added to Opera's rootstore, please see http://www.opera.com/docs/ca/ for information about the procedure.

Blacklisting 22 certificates with 512-bit RSA keys

, , , ...

Earlier this week news reached us that a small subordinate CA in Malaysia, Digicert Sdn. Bhd. (which we hasten to add, has no association with, and must not be confused with, the US-based Root CA Digicert, Inc., which is a member of Opera's Rootstore), had been discovered to have issued certificates that did not meet several technical and contractual requirements it was supposed to follow. We have therefore blacklisted several of their certificates.

The problems were:

  • Their certificates do not contain a field called "Extended Key Usage", which is used to limit what a certificate can be used for. Without this field the certificate can be used as more than a SSL/TLS server certificate, e.g. to sign executables (Object signing).
  • Their certificates did not contain any pointers to revocation information, that is, there were no OCSP URL in their certificate, and neither was there a URL to a CRL, meaning that the validity of the certificates could not be checked.
  • They had issued several certificates for RSA keys that were only 512-bits long. If you have been following our security related articles, you probably have a good idea of what we here at Opera think about such keys. Summary: Don't even think of using them. These keys can be broken in days(!), and there are clear indications that at least some of these specific weak keys have been compromised!
  • At least one of these weak certificates is actively being exploited in a phishing attack. Presumably it has been possible to crack the certificate due to the weak security.


Digicert Sdn. Bhd. is not a Root CA, but is a subordinate CA that operates using an Intermediate CA certificate issued by another CA, in this case they have certificates for their key issued by Cybertrust/Verizon and Entrust, both of which are members of Opera's Rootstore.

There are no indications that any certificates have been issued fraudulently, but the above points break not just the CA's own rules, they break the contracts that they signed with the two Root CAs that issued the intermediate CA certificates they have been using. For this reason Cybertrust have already revoked the certificate they issued to Digicert Sdn. Bhd., and Entrust will revoke theirs in a few days. Entrust is delaying the revocation a few days so that the affected web sites can have a few days grace time to obtain new certificates from a different issuer.

Since such certificates do not display as secure in Opera anyhow (see below), we have decided to allow this grace period. Should there be any signs of problems in the meanwhile, we can and will revoke the intermediate certificate ourselves.

In the meantime we have been provided a list of the 22 certificates that had weak keys, and due to the missing revocation information and signs of abuse we have decided to blacklist these particular certificates in today's update of the Rootstore.

For Opera users there are a few things to note:

  • Digitally signed Java applets will not be affected by this update, as the Java plug-in handles all verification itself. Until Java's certificate store has been updated, or Entrust has revoked the intermediate CA, it suffices to not trust any Java popups.
  • The missing CRL caused Opera to remove the "Secure" indication for all web sites using certificates issued by Digicert Sdn. Bhd. The reason for this is that there was information about the CRL in their intermediate CA certificate, and that causes Opera to require revocation information in all certificates in the chain, or the security level is lowered.
  • The web sites using the certificates with 512-bits keys would also trigger a certificate warning dialog about the weak key, as Opera is currently warning about any RSA key shorter than 900 bits long.
  • The update will be automatically downloaded and installed within the next week in supported versions, no user action is needed. However, if you would like to get the update immediately, you may do so using the menu option Help > Check for Updates, which will trigger the update.


Given that the CA certificate will be revoked shortly, and that there is no indication of additional significant threats, this blacklisting is only a temporary measure, and we plan to remove these certificates from the list within a few weeks, once the revocation information has been distributed.

Related to this, we have also learned that a few other CAs have also issued about 25 certificates with 512-bit keys. At present we do not have details about these certificates, but we have been informed that the certificates should be revoked within a week.

We stress that such certificates could not have been used to signal any secure connections in Opera, and that Opera users who pay attention to the security badge have nothing to worry about.

We have contacted other browsers suggesting ways to address various issues around weak certificates and certificates that are not issued according to the recognized best practices, and we are also working with CAs to improve procedures and security in general.

In order to stay safe online we encourage users to configure their web browser to ensure that it does not allow weak security, if it does not already do so by default, such as Opera. Users also need to pay attention to the security indications.

New CNNIC EV Root, pubsuffix update, and some blacklisted certificates

, , , ...

Today, we have updated the Rootstore with the following:

  • CNNIC, the Chinese Registrar and CA have been EV enabled. As
    part of this, a new EV-enabled Root was added (the old is not EV-enabled). Testsite
  • An update of the Public Suffix list, adding the suffixes gob.ec
    and bv.nl. Version 1.5 is available for download from our source repository.


Additionally, the "major" update is due to the recent attack on the CA Comodo1,2, where an attacker was able to hack into an account and trigger the issuance of 9 certificates for major communication sites (a few other accounts have apparently also been compromised, though no certificates have been issued from these accounts according to our information). Rumors are flying about who was behind the attack, and why, but I will let those rest.

We learned of the attack late evening March 16th, and, by then, the issued certificates had already been revoked by Comodo for more than 24 hours (Comodo detected the attack within a few hours).

I evaluated whether to update the Rootstore Untrusted list of certificates with those certificate already that week, but decided not to do so at the time, in particular since Opera's blacklist could not blunt any attack within the 2 days remaining of the pre-revocation OCSP response validity, and there had been no accesses for the revocation information in the open window.

Also, after the (possible) pre-revocation OCSP responses had expired, any attempt to block revocation checking would remove the secure indication of the site when loaded by Opera, so any users that are keeping an eye on the padlock (we know that a lot you do) would be protected, so after that time the certificates could not in any way have been used to flag pages as secure in Opera.

Another consideration is that the Untrusted list is not intended to be an extra revocation list for normal certificates; it is only intended to include problematic certificates that cannot be revoked in any other fashion, such as the MD5 collision cert a few years ago or a renegade Root CA.

Adding fraudulently issued certificates is not among the list's intended uses, except in special situations. The reason is that revoking those certificates is what the revocation lists (CRLs and OCSP) are for.

At present, however, we have a situation where it is not practical to refuse access to a secure site because the browser cannot access up-to-date revocation information, particularly since the responders have occasional momentary down periods. Opera removes the padlock if we can't get the revocation information, as far as I know Chrome puts a (Golden? Shouldn't that have been red?) warning triangle over the padlock, others give no indication at all that there was a problem.

In the aftermath of the Comodo incident, several participants in the discussion, including me, have suggested that we should move towards stricter requirements regarding having revocation information available before allowing a secure connection to complete.

There are several downsides to this, particularly that it requires exceedingly high stability for the revocation servers, and there is also an implied requirement that all browsers need to do this policy change at the same time, to provide the same user experience.

The stability requirement can be worked around by requiring secure servers to implement TLS OCSP stapling, an extension to the TLS protocol where the TLS server caches its own OCSP response and sends it to the client when it connects. This saves the extra roundtrip for the client when it retrieves it directly, and provides an up-to-date status. There are two problems at present: 1) only 3% of servers support the extension and 2) to be truly useful, all the revocation info for all the certificates in the server's chain needs to be included, and that is currently not possible; but I have submitted a proposal to the TLS WG that would allow that (although there are some concerns that the extra data will cause performance issues for big sites).

In the meantime, using a blacklist may be the best option for limiting impact, but it is also an option that does not scale in the long run, and it also has a relatively long deployment time, compared with revocation. Excluding time for users to update, it took the browsers that shipped blacklist updates last week a week to ship their updates, and that was probably achieved by pushing their release cycles to the limit. Even this Rootstore update took a week to prepare.

In this case we have decided to follow the other browsers, and update our Untrusted list with these certificates, and we might continue to do so in the short term, should there be more incidents, but in the long term other solutions will have to be found.

The are some things to note, even though I hope none of you will ever encounter any of these certificates in the wild:

  • Only 7 of the 9 certificates are included, due to the ID of two certificates colliding with a third certificate; the ID is based on the certificate's subject name and public key. This problem is due to a design error in the repository handling; plans are under way to fix the problem.
  • The blocked certificates are only pushed to Opera 9.5x and 9.6x versions, since they are not able to use the newer dynamic system. The above point means that two certificates are not installed in those version and are not blocked. In all other versions, there is no visible indication of the list having been updated.
  • In newer versions the blocked certificates are only downloaded if they are ever needed. If the download fails, the certificate will still be blocked, which also means that the two certificates not in the list will actually be blocked anyway.
  • In Opera 10.x before 10.50, the certificates will be blocked in the way the functionality was designed, by displaying a message that the certificate is untrusted.
  • In Opera 10.50 and later, including 11.10, there is a bug. While the blocking works, it works by either showing a blank page or a "Could not connect" message. We are looking into this.
  • If the blocked certificates are ever encountered, by Opera 10.0 or later, revocation is checked first, and only if the certificate is not revoked (or the information could not be retrieved) will the untrusted list be consulted.


This update will propagate to all Opera versions that support the online Rootstore during the next week; if you are impatient, just use Menu->Help->"Check for updates" to fetch it (The CNNIC EV-site mentioned above can be used to test that you got the update).

Summary: Opera users who consult the security indication could not have been tricked into believing a site with the fraudulent certificates was secure once the Comodo revocation lists became authoritative, the addition to the blacklist is an extra security measure that strictly speaking is not necessary. No action is needed by our users to download this update.

Secom, CNNIC, Buypass Root, Izenpe EV-enabled, and more

, , , ...

We have now added the following Roots to the repository:

  • Buypass, a Norwegian CA. This CA has been provisionally EV enabled, please see below. Testsites 1, 2, EV.
  • CNNIC, China Internet Network Information Centre. Testsite. Note: Currently we are missing a HTTP CRL for the intermediate certificate for this site, so the site will unfortunately not show a padlock. We are working with CNNIC to resolve the problem, which may include adding a CRL override.
  • Secom (a Japanese CA) has issue a new SHA-256 Root, as part of many CAs transition to more secure certificate signatures: Testsite


We have also restored the "Verisign International Server CA" intermediate CA certificate, and updated to the most recent version of the certificate, which is valid to 2016. This is a certificate that Opera shipped with until Opera 7.2x in 2004, when that version of the certificate expired, though newer versions of the certificate have been issued and used by servers.

Recently however, the old expired certificate started to cause problems. The old certificate is still present in many Opera profiles which has been updated continously from Opera 7.x or before, and therefore caused certificate verification problems (even for the Opera CEO). We did work around it when problems occurred in the Opera 10.00 beta after we changed the certificate verification procedure in order to update the Verisign G1 Roots to SHA-1.

Even more recently other problems started to appear (though they may have been there for a while), and we discovered that a number of mis-configured sites are still using the old expired certificate. This triggered certificate warnings in all versions of Opera before Opera 10.00. In Opera 10.00 these sites triggered a more severe error message, since the expired certificate is signed with the now insecure MD2 method. This is no longer supported in Opera 10.00, and therefore triggers a certificate signature verification failure which is code "554".

These problems should be fixed at server side by installing the newest certificate. The number of sites with the problem that came to our attention indicates that there are too many sites for us or Verisign to play Whack-a-mole that way. After speaking with Verisign about it, we decided to reintroduce the certificate and now require it in all installations. This certificate will therefore be automatically downloaded to Opera the next time it does its weekly check of the repository, replace existing older installed versions of the certificate, and override the certificates used by web sites.

Additionally a couple of bugs in the backend producing the files on the server have been fixed. These bugs may have caused some problems during the past several months.

We have also noticed a problem with DigiNotar's OCSP responder, and have temporarily added an OCSP override while working with DigiNotar to resolve the problem.

EV enabled CAs:

  • Izenpe, a Basque CA added in 2008, was EV enabled a few weeks ago, but the announcement was delayed due to the more significant problem we fixed at the time. Testsite
  • Buypass is provisionally EV enabled based on their EV Readiness audit (testsite); the full audit is expected by the end of the year. Please note that at the moment Buypass EV will only be indicated in Opera 10.00 and later. The reason is that Buypass is not using intermediate CA certificates to issue EV certificates (nothing wrong with it, but it is the first CA we have seen to do so). This triggered a logical problem with the EV check in Opera 9.50 to 9.64 which has been fixed in Opera 10.00. If Buypass starts issuing EV certificates from intermediate CA certificates, those certificates will also show as EV in Opera 9.50 and later.
  • Several more Comodo Roots have been EV-enabled. These certificates should have been EV enabled a year ago, but due to an error on our side they were not. We apologize to Comodo for this error. Testsites: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
  • The EV enabled status of several CAs has been extended after we received their updated audits.


As usual, these updates become active and available after the weekly check for updates, but that update can be forced by going to the Opera Toolbar: Help -> Check for updates. The exception is Opera 10.00 where a bug which is fixed in Opera 10.10, and will be fixed in Opera 10.01, disabled the certificate repository updates. A workaround for the problem in Opera 10.00 is to 1) Shut down Opera, 2) delete/rename the file "tasks.xml" in the profile folder, 3) Restart Opera.

[Update Jan 14, 2010: Secom's testurl has been updated with a new URL]

QuoVadis EV enabled + CRL override

, , , ...

The CA QuoVadis has now been EV enabled. Test URL

Also, we have now added a CRL override URL for the Telia/Sonera Root we had problems with.

As usual, you may have to restart Opera for the update to take effect.

This update has been active since November 14, the announcement have been delayed due to traveling.

Rootstore newsletter

, , , ...

In this information letter we will cover some recent news relating to the CA Root Store in Opera:

  • Opera 9.50's new rootstore
  • Opera 9.50 certificate revocation checking
  • EV in Opera
  • Process for EV-enabling roots


Opera 9.50's new rootstore

In Opera 9.50, which was released a few weeks ago, we introduced a new system for distributing Root Certificates to Opera users.

Instead of users having to upgrade their installation in order to be able to use new Roots, they are now able to use the new roots within a week of the root being added to the repository.

This is achieved by storing all Roots in an online repository. Each client will regularly download an up to date list of available Roots from it.

Each installation now ships with only the most frequently used, and it will download and install Roots from the online repository as needed.

The repository index can also indicate that if a user has a particular certificate installed, then Opera should download another certificate as well. This is particularly useful during certificate rollover, and when a cross-signed root is used for Extended Validation.

The benefits of this approach are:

  • Quicker time to market for new CAs
  • Wider availabilty to users "immediately"
  • No need for users to upgrade their client when new roots are added
  • Reduced executable footprint for Opera, in particular on phones and devices.


All automatically downloaded content in the repository is digitally signed, as well as hosted on a TLS server to secure the system.

Opera 9.50 certificate revocation checking

Opera 9.50 includes two major changes to its revocation checking system: Support for CRLs, and using GET for OCSP instead of POST.

Opera has since version 8.0 supported OCSP for SSL/TLS using the POST retrieval method with a nonce. This method was not very cacheable between sessions, and was not proxy cacheable, and could therefore cause extra load on the CA's OCSP responder.

In Opera 9.50 we have changed to using the GET HTTP method without sending a nonce. This makes it possible for proxies to cache the response, as well as that Opera can more easily cache the response between sessions.

Opera 9.50 also added support for CRLs for SSL/TLS and will now download and cache CRLs for all non-root certificates, except those end certificates identifying an OCSP responder. Selection of CRLs for a verification is done based on the URL identified in the certificate.

If a certificate chain fails either CRL or OCSP verfication (but is not revoked) the associated website will not get a padlock indication, and the security toolbar will not be displayed.

Known issues:

  • We have seen several OCSP responder from various vendors that does not correctly implement the GET method for OCSP. The vendor of the most widely responde have located the problem and developed a patch.
  • If a certificate indicates a CRL that is not signed by the issuer of that certificate then CRL validation will fail, even if the correct CRL is cached.
  • Some certificate chains have CRLs specified for some certificates in the chain, but not all non-root certificate. In these cases CRL validation will also fail.
  • We have also seen some cases where the only CRL specified uses LDAP, not HTTP. Opera does not support LDAP, and thus CRL validation will fail.


Opera 9.51 have override capabilities for some of these cases, and 9.52 will expand those. To configure those overrides, detailed information about the correct URLs and certificates are needed for the CRLs.

More information about these problems and the workaround are available in this article.

Extended Validation in Opera 9.50

Opera 9.50 for Desktop is the first version of Opera to support Extended Validation (EV).

EV websites are indicated by turning the security toolbar green, instead of yellow as before. In this mode Opera will also display the website's Organization Name from the certificate.

Opera will once a week update information about which Roots are EV-enabled from the same online repository as the Roots are downloaded from.

For a site to get the EV indicator the following requirments must be met:

  • All content displayed on the site must be downloaded over strong TLS connections
  • All revocation checking must succeed.
  • The EV-enabled Root must use an RSA key that is at least 2048 bits long
  • Certificates using 1024 bit RSA must expire before Jan 1, 2011 (GMT)
  • Except for the Root, intermediate certificates must use keys at least as long as the key in the certificate it is used to sign, and if one of the keys are longer than the roots,all of them must be longer. That is, a 2048 bit Root can sign a certificate with a 4096 bit key, but that key can only be used to sign certificates with at most 4096 bits.


Process for EV-enabling Roots

To EV-enable a root embedded in Opera a CA must have passed an EV-audit, currently by WebTrust. An authorized copy of this audit must be sent to Opera.

We also require the URLs to a number of sites (test or real) using certificates issued from the Root that is to be EV-enabled. These sites should demonstrate use of all relevant OCSP, CRL and AIA hosting servers so that we can verify that these services interoperate with Opera. Confirmation of this is necessary before a Root can be EV-enabled.

Once the qualification step is passed, EV-enabling require a legal agreement to be signed, and once these steps and the testing has completed, the root will be EV-enabled.

EV-enabling of clients will take about a week from the online repository is updated, until all installations have downloaded the update.

Please note that we have currently received a large number of applications for EV-status, and it will probably take a few months to process all of the applications.

Other changes in Opera 9.50

There are a number of other changes in Opera 9.50 that may be of interest to Certificate Authorities:

  • Opera no longer support SSL v2.
  • Neither does Opera support 40- and 56-bit encryption methods anymore. This also affects import of PKCS #12 files where these methods have been used.
  • Opera now supports the Authority Information Access (AIA) extension in certificates, and is therfore able to download missing intermediate certificates. Once used to successfully complete a validated chain the intermediate is cached in the intermediate CA certificate store so that the CA's repository server is not overloaded by requests.


Other things of note in Opera are:

  • Opera gives warnings to the user if a certificate in the chain, or other keys used in the key exchange is shorter than 900 bits for RSA, DH, and DSA.
  • If those keys are shorter than 1000 bits no warning is displayed, but the "padlock" is not displayed for the site.


Both these limits can be adjusted by a preference that Opera Software can adjust via our automatic update system. The next steps on the ladder are 1020, 1100, and 1200 bits, after which both limits will move in steps of 100 bits, and 300 bits apart. Raising the upper boundary to 1020 bit is being considered, and we may raise the boundary to this level before the end of 2009, and while no decision has been made, it is quite possible that this limit will be raised further before 2012, which will affect all 1024 bit roots.

The goal of this system is to inform the user as accuratly as possible about how secure the connection to the server is.