Click here to Skip to main content
15,899,679 members
Home / Discussions / .NET (Core and Framework)
   

.NET (Core and Framework)

 
GeneralRe: Another "Interop" question. Pin
igor196016-Jul-03 5:29
igor196016-Jul-03 5:29 
GeneralRe: Another "Interop" question. Pin
Nick Parker13-Jul-03 9:57
protectorNick Parker13-Jul-03 9:57 
GeneralRe: Another "Interop" question. Pin
igor196013-Jul-03 10:52
igor196013-Jul-03 10:52 
GeneralWIN CE and .NET Pin
Dato12-Jul-03 10:24
Dato12-Jul-03 10:24 
GeneralRe: WIN CE and .NET Pin
Heath Stewart15-Jul-03 9:16
protectorHeath Stewart15-Jul-03 9:16 
GeneralSpeech SDK question... Pin
JoeSox11-Jul-03 7:43
JoeSox11-Jul-03 7:43 
GeneralTrial version Pin
Anonymous11-Jul-03 3:51
Anonymous11-Jul-03 3:51 
GeneralRe: Trial version Pin
Heath Stewart11-Jul-03 4:37
protectorHeath Stewart11-Jul-03 4:37 
One thing I did with our software was to use an XML file with the computer's SID (unique to every computer) along with a timestamp and then sign the XML with our private key (kept secure, of course). The application can verify the XML signature (uses standard WS-Signatures from the Microsoft.Web.Security assembly since the ones in the .NET class library don't work in some cases) and compare the SID stored in the file with that of the computer's. If the signature is invalid, the user changed it and the app doesn't run. If the SIDs are different the computers are different and the app doesn't run. The timestamp tells you when it was installed and you can diff from the time from this. If the user modifies it, the app doesn't run.

You could further extend this by making that file the actual license so that you don't have multiple builds of your application. When the user purchases the license, they send you a raw XML file (timestamp and computer SID) that you add a value to which signifies that they bought it, then sign the XML and email it back to them (or use some sort of online system, which wouldn't be hard to develop).

Either way, if the file is modified, it is invalid.

Now, here's the trick. It's better to use an enveloped signature (the signature is part of the XML document) because it keeps your schema valid. You also shouldn't include the public key in the signature because if your app uses the public key provided, then someone else could change the values and resign the XML document with their information. If your app trusts the public key included, the user just pirated your software! So, make sure your app uses its own public key stored in its code (or uses the one that is part of its manifest if you sign the XML document and your assembly with the same key pair) and you're good to go!

 

Reminiscent of my younger years...
10 LOAD "SCISSORS"
20 RUN

GeneralRe: Trial version Pin
Nick Parker12-Jul-03 4:59
protectorNick Parker12-Jul-03 4:59 
GeneralRe: Trial version Pin
Heath Stewart12-Jul-03 7:28
protectorHeath Stewart12-Jul-03 7:28 
GeneralRe: Trial version Pin
Nick Parker12-Jul-03 7:50
protectorNick Parker12-Jul-03 7:50 
GeneralRe: Trial version Pin
Heath Stewart12-Jul-03 7:54
protectorHeath Stewart12-Jul-03 7:54 
GeneralRe: Trial version Pin
Nick Parker12-Jul-03 8:27
protectorNick Parker12-Jul-03 8:27 
GeneralRe: Trial version Pin
Derek Lakin14-Jul-03 21:17
Derek Lakin14-Jul-03 21:17 
GeneralRe: Trial version Pin
Heath Stewart15-Jul-03 2:22
protectorHeath Stewart15-Jul-03 2:22 
GeneralRe: Trial version Pin
Derek Lakin15-Jul-03 2:40
Derek Lakin15-Jul-03 2:40 
GeneralRe: Trial version Pin
Adam Turner31-Jul-03 19:57
Adam Turner31-Jul-03 19:57 
GeneralRe: Trial version Pin
Heath Stewart1-Aug-03 8:51
protectorHeath Stewart1-Aug-03 8:51 
GeneralRe: Trial version Pin
Heath Stewart7-Sep-03 19:22
protectorHeath Stewart7-Sep-03 19:22 
GeneralRe: Trial version Pin
Stephane Rodriguez.12-Jul-03 0:01
Stephane Rodriguez.12-Jul-03 0:01 
GeneralRe: Trial version Pin
Heath Stewart12-Jul-03 7:21
protectorHeath Stewart12-Jul-03 7:21 
GeneralRe: Trial version Pin
Stephane Rodriguez.12-Jul-03 7:38
Stephane Rodriguez.12-Jul-03 7:38 
GeneralPushing .NET Framework to client machines Pin
Nino_19-Jul-03 16:23
Nino_19-Jul-03 16:23 
GeneralRe: Pushing .NET Framework to client machines Pin
David Stone9-Jul-03 18:02
sitebuilderDavid Stone9-Jul-03 18:02 
GeneralRe: Pushing .NET Framework to client machines Pin
Nino_19-Jul-03 18:52
Nino_19-Jul-03 18:52 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.