Code Signing

Adobe AIR requires all AIR applications to be digitally signed. Code signing is a process of digitally signing code to ensure integrity of software and the identity of the publisher. Developers can sign AIR applications with a certificate issued by a Certification Authority (CA) or by constructing a self-signed certificate.

Digitally signing AIR files with a certificate issued by a recognized certificate authority (CA) provides significant assurance to users that the application they are installing has not been accidentally or maliciously altered. Digitally signing AIR files with a certificate issued by a recognized certificate authority (CA) identifies the developer as the signer (publisher). AIR recognizes code signing certificates issued by the Verisign and Thawte certificate authorities. The AIR application installer displays the publisher name during installation when the developer has signed the AIR file with a Verisign or Thawte certificate.

The AIR application installer displays the publisher name during installation when the AIR application has been signed with a certificate that is trusted, or which chains to a certificate that is trusted on the installation computer. The Certification Authority (CA) verifies the publisher’s or developer’s identity using established verification processes before issuing a high assurance certificate.

Developers can also sign AIR applications using a self-signed certificate; one that they create themselves. However, the AIR application installer presents these applications as originating from an unverified publisher.

When an AIR file is signed, a digital signature is included in the installation file. The signature includes a digest of the package, which is used to verify that the AIR file has not been altered since it was signed, and it includes information about the signing certificate, which is used to verify the publisher identity.

AIR uses the public key infrastructure (PKI) supported through the operating system’s certificate store. The computer on which an AIR application is installed must either directly trust the certificate used to sign the AIR application, or it must trust a chain of certificates linking the certificate to a trusted certificate authority in order for the publisher information to be verified.

If an AIR file is signed with a certificate that does not chain to one of the trusted root certificates (and normally this includes all self-signed certificates), then the publisher information cannot be verified. While AIR can determine that the AIR file has not been altered since it was signed, there is no way to verify who actually created and signed the file.

Details on the code signing process and accepted certificate formats are provided in the developer documentation.

Code signing with desktop native installers

When you package your application as a native installer, you can optionally apply a native code signature. Native code signing is supported on Windows only. See MSDN: Introduction to Code Signing .

Code signing on mobile platforms

On mobile platforms, AIR applications are signed according to the platform conventions and requirements. Developers sign their applications using tools from the AIR SDK and a certificate that meets the requirements of the mobile platform. The installation of mobile AIR apps is handled by the device operating system, not the AIR runtime. Thus AIR does not validate the application signature or certificate holder identity.

// Ethnio survey code removed