473,395 Members | 1,948 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,395 software developers and data experts.

Security Code/ installation key

Hi,

Any suggestions on how I can secure my application with some kind of
installation key, or put a expiry date on the software.

Tim
Jul 21 '05 #1
2 1611
What I do is require a license key string consisting of encrypted letters
and numbers. Embedded in this is the expiration date of the software if it
is a "free trial", or a valid license key that is verified by a mathematical
algorithm.

Such a key can be placed in a web.config file, in the registry, or be
required to be passed into the constructor of the app's main class.

There is also a pretty well-developed licensing class scheme you can look up
in the .NET Documentation. This can be overriden to do things similar to
what I describe above.

Does that help?
--Peter

"Tim Marsden" <TM@UK.COM> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
Hi,

Any suggestions on how I can secure my application with some kind of
installation key, or put a expiry date on the software.

Tim

Jul 21 '05 #2
Hello Tim,

Thanks for your post. I agree with Peter, and I'd like to provide more
information on this subject:

1. As mentioned by Peter, you can refer to .NET Licensing which protects
the .NET controls and components:

..NET Licensing
http://windowsforms.net/articles/Licensing.aspx

Licensing Components and Controls
http://msdn.microsoft.com/library/de...us/cpguide/htm
l/cpconlicensingcomponentscontrols.asp

2. If you want to put an expiry date on the software, you may take a look
at the following algorithmn:

a. Create a setup program for your application. In the setup program, we
should record the installation time and registration flag to a persistent
storage (say, registry, file, etc) in an encrypted format if the
application was installed successfully.

b. Check the registration flag immediately after the the program starts. If
this product is registered, go to Step f, otherwise (flag is missing or is
set to unregistered) go to next step.

c. Get the current time and compare it with the installation time, if it
exceeds the trial period, then go to Step d, otherwise go to Step e.

d. Exit the program.

e. Display a dialog/message box urging the customer to enter a registration
key. And modify the registration flag if a user enter a valid regiatration
key.

f. Continue to work.

Note: You should also implement/apply encryption algorithmns for the
registration key/flag and installation time. I believe the following MSDN
article is helpful:
http://msdn.microsoft.com/library/de...us/cpguide/htm
l/cpconcryptographictasks.asp

Hope this helps.

Regards,

HuangTM
Microsoft Online Partner Support
MCSE/MCSD

Get Secure! -- www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.

Jul 21 '05 #3

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

Similar topics

12
by: Angelos Karantzalis | last post by:
Is there a way to set Permissions based on user roles by using some configuration file for my application ? I'm coming from a Java background, where that could very easily be accomplished but...
10
by: Edlueze | last post by:
I am developing some Data Access Pages (DAP) using Microsoft Access 2003 on Microsoft Windows XP. When I try to open these pages (located on my C: drive), the display of the data access page is...
1
by: Fred Mellender | last post by:
I wish to run a C# Windows Forms program on a Windows 98SE machine, from a directory that is owned by a Windows XP machine. The directory is shared via directory sharing from the XP machine to...
3
by: Ray Cassick \(Home\) | last post by:
I have some code that looks like this for one of my classes: Imports System.Security Imports System.Security.Permissions Imports System.Security.Principal ...
2
by: Tim Marsden | last post by:
Hi, Any suggestions on how I can secure my application with some kind of installation key, or put a expiry date on the software. Tim
2
by: Steven | last post by:
I have developed an application using VB.NET, it works fine in my local drive. However, security exception is flowed when I try to run the release program under a network drive. I have signed the...
3
by: steveeisen | last post by:
microsoft.public.dotnet.languages.vb.upgrade isn't getting much traffic, so I'll try here. Ours is a VB6 shop exploring .NET. First I wrote a new application with VB .NET 2003 to create a...
3
by: michael sorens | last post by:
In the interests of increasing security, I came upon the DPAPI security library available from the GotDotNet user samples repository. What I want to do is create an applications that accesses a...
2
by: Baheri | last post by:
If I use WSE3.0 security to authenticate my user does the client need to install WSE3.0 or any other installation? Does he need to use the WSE API to send requestes to my service?How does a Java...
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
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
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.