The Google Play developer console has changed and now seems to require apps to use a "Base64-encoded RSA public key". The key is provided under the "Services & APIs" tab in the new developer console.
QUESTION: How to I go about converting the key provided by Google to a p12 file I can use when I compile from Flash Pro CS6?
I'm on both Mac/PC.
I'm not seeing how this can get me to a p12 file. It might be able to get the RSA to a PEM and then to P12 but this seems insanely ridiculous.
Anyone actually use Flash Pro & Air to make an Android app without using the command line?
Probably not. Creating a CSR, converting a .cer to a PEM and then to a .p12 is pretty darn easy with OpenSSL. Here's that process:
p12 from .cer w/ key:
It's iOS articles but you can see the process just the same. I use this process myself and I don't mind command line, and I even have Keychain (Mac).
Certificates are about authenticating your true identity. Otherwise people would be installing apps from [insert random villian] that would [do malicious things]. So no, you can't just create your own random identity and upload apps into the general market.
Interesting. I wonder how Adobe can tout the ability to create Android applications and then have virtually no documentation on this required step of the publishing process. The process for iOS is very well documented.
I'm working with a publisher and not comfortable scavenging bits of info and scrapping together a (hopefully) usable certificate. with various bits of info ...
According to one of the docs above, the key can actually be "self signed" even for release ... so does this mean I CAN use Flash to generate the key?
Also ... I don't think that any of the above info will actually work with the new Licensing requirement in the Google Play dev console. This changed very recently.
It would be great if there was a guide on how to create these files for Android specifically. I guess I'll hold off on developing for Android until someone can make this clear. I appreciate you chiming in Sinious!
Late for me but a last tid bit. It's the same as any certificate (SSL, etc). You need to be verified.
iOS does this by requiring you to submit a request to their system, they process a certificate (if valid) and you generate it from that. Certificates are all pretty similar. The process will be the same whether Apple or Google or [whatever]. Develop a request, log into your account and submit, receive a response, use the response to create the final validated cert.
The thing is that there is no submit/download a certificate from this new Google developer console. They just provide a box for you to copy , I guess, the certificate code ie . IIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiW9KWZIofIO9pirZInSKg3nITST LD7+lOAnR7zaGANp143Sfm3npjgVylttbnzxJSNsPLkLAZ+t8KIjDh+ndQsPfiHeWGx/fg x/eYGeDy90xqCcIOdfjPXBuzmn/V220gL0Qm4Ti526+4GaQvanLuuERvpoUBqR...
etc gobbledygook, so I think the question is how do we make a .p12 out of that? I use OpenSSL to make a .p12 happily when I have a CertificateSigningRequest.certSigningRequest as per IOS but otherwise not sure where to go with this new system.
Could it be the end of Flash and android apps?
Looks like they're giving you an ingredient to generate the certificate but it also appears alien to me. I only used their previous system and my account isn't even active. You know it's a new developer console so there must be some "What's New" type of content for you to view. Google was always very forward and practical with documentation. Apple on the other hand, ugh...
If I could log in I'd help but I'm just tidying up here saying I can't see what you're seeing at the moment. Not until I need to dev on Android again at least ><. Sorry!
In the end I uploaded with my own flash generated .P12 and it went through OK. The only concern I have now is whether the app links to their payment system. It seems that if you have a free app then you can self sign but reading between the lines they sort if indicate that you need their own licensing certificate for linking the app to their accounting system - I might be totally wrong here, anyway will see.
Well I'm glad at least one person is on the same page as I am.
I think it is super flaky of Adobe to not have a documented procedure for this. I guess that there are very few people activly using AIR for Android development. At least people that want to integrate the Google RSA key and sell/get payments through Google Play.
I could totally be mis-reading this whole situation ... but why is there a complete lack of info out there?
This is the only thing that comes close:
Ok Adobe you owe me big time, it took me ages to figure it out. Here is the way to incorporate Google Play's new public security certificate that is now needed for paid apps.
Download and install OpenSSL (see the YouTube video http://www.youtube.com/watch?v=mpzSXAW0qUI)
Create a new P12 self-signed certificate and private key in Flash CS5.5 or CS6 in the Air for Android Settings/deployment tab section and copy it to the C:\openSSL\bin directory. For the sake of this tutorial call it FlashCreated.P12
Open a command prompt and navigate to the OpenSSL\bin directory, ie cd\OpenSSL\bin
Type the command
You need to decode the FlashCreated.P12 key to create a PEM file with the command
openssl pkcs12 -in FlashCreated.p12 -out FlashCreated.pem -nodes
Use a text editor and take a look at this FlashCreated.pem file
Strip out stuff not enclosed within the "-----BEGIN ... KEY-----" and "-----END... KEY-----" delimiters.
Go to the Google Play Developer's Console and copy the public key that they provide into a MS WORD document.
You need to copy this text in junks of 64 characters and past them below the existing Private Key section and within the delimiters.
-----BEGIN RSA PUBLIC KEY-----
-----END RSA PUBLIC KEY-----
use the MS Word count tab (bottom left of screen) to see the number of characters you select. Most important - ensure that there are no spaces, so 64 64
Once you have the 3 sections complete, ie Private Key, Public Key and Self Signed Certificate, convert this pem file back to a P12 using the same password with the command
openssl pkcs12 -export -in FlashCreated.pem -inkey FlashCreated.pem -out Google.p12
Hope this works for you.
Europe, Middle East and Africa