How do you get hold of the users google account from your app?
On Nov 17, 10:03 pm, Streets Of Boston <[email protected]> wrote: > What would happen if someone gets a new android phone? The app's > authentication will fail. > > You should hash/key on the user's google-account, the same key that is > used by Android Market (you can download paid apps as often as you > want - once you paid for them - based on your google-account) > > On Nov 15, 2:32 am, android kracker <[email protected]> wrote: > > > Using the unique ID (hash) of the phone, register it with your web > > service on install. > > Then employ PKI to authenticate your app on each launch. > > On your web service sign a string containing the hash, timestamp, and > > a short expiration timestamp. > > Then have your app use your public key (in the app) to authenticate > > the string, verify the timestamps, and complete > > the launch if valid, otherwise abort the launch or offer the user to > > come clean and install. > > To prevent code modification--bypassing the check--don't include all > > of the code in the app. > > Keep some of it on the server and only send it to the app if the check > > takes place and passes the check. > > This way the app will not function correctly unless the check is > > performed and passes. > > Create a set of one-off methods (dummys that just pass through) that > > you can dynamically use with each app instance; since you > > are in control of the download (unlike Market publishers), you can > > dynamically build and package a unique app for each instance > > downloaded. > > This way no two apps use the same method and a hacker is up a creek as > > far a patching the code > > and replicating it to the community. When one instance is cracked, and > > it will be, then your server can cancel that hacked instance > > without effecting all of the other valid users. This will create a > > string disincentive, because no two app are the same, codewise ;-) > > > Maybe we should start a service and offer Android publishers a secure > > distribution service, unlike the Market. > > There is no way to register (stamp an app with a phone id) downloads > > from the Market prior to installation. > > As it stands now publishers have no way to verify if their app was > > downloaded from the Market or copied and installed by other means. > > > If there is I would like to know. I've asked but I never get replies > > regarding this advanced topic. Most publishers are still learning to > > just create apps, let alone seek out secure distribution and customer > > behavior--only Google enjoys this privilege, currently. > > > Here's a method snippet for getting the unique ID and hashing it: > > > String getPhoneID(){ > > MessageDigest digest; > > try { > > digest = MessageDigest.getInstance("SHA-1"); > > } catch (NoSuchAlgorithmException e) { > > throw new RuntimeException("this should never happen"); > > } > > > String srvcName = Context.TELEPHONY_SERVICE; > > TelephonyManager telephonyManager = > > (TelephonyManager)getSystemService(srvcName); > > > /* requires READ_PHONE_STATE permission */ > > String deviceId = telephonyManager.getDeviceId(); > > if (TextUtils.isEmpty(deviceId)) { > > return ""; > > } > > > byte[] hashedDeviceId = digest.digest(deviceId.getBytes()); > > String id = new String(Base64.encodeBase64(hashedDeviceId), 0, > > 12); > > id = id.replaceAll("/", "_"); > > return id; > > > } > > > On Nov 14, 7:12 am,jax<[email protected]> wrote: > > > > I am wondering how I might go aboutsecuringa paid app on Android. > > > > I am thinking of selling the application from my own website via > > > PayPal, however, how will I stop people from sharing it with their > > > friends etc. Does Android have any type of native support for this?- > > > Hide quoted text - > > > - Show quoted text - > > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

