473,396 Members | 1,918 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Distributing a secure JAR -- for *compilation*

My company is hoping to distribute a JAR file containing a bunch
of API classes for some low-level underlying computations.

There seem to be a number of ways to distribute secure JAR files
that can later be *executed* securely. But we want to distribute
a JAR file that's as secure as possible but can still be used by end
users in *compilation*.

We've found yGuard, which will obfuscate a JAR file to make it at
least hard to decypher. However, we would also like to be able
to set a time limit on the JAR file's usability. At some point we might
also want to limit the JAR to only run on one platform (by IP or MAC
address).

The only thing I can think to do is some sort of license key check
that occurs in a base java class's static initializer, that halts the
program if the license is expired or invalid. This sounds like it
would be easy to hack out of though, even if the jar were obfuscated.

I can't imagine we're the first to want to do something like this,
but I can't seem to find any references to how to handle this
situation. Suggestions?
--Mark
Jul 17 '05 #1
1 3800
creating license keys as you have mentioned is not a bad idea. unless
you expect sales as a large as borland, i can't see too many hackers
wanting to tear your product apart. however, perhaps looking at the java
security api might provide a way for you to provide licensing to
individual customers.

- perry

"nothing is impossible, we just don't know how to do it yet" - albert
einstien

Hegemony Cricket wrote:
My company is hoping to distribute a JAR file containing a bunch
of API classes for some low-level underlying computations.

There seem to be a number of ways to distribute secure JAR files
that can later be *executed* securely. But we want to distribute
a JAR file that's as secure as possible but can still be used by end
users in *compilation*.

We've found yGuard, which will obfuscate a JAR file to make it at
least hard to decypher. However, we would also like to be able
to set a time limit on the JAR file's usability. At some point we might
also want to limit the JAR to only run on one platform (by IP or MAC
address).

The only thing I can think to do is some sort of license key check
that occurs in a base java class's static initializer, that halts the
program if the license is expired or invalid. This sounds like it
would be easy to hack out of though, even if the jar were obfuscated.

I can't imagine we're the first to want to do something like this,
but I can't seem to find any references to how to handle this
situation. Suggestions?
--Mark


Jul 17 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

14
by: Phillip Mills | last post by:
I've learned enough of the Python language to be mildly dangerous and have used it in a few personal projects. All my development of commercial (or production) products over the past dozen years...
5
by: Jiri Barton | last post by:
Hi, I'd like to be able to distribute some python modules of my system (plugins) without the source. So far, I have done this by including only the *.pyc files. However, I have recently found...
6
by: Billy Jacobs | last post by:
I have a website which has both secure and non-secure pages. I want to uses forms authentication. How do I accomplish this? Originally I had my web.config file in the root with Forms...
2
by: Job Lot | last post by:
I have created an application which creates a financial plan for our customers. Now my financial planner wants to distribute a copy of application to our customer with their respective plans and...
10
by: John Phelan | last post by:
I read an article by, by Mike Groh, in Access-VB-SQL Advisor Magazine, Week 37 that concerns me quite a bit on distributing Access Applications commercially. First I need to describe a "commercial...
5
by: MLH | last post by:
I have little or no knowledge as to how a runtime Access database application might be distributed from a website. I am sure that I'm about to find out. I do have one question for you wizards...
2
by: John Welch | last post by:
It happens much too often that I have to tell a client how to fix up missing references when I send them an application, especially if the client is distributing it to different users. It makes me...
1
by: Tea Maker | last post by:
Hello, How can I protect my .net applications? I don't want the clients to copy the application files and use them on another computer, or even give the application to their friends. The...
5
by: xkenneth | last post by:
Hi All, I'll shortly be distributing a number of python applications that use proprietary. The software is part of a much larger system and it will need to be distributed securely. How can i...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.