2010-11-18 39 views
0

... travaillant sur un mécanisme de protection contre la copie RSA (clé publique/privée) pour notre logiciel. Nous n'utilisons pas de produits tiers, mais implémentons le modèle LicenseProvider de Microsoft. Nous avons mis en place des moyens pour identifier l'ordinateur spécifique, mais n'avons pas compris comment vérifier la date actuelle par rapport à une date d'expiration stockée dans le fichier de licence (.lic).Lors de la protection contre la copie, comment vérifier la date réelle par rapport à une date d'expiration

DateTime.Today prend évidemment la date du système, mais que se passe-t-il si l'utilisateur continue de réinitialiser la date à quelque chose avant la date d'expiration?

Des idées simpel comment cela pourrait être plus à l'épreuve des balles, autre que de récupérer la date d'une source en ligne? Encore une fois, rien de sophistiqué, mais mieux que DateTime.Today :)

Comme d'habitude, merci beaucoup!

Répondre

2

Vous pouvez enregistrer la date de votre dernière vérification la licence cryptée dans le registre. Cela vous fournira une date cohérente et il peut également être utilisé pour voir si l'utilisateur a repoussé la date de son système.

1

Vous pouvez toujours utiliser a managed NTP client et récupérer l'heure depuis un serveur NTP. (Notez qu'un utilisateur intelligent peut utiliser son fichier hosts pour rediriger les requêtes NTP vers un faux serveur NTP sous son contrôle, mais il y a vraiment peu de choses à faire à ce sujet.)