Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (748)
Games in Android Showcase (226)
games submitted by our members
Games in WIP (834)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Managing licenses in a Java app  (Read 1912 times)
0 Members and 1 Guest are viewing this topic.
Offline digitprop

Junior Devvie

« Posted 2005-01-18 13:27:58 »


I am pondering the option of automatically managing licenses for my programs. Can anybody point me to tutorials, examples, etc. in this field?

What I mean by 'managing licenses' is a system of signed (authentifiable) license files which grant the right to use a software for a limited time. With automatic management of expired licenses, demo versions, grace periods - you name it.

Something which is regularly needed for shareware games, so I felt I may be reinventing the wheel if I tried to solve that on my own.


M. Fischer .
Offline shawnkendall

Senior Devvie

« Reply #1 - Posted 2005-01-25 23:57:36 »

Any luck yet?
I am interested as well.

Shawn Kendall
Cosmic Interactive, LLC
Offline digitprop

Junior Devvie

« Reply #2 - Posted 2005-01-26 07:07:20 »

Well, some luck at least. Obviously there are two classes of Java license managers out there - expensive ones and inexpensive/free ones.

I didn't bother to look too closely at the expensive ones, as they are out of the question for me anyway; and I was after simple functionality - just being able to handing out licenses, with some property settings attached, an expiration date, and the user ID, of course.

This is handled quite well by the inexpensive ones. Here is a list, in no particular order, of what I found:

JLicense costs 50 USD, and seems to be very similar to Licens4J. It basically is a signing / authentication toolkit. It's probably very easy to do it on your own, but I figured the time required for diving into the whole cryptography thing would be worth more than 50 USD.

Anyway, the difficult - and not really adressed by JLicense - part is to securely hide your authentication mechanism in your code. For example, if you validate the license in the main method of a small starter class, it would be very easy to replace that method, using a simple debugger.

Obfuscation (another interesting issue) could help, but it's probably not foolproof. So the effort you have for making your licensing scheme secure has to be traded off against the value of the property you want to protect.

In my case, with a very limited user base which consists mostly of non-Java non-geeks, a simple validation is probably sufficient, and anything more complicated would not make sense.

However, with a prime time, top-notch 3D FPS (JDoom 4...?!) it would be an entirely different story.

M. Fischer .
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline shawnkendall

Senior Devvie

« Reply #3 - Posted 2005-01-26 22:19:23 »

Most excellent, i will have a look-see.
I, too will be distributing a shareware app meant for user/dev types not familiar with Java code (limiting hack worries), so the simplier the better.

Shawn Kendall
Cosmic Interactive, LLC
Offline princec

« JGO Spiffy Duke »

Medals: 993
Projects: 3
Exp: 16 years

Eh? Who? What? ... Me?

« Reply #4 - Posted 2005-01-27 08:00:13 »

I manage licenses using a handrolled system of server validation, and a public/private key (only I know the private key, natch). The user's registration details are encoded by the private key - their name, address, and email address - and I display these on the title screen to discourage people passing their keys around to people they don't know. I have absolutely no problem with people giving copies of my games to friends. That's how the world works and it's good.

Because PK encryption produces enormous keycodes (1024 bit) this is totally impractical to type in, so I use a server to simply download the key on request using the email address and the last 14 hex digits of the encoded data.

I am not in the least worried about hax0r McL33t commenting out my registration checking code. Locks keep honest people honest. Even a script kiddie can hack a jar file with a minimum of knowledge so it's really a complete waste of time. Time is money! Spend the week that you would otherwise waste in complex copy protection and license management which will be hacked in no time on marketing your game instead. You will gain more than you lose.

Cas Smiley

Offline oNyx

JGO Coder

Medals: 2

pixels! :x

« Reply #5 - Posted 2005-01-27 09:51:02 »

>I am not in the least worried about hax0r McL33t
>commenting out my registration checking code.

Doing so is actually more time consuming than disabling average native protection. And why should "haxx0r mc1337" spend his/her precious time with that, if he/she could get much more fame by disabling the cd check of a handfull of AAA games at the same time? Smiley

弾幕 ☆ @mahonnaiseblog
Pages: [1]
  ignore  |  Print  

xxMrPHDxx (304 views)
2017-12-31 17:17:51

xxMrPHDxx (92 views)
2017-12-31 17:15:51

xxMrPHDxx (145 views)
2017-12-28 18:11:33

Ecumene (309 views)
2017-09-30 02:57:34

theagentd (491 views)
2017-09-26 18:23:31

cybrmynd (520 views)
2017-08-02 12:28:51

cybrmynd (462 views)
2017-08-02 12:19:43

cybrmynd (444 views)
2017-08-02 12:18:09

Sralse (404 views)
2017-07-25 17:13:48

Archive (1309 views)
2017-04-27 17:45:51
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!