GlobalSign Adobe Air Code Signing Certficate Renewal Installation Update 2015

April 7, 2015

Downloaded Adobe Air Code Signing Certificate per the usual process

  1. I was asked for my pickup password which I had selected in the application process
  2. A new view appeared requesting I create a password for the certificate being issued
  3. The password had to be a minimum of 12 characters
  4. Then a view appeared requesting that I download my certificate

This year GlobalSign recommended selecting the sha256 hash algorithm rather than the old sha1 which is the only difference I noted during the download process from last year.

PFX Downloaded File
The pfx file which is downloaded can be used directly as a code signing certificate file when creating an adobe air program via flex or flash.

Install Code Signing Certificate in Windows
To backup the certificate, I was under the impression I had to import the certificate into a browser like Firefox or Internet Explorer. BROWSER INSTALLATION PROCESS NOT NECESSARY!!

I can install the code signing certificate in Windows by double clicking on the pfx file directly and windows comes up with a wizard that steps you through the installation process without using any browsers. Per the image below, I made sure to check “Mark this key as exportable” and enter the certificate password:

Once installed in the windows store you can bring up the certificate in IE or Chrome and export it and create a backup copy (See next section).

(Noto Bene – If you do use a browser to install the certificate, the phone support person recommended chrome or Internet Explorer due to the fact that firefox uses a special certificate store scenario.)

Export Certificate
Export Code Signing Certificate Instructions

PFX VS p12
pfx is the microsoft extension
p12 is the netscape extension


is not commonly downloaded and could be dangerous Message

January 6, 2015

We have an adobe air application which has a code signing certificate included during creation of the package. I added another layer by creating a windows installer(via Inno Setup) then using microsoft signtool to pass on the code signing certificate. I recently tried to download the file via Chrome and the message:

<file> is not commonly downloaded and could be dangerous

was displayed along the lines of the image below:

I did a quick google and found the following message on an adobe forum. The user recommended the DigiCert Certificate Utility which is available here.

I took my exe file and applied the adobe code signing certificate to this windows installer wrapped package using the Certificate Utility. Voila! The error message was no longer occurring when downloading via Chrome.

Flashbuilder 4.7 and ASUS Nexus 7 Device Driver

November 8, 2013

I am currently doing development work on a Windows 7 Machine. Based on my previous XOOM device driver installation for flex, I started out by doing the following steps:

  1. Downloaded and installed Nexus 7 usb device driver
  2. Installed the USB device driver
  3. Enabled Nexus 7 Device to allow USB debugging

Nexus 7 Device Drivers
Googling brought up the following ASUS site where I downloaded the drivers:

I selected the support link right above the device.
The new page came up with “FAQ” selected.
I then chose “Driver & Tools”.
The OS I selected was “Others”.
I then selected the USB driver for windows and downloaded it and extracted the files from the zip file.

Nexus Website Download

Nexus Website USB Driver Download

Installed USB Device Driver
I then proceeded to loosely follow the installation instructions for the Nexus device using the following link I found in the FAQ.

Enabled USB Device Debugging Device Setting
I then went to the device settings on the Nexus 7. Selected App Development and selected enable usb debugging.

Finally I was ready to debug my code on the Device. I brought up Flashbuilder 4.7 and proceeded to run my app in debug mode on the device. ACK! – I got the message that my device was recognized but it was offline!

Adobe Air Not Installed and Device Offline

Adobe Air Not Installed and Device Offline

A quick google brought up the following links from Stack Overflow:

I read the two answers and determined that I needed to download the latest SDK for Android which I found at SDK Download from Android Developer site

Followed the instructions to copy the files to the new directories (files to copy were not exactly the same but I also kept the old ones just in case)

I brought up Flashbuilder 4.7 and proceeded to run my app in debug mode on the device. And Voila it recognized my device and I was on my merry way!

EXCEPT the next day I came back and tried to debug on the device but now no devices were listed in the Flashbuilder Dialog device listing box where you choose the device to run your code.

The NEXUS was being detected as a media device and apparently I needed to change the storage mode settings to make it a camera per this online posting

I discovered that it was necessary to change my USB transfer mode.

You can do this on the Nexus 7 by going to Settings > Storage, clicking on the strange menu icon in the top right hand corner and selecting “USB computer connection”. I then changed the storage mode to “Camera (PTP)”, and it immediately prompted me with the permission dialog as shown in your post above. I was then able to deploy apps, debug, etc and it all worked.

I don’t know what I would do without all the information sharing that the internet allows individuals to provide to one another!

Flex Mobile Device Back Button – Approach 3

July 17, 2012

In my previous post, Flex Mobile Device Back Button – Approach 2, I provided a brief overview of using states to dynamically display the appropriate device based “Back” button. I was not happy with this approach because the view ran like a dog. The responsiveness was very slow. At the end of the this post, I realized that the creation complete event would allow us to inject the child component before the view becomes visible to the user.

Despite the discussion in this post Air Mobile Performance Tip Using Flex about not recommending using creation complete event because it causes your view to render slowly, I found that this event actually provided me with the behavior I desired. The action bar “Back” button was injected before the view was made visible and the view rendering was very fast as well.

Approach 3 will copy the method used in the first approach, but will replace the ViewActivate method handler with a CreationComplete method handler.

Continue reading

Flex Mobile Device Back Button – Approach 2

July 17, 2012

In my previous post, Flex Mobile Device Back Button – Approach 1, I provided a brief overview of the ViewActivate approach to the button creation process which dynamically adds the correct “Back” button based on the device where the code was running.

Approach 2 will use states to render the appropriate button on the device.
Continue reading

Skinning the SpinnerList for Flex 4.6 Mobile

May 28, 2012

The SpinnerList component for Flex 4.6 mobile comes with a standard look and feel. When I incorporated this into one of our mobile views, we wanted to personalize it. I started by referencing the following post on the adobe site, Use of a SpinnerList in a mobile application.

Hilite the Currently Selected Item in SpinnerList
One of the desires was to make the currently selected item to appear to be selected. The default behavior of the spinner list is to have the selected item in the center of the component and, by default, is displayed under the selection indicator. We wanted to skin the box around the selected item a light blue to enhance the impression/appearance that it was the selected value. The initially referenced adobe article said to create a custom skin for the SpinnerListContainer.

Continue reading

Flex 4.6 Mobile Resizing TextArea Component to Fit Content – Part 2

May 25, 2012

Now that the view sets the height of the TextArea component after it has been created as discussed in Part 1, what do we need to do when the user rotates the view from portrait to landscape and back again. The TextArea component continues to reuse the number of lines of text from the previous orientation view. We need to force the component to resize itself and then recalculate the number of lines to display so we can reset the height to the appropriate value.

Continue reading