473,398 Members | 2,113 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,398 software developers and data experts.

Storing secret code for all users

Hello,

We want to add a secret code which is the expiration date and the number of
uses of the trial software in storage. Saving this code in the Windows
Registry is not a good choice, because the user may not have access right.
Also adding it to IsolatedStorage is for one user and is not for all the
users. Eventhough I thought IsolatedStorage could help on this.

I am wondering how and where we could add the expiration date and number in
a safe place, so it will be hard for the user to find and delete that code.
Is there any other idea on how to manage the trail software expiration, so it
will expire at the specified date or the number of uses?

Regards,
--
Mike

Nov 27 '05 #1
8 1921
typically there are 2 places you hsould be able to write in all
circumstances:
- the registry hive for the application
- the aplication's app data directory

"Mike9900" <Mi******@discussions.microsoft.com> wrote in message
news:B2**********************************@microsof t.com...
Hello,

We want to add a secret code which is the expiration date and the number
of
uses of the trial software in storage. Saving this code in the Windows
Registry is not a good choice, because the user may not have access right.
Also adding it to IsolatedStorage is for one user and is not for all the
users. Eventhough I thought IsolatedStorage could help on this.

I am wondering how and where we could add the expiration date and number
in
a safe place, so it will be hard for the user to find and delete that
code.
Is there any other idea on how to manage the trail software expiration, so
it
will expire at the specified date or the number of uses?

Regards,
--
Mike

Nov 27 '05 #2
Registry Aplication Hive could be deleted by the user as well as the
application app directory. Is it possible to give an example code in both
cases? For me these two cases are not secure, but I see that Windows XP or
some other apps write in a secure place until they are activated. Where does
Windows write the key until it is activate?
--
Mike
"Lloyd Dupont" wrote:
typically there are 2 places you hsould be able to write in all
circumstances:
- the registry hive for the application
- the aplication's app data directory

"Mike9900" <Mi******@discussions.microsoft.com> wrote in message
news:B2**********************************@microsof t.com...
Hello,

We want to add a secret code which is the expiration date and the number
of
uses of the trial software in storage. Saving this code in the Windows
Registry is not a good choice, because the user may not have access right.
Also adding it to IsolatedStorage is for one user and is not for all the
users. Eventhough I thought IsolatedStorage could help on this.

I am wondering how and where we could add the expiration date and number
in
a safe place, so it will be hard for the user to find and delete that
code.
Is there any other idea on how to manage the trail software expiration, so
it
will expire at the specified date or the number of uses?

Regards,
--
Mike


Nov 27 '05 #3
> I am wondering how and where we could add the expiration date and
number in a safe place, so it will be hard for the user to find and
delete that code. Is there any other idea on how to manage the trail
software expiration, so it will expire at the specified date or the
number of uses?

Store the data in the application's registry hive, and require the key to
be present for the application to start. To stop users from changing the
expiration date you can use the Cryptography classes to calculate a hash
for the expiration data.

Anders Norås
http://dotnetjunkies.com/weblog/anoras/
Nov 27 '05 #4
In this case you don't have reinvent the wheel. Check out
sharewarestarterkit.com.

--
William Stacey [MVP]

"Mike9900" <Mi******@discussions.microsoft.com> wrote in message
news:B2**********************************@microsof t.com...
Hello,

We want to add a secret code which is the expiration date and the number
of
uses of the trial software in storage. Saving this code in the Windows
Registry is not a good choice, because the user may not have access right.
Also adding it to IsolatedStorage is for one user and is not for all the
users. Eventhough I thought IsolatedStorage could help on this.

I am wondering how and where we could add the expiration date and number
in
a safe place, so it will be hard for the user to find and delete that
code.
Is there any other idea on how to manage the trail software expiration, so
it
will expire at the specified date or the number of uses?

Regards,
--
Mike

Nov 27 '05 #5
What if the user uninstall and then install the application? If the user
unistalls the application and then delete the application hive and then
install the application, it will add a new key to the registry upon
installation. We need a place in the registry that if the user uninstalls the
application and deletes the application hive it won't remove the secret key
or the expiration date.

By the application hive do you mean in the
HKEY_LOCAL_MACHINE\SOFTWARE\Company\Application ? or another place?

--
Mike
"Anders Norås" wrote:
I am wondering how and where we could add the expiration date and
number in a safe place, so it will be hard for the user to find and
delete that code. Is there any other idea on how to manage the trail
software expiration, so it will expire at the specified date or the
number of uses?

Store the data in the application's registry hive, and require the key to
be present for the application to start. To stop users from changing the
expiration date you can use the Cryptography classes to calculate a hash
for the expiration data.

Anders Norås
http://dotnetjunkies.com/weblog/anoras/

Nov 27 '05 #6
WRH
Hello

Perhaps writing encrypted values in the registry not during
installation but upon first startup and in two locations, one not
associated with the app. I believe the only way to delete it would
be a registry edit of both locations. I realize that the keys would
be left over if the app is uninstalled and thus the app would not
be a good registry citizen but its hard to come up with
reasonably secure means.


"Mike9900" <Mi******@discussions.microsoft.com> wrote in message
news:B2**********************************@microsof t.com...
Hello,

We want to add a secret code which is the expiration date and the number
of
uses of the trial software in storage. Saving this code in the Windows
Registry is not a good choice, because the user may not have access right.
Also adding it to IsolatedStorage is for one user and is not for all the
users. Eventhough I thought IsolatedStorage could help on this.

I am wondering how and where we could add the expiration date and number
in
a safe place, so it will be hard for the user to find and delete that
code.
Is there any other idea on how to manage the trail software expiration, so
it
will expire at the specified date or the number of uses?

Regards,
--
Mike

Nov 27 '05 #7
Sounds nice, but does anyone knows of any algorithm I can use for this purpose?
--
Mike
"WRH" wrote:
Hello

Perhaps writing encrypted values in the registry not during
installation but upon first startup and in two locations, one not
associated with the app. I believe the only way to delete it would
be a registry edit of both locations. I realize that the keys would
be left over if the app is uninstalled and thus the app would not
be a good registry citizen but its hard to come up with
reasonably secure means.


"Mike9900" <Mi******@discussions.microsoft.com> wrote in message
news:B2**********************************@microsof t.com...
Hello,

We want to add a secret code which is the expiration date and the number
of
uses of the trial software in storage. Saving this code in the Windows
Registry is not a good choice, because the user may not have access right.
Also adding it to IsolatedStorage is for one user and is not for all the
users. Eventhough I thought IsolatedStorage could help on this.

I am wondering how and where we could add the expiration date and number
in
a safe place, so it will be hard for the user to find and delete that
code.
Is there any other idea on how to manage the trail software expiration, so
it
will expire at the specified date or the number of uses?

Regards,
--
Mike


Nov 28 '05 #8
Most times it is done with a public/private key pair. The server signs a
license (full, or trial) and the license has an expire date and license
type - among other fields you want to track. This could be just a simple
xml file in plain text. The signature could only be signed with your
private key at your server site. Then distro the license files as needed
(purchased, etc). If the user does not have a valid license file, your
program stays in eval mode (for example.) So absence or presents of a
license file is the controlling factor, not some reg key that you can't
really hide anyway. The program verifies the license and signature using
the public key. It gets a bit more complex as now this license will work
for anyone. So you also want to factor in a machine hash so that means they
need to send you a machine hash (that your program calculates) and that is
stored in the license. The program also verifies the machine hash in
license against a new machine hash that calculated at each startup to see if
they match. Simple in the abstract, but the devil is in all those details.
That is why I pointed you to the MS code that already does all this for you.

--
William Stacey [MVP]

"Mike9900" <Mi******@discussions.microsoft.com> wrote in message
news:48**********************************@microsof t.com...
Sounds nice, but does anyone knows of any algorithm I can use for this
purpose?
--
Mike
"WRH" wrote:
Hello

Perhaps writing encrypted values in the registry not during
installation but upon first startup and in two locations, one not
associated with the app. I believe the only way to delete it would
be a registry edit of both locations. I realize that the keys would
be left over if the app is uninstalled and thus the app would not
be a good registry citizen but its hard to come up with
reasonably secure means.


"Mike9900" <Mi******@discussions.microsoft.com> wrote in message
news:B2**********************************@microsof t.com...
> Hello,
>
> We want to add a secret code which is the expiration date and the
> number
> of
> uses of the trial software in storage. Saving this code in the Windows
> Registry is not a good choice, because the user may not have access
> right.
> Also adding it to IsolatedStorage is for one user and is not for all
> the
> users. Eventhough I thought IsolatedStorage could help on this.
>
> I am wondering how and where we could add the expiration date and
> number
> in
> a safe place, so it will be hard for the user to find and delete that
> code.
> Is there any other idea on how to manage the trail software expiration,
> so
> it
> will expire at the specified date or the number of uses?
>
> Regards,
> --
> Mike
>


Nov 28 '05 #9

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

Similar topics

2
by: Francisco | last post by:
I have this problem: I have a database with information about games, and users are able to vote for them. Everytime a user votes for a game I store the unique game name into a session variable (an...
3
by: Sean | last post by:
HI, I have a shopping cart in which I am trying to use breadcrumb style navgiation. I need to be able to display the categroy heading relating to the section of the site a visitor is using i.e...
3
by: Peter Hardy | last post by:
Hi guys, Sorry for the cross-post but I got no response in the asp.net newsgroup. I am trying to develop a mini e-learning application where the user provides content for each page....
5
by: - Steve - | last post by:
I have a website that uses forms based authentication. In the logon.aspx page a user enters a username and password. It is then authenticated against Active Directory. After that point on any...
5
by: Morten Mikkelsen | last post by:
Hi, On my SQL Server 2000, I have a table of data (tblAllData) containing a number of columns, some of which are 'secret'. I have to let some users access the database using ODBC from an Excel...
6
by: (PeteCresswell) | last post by:
User wants to go this route instead of storing pointers in the DB and the documents outside. Only time I tried it was with only MS Word docs - and that was a loooong time ago - and it seemed to...
5
by: per9000 | last post by:
Hi all, I want to create an encryption program and started thinking about not storing sensitive information in the memory since I guess someone might steal my computer an scan my memory. So I...
1
by: webcm123 | last post by:
I'm looking for a good method of securing ratings. Cookies lock isn't sufficient. In addition to cookies I would need something else. I'm introducing some ways. -= Storing rates inside seperate...
3
by: Eric Wertman | last post by:
I've a number of scripts set up that require a username/password combination to log in elsewhere. It's gotten to the point where I need to keep them in a more secure location, instead of just in...
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...
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
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
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,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

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.