2 Aug 2010

Unable to build a valid certificate chain for the signer

Are you receiving this error, "Unable to build a valid certificate chain for the signer" when you try to compile your AIR either via Flash or the AIR SDK ADT?

I'm using a Mac running OS X 10.6.4 and Firefox 3.6.8. I've been having this issue for a few weeks now while I've been trying to sign my AIR app so I can publish it to the Adobe Marketplace. I've followed the documentation from from Adobe and Thawte on how to export my Code Signing Certificate (CSC), but I still get this freaking error, "Unable to build a valid certificate chain for the signer"!

The only official documentation I could find was lacking:

After a couple of suggestions from the fine support people at Thawte didn't work, reading countless FAQs, searching forums, trying every single Google Search trick I wasn't able to find a solution. Joe Ward at Adobe pointed me in the right direction! I finally figured it out and thought I would document it here, so it you have a similar issue, hopefully this is a well documented solution for you other Adobe AIR Developers out there. See below...

RESOLVE THE CSC ERROR:

  1. Download & unzip thawte-roots.zip from: https://www.thawte.com/roots/index.html
  2. Open Firefox and go to Preferences -> Advanced tab -> Encryption -> View Certificates
  3. In the View Certificates window, go to Authorities and click Import...
  4. Browse over to your unzipped Thawte Roots folder -> Thawte Code Signing -> Code Signing CA
  5. Select Thawte Code Signing CA.pem and click Open
  6. You should get an alert window that states this is either "successfully installed" OR "already installed
  7. Click the OK button
  8. Repeat these steps to import: Thawte Roots folder -> Additional Thawte Roots -> thawte Primary Root CA -> thawte_Primary_Root_CA.pem
  9. Re-export your certificate

I've found that both Adobe and Thawte didn't document this error/solution very well. If you have any questions about this, please feel free to contact me and I'll help out as much as possible.