Splash-stack apps on Google Play

Mark Waddingham mark at livecode.com
Wed May 23 03:56:56 EDT 2018


On 2018-05-23 05:14, Brian Milby wrote:
> @Mark
> Would the loading of LCB extensions be a good thing to add to the
> securityPermissions (or does external already cover it)?

The securityPermissions is definitely the right place to do this. 
Standalones are built with a small startup script which is run, so we 
can tie the option in the S/B to adding a line in that script to 
restrict permissions.

As to whether it should be rolled into external, or whether it needs a 
new one needs a little thought. I suspect it won't do any harm to add 
another permission for it - after all it is quite specific (eventually 
we want it to be - don't allow loading of LCB extensions which use 
foreign handlers).

Warmest Regards,

Mark.

> 
> On Tue, May 22, 2018 at 7:12 PM Brian Milby <brian at milby7.com> wrote:
> 
>> Well, it isn't a full library, but I did put together a demo of how
>> it can work:
>> 
>> https://github.com/bwmilby/lc-misc/tree/master/SignVerify [1]
>> 
>> 
> https://github.com/bwmilby/lc-misc/raw/master/SignVerify/SignVerify.livecode
>> [2]
>> 
>> I've only tested on Mac, but it should work everywhere if you
>> already have the keys. Not sure how to generate the keys on
>> Windows, but the button should work on Linux.
>> 
>> Hope it helps.
>> 
>> Thanks,
>> Brian
>> 
>> On Tue, May 22, 2018 at 2:57 PM, Brian Milby <brian at milby7.com>
>> wrote:
>> Can’t make any changes to the stack once you generate the hash or
>> it will not match.
>> 
>> On Tue, May 22, 2018 at 2:41 PM J. Landman Gay via use-livecode
>> <use-livecode at lists.runrev.com> wrote:
>> Would it be okay to store the encrypted hash in a custom property of
>> the
>> remote stack?
>> 
>> I'll need to experiment to see if I can do what you've outlined,
>> unless
>> you write a library before I figure it out... ;)
>> 
>> On 5/22/18 12:03 AM, Brian Milby via use-livecode wrote:
>>> The dictionary entries that you want are "encrypt using rsa",
>> "decrypt
>>> using rsa", and "messageDigest'.
>>> 
>>> High level process...
>>> - Generate a public/private key pair
>>> - Package the file that you want to ensure is not tampered with
>>> - Generate a hash of the file (messageDigest)
>>> - Encrypt the hash with your private key (encrypt using rsa)
>>> - Store the encrypted hash along with the file to download (or
>> possibly put
>>> them both into a zip to make a single download)
>>> 
>>> - Store the public key inside the app
>>> - Download the encrypted hash and the file
>>> - Decrypt the hash using the public key (decrypt using rsa)
>>> - Compare the decrypted hash with a calculated hash of the
>> downloaded file
>>> - If they match, then the file has not been changed
>>> 
>>> If you also want to utilize a similar process to secure the file
>> itself
>>> from viewing, then you will need to do something a little
>> different. The
>>> dictionary suggests that a possible method would be to generate a
>> random
>>> key to actually encrypt the file (symmetric encryption -
>> encrypt). That
>>> key would be encrypted with a public key. The encrypted file and
>> encrypted
>>> key would be stored for download. The app would use the private
>> key to
>>> decrypt the data encryption key. Once the data encryption key
>> was
>>> obtained, the data could be decrypted. You would want to use a
>> different
>>> public/private pair of keys for this operation.
>>> 
>>> This all sounds like a good project for a library (for use in an
>> app) and a
>>> stack (to handle the front end). I didn't go checking to see if
>> one
>>> already existed though.
>> 
>> --
>> Jacqueline Landman Gay | jacque at hyperactivesw.com
>> HyperActive Software | http://www.hyperactivesw.com
>> [3]
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode [4]
> 
> 
> 
> Links:
> ------
> [1] https://github.com/bwmilby/lc-misc/tree/master/SignVerify
> [2] 
> https://github.com/bwmilby/lc-misc/raw/master/SignVerify/SignVerify.livecode
> [3] http://www.hyperactivesw.com
> [4] http://lists.runrev.com/mailman/listinfo/use-livecode

-- 
Mark Waddingham ~ mark at livecode.com ~ http://www.livecode.com/
LiveCode: Everyone can create apps




More information about the use-livecode mailing list