02-21-2010 08:12 AM
I would like to know how one can extract the public keys of modules already installed on the BlackBerry.
I know there is the CodeSignigKey.getPublicKey() method which is what I assume you would be able to extract the public key from. I do the following:
... int handle = CodeModuleManager.getModuleHandle("Argle"); byte pubKey = CodeSigningKey.get(handle,CodeSigningKey.RRT_SIGNE
My assumptions are that every single program (considering third party apps) will need to have an RRT signature. This is what you do when you sign your apps (three signatures RRT, RBB, RCR).
What I do not understand is this:
Is CodeSigningKey.RRT_SIGNER_ID the signer id for RIM's Key pair and thus is this the reason I always get a null public key for third party apps?
Are public keys embedded in modules or can they be extracted from modules?
Solved! Go to Solution.
02-23-2010 03:45 PM
The CodeSigningKey is typically used to protect objects stored in the PersistentStore or RuntimeStore. However, protecting them with one of the RIM keys does not offer any real protection since any applications could be signed with this key. If you are looking to do this, you should issue yourself your own unique key using the BlackBerry Signing Authority Software. You can find more information here:
How to - Protect persistent objects from access by unauthorized applications