Re: best way to implement unlock features in app

2015-02-03 Thread Akis Kesoglou
If you want some kind of control on the user experience, you can use 
PotionStore[2] to build the online-store and CocoaFob[1] to integrate with your 
app. I haven’t used them myself, but judging from the code they seem to be 
simple enough to use and take most of burden off of yourself.

[1] https://github.com/glebd/cocoafob
[2] https://github.com/potionfactory/potionstore



> On 6 Νοε 2014, at 16:40, sqwarqDev  wrote:
> 
> 
>> On 6 Nov 2014, at 21:31, Bill Cheeseman  wrote:
>> 
>> 
>> One answer, which I prefer, is to contract with a commercial e-commerce 
>> provider.
> 
> 
> Thanks, Bill. I had looked at Kagi in the past, but I didn't realise 
> e-commerce providers would actually help with incorporating all the necessary 
> the code. That's a weight off. 
> 
> Like yourself, I'm equally not worried about paying the commission, and it 
> sounds like good value for money.
> 
> Thanks for the tip. 
> 
> 
> Phil
> 
> 
> ___
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/akiskesoglou%40gmail.com
> 
> This email sent to akiskesog...@gmail.com


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: best way to implement unlock features in app

2014-11-06 Thread Allan Odgaard

On 6 Nov 2014, at 16:53, sqwarqDev wrote:


I didn't understand this bit though:

If you do not need to encrypt a payload (as in my post) then I 
suggest making the license be just a serial number followed by a 
signature on that number (maybe include a short hash of the owner 
name)


If anyone can link me to a tutorial on how to create these signatures 
and hashes, that'd be really useful.


The blog post does give a step-by-step example of creating a hash of the 
owner name and then encrypting that with a private key (which is 
basically what a signature is).


Apple’s recommended API for the latter is documented here: 
https://developer.apple.com/library/mac/documentation/security/Conceptual/SecTransformPG/SigningandVerifying/SigningandVerifying.html


For creating a hash, you should probably use the CommonCrypto API. 
Googling for this returned a blog post by Mike Ash: 
https://www.mikeash.com/pyblog/friday-qa-2012-08-10-a-tour-of-commoncrypto.html


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: best way to implement unlock features in app

2014-11-06 Thread sqwarqDev
> On 6 Nov 2014, at 22:35, Allan Odgaard  wrote:

> I wrote this post about the general principles of a secure license key 
> scheme: 
> http://sigpipe.macromates.com/2004/09/05/using-openssl-for-license-keys/

Ahh nice. Thanks. That's the kind of nitty gritty I've been looking for and 
struggling to find. I'll probably go more towards Bill's suggestion in the end, 
but I love getting an understanding of this low level stuff works. 

I didn't understand this bit though:

> If you do not need to encrypt a payload (as in my post) then I suggest making 
> the license be just a serial number followed by a signature on that number 
> (maybe include a short hash of the owner name) 

If anyone can link me to a tutorial on how to create these signatures and 
hashes, that'd be really useful.

TIA


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: best way to implement unlock features in app

2014-11-06 Thread Allan Odgaard

On 6 Nov 2014, at 15:00, sqwarqDev wrote:

[…] I can't find any guidance on exactly how do I generate and test 
for valid licence keys at run time?


I wrote this post about the general principles of a secure license key 
scheme: 
http://sigpipe.macromates.com/2004/09/05/using-openssl-for-license-keys/


Today you shouldn’t rely on openssl (as it’s deprecated on OS X). If 
you do not need to encrypt a payload (as in my post) then I suggest 
making the license be just a serial number followed by a signature on 
that number (maybe include a short hash of the owner name) — this 
should give a shorter license key and is also a more commonly supported 
operation of crypto libraries (generating a digital signature).

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: best way to implement unlock features in app

2014-11-06 Thread sqwarqDev

> On 6 Nov 2014, at 21:31, Bill Cheeseman  wrote:
> 
> 
> One answer, which I prefer, is to contract with a commercial e-commerce 
> provider.


Thanks, Bill. I had looked at Kagi in the past, but I didn't realise e-commerce 
providers would actually help with incorporating all the necessary the code. 
That's a weight off. 

Like yourself, I'm equally not worried about paying the commission, and it 
sounds like good value for money.

Thanks for the tip. 


Phil


___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Re: best way to implement unlock features in app

2014-11-06 Thread Bill Cheeseman

> On Nov 6, 2014, at 9:00 AM, sqwarqDev  wrote:
> 
> I have a reasonably well-developed free OS X app (i.e., by well-developed I 
> mean I've got a stable user base), and I'm now wanting to add extra features 
> that require purchasing a licence. This seems a common model, but I can't 
> find any guidance on exactly how do I generate and test for valid licence 
> keys at run time? 


One answer, which I prefer, is to contract with a commercial e-commerce 
provider. I use eSellerate, a Digital River company, but others like Kagi are 
also available. They handle credit card, PayPal and similar processing and 
foreign currency exchange for you, and they normally produce the license keys 
and issue them for you. In the case of eSellerate, they provide OS X frameworks 
that you incorporate into your application to allow in-app purchase over the 
Internet and/or an Internet "Buy Now" button that you can incorporate in your 
website. You can choose from a variety of ways to have your application check 
the vailidity of a user's key, including online validity checks that are 
completely invisible unless the key is invalid or has been blackballed  (these 
systems seem to handle the user being offline occasionally just fine). They 
charge varying fees, perhaps something like 8% for an application with a modest 
customer base. I am delighted to pay this fee for the service I get -- I have 
no interest in figuring out how to implement a registration key issuing and 
monitoring framework myself.

You normally do have to write some code to integrate the e-commerce provider's 
software into your application, if you support in-app purchase. The eSellerate 
software comes with a very detailed programmer's guide and example code that 
makes the process reasonably easy.

-- 

Bill Cheeseman - b...@cheeseman.name

___

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com