309
HASP Le Système Professionnel de Protection des Logiciels Guide du Programmeur Version 6.1 Septembre 1997

Manuel Hasp

Embed Size (px)

Citation preview

Page 1: Manuel Hasp

HASP

Le Système Professionnelde Protection des Logiciels

Guide du Programmeur

Version 6.1Septembre 1997

Page 2: Manuel Hasp

Aladdin France S.A.

55 avenue des Champs Pierreux

92012 Nanterre Cedex

Tél : +33 (0)1 41 37 70 30

Fax: +33 (0)1 41 37 70 39

Copyright (c) 1997 ALADDIN FRANCE S.A. - TOUS DROITS RÉSERVÉS

Réalisation : Octobre 1997 - DICTYMATEC S.C.

Page 3: Manuel Hasp

DROITS DE REPRODUCTION ET MARQUES DEPOSEES

Les droits de reproduction du système HASP® et de sa documentation sont réservés parAladdin Knowledge Systems Ltd. (C) depuis 1985 jusqu'à ce jour.

Tous droits réservés.

HASP® et MemoHASP® sont des marques déposées deAladdin Knowledge Systems Ltd.

NetHASPTM, MacHASPTM, DataHASPTM, TimeHASPTM, SerialHASPTM

HASP36TM, MemoHASP36TM, NetHASP36TM,OpenHASPTM, HASPCardTM, et AladdinCARDTM sont des appellations commerciales de

Aladdin Knowledge Systems Ltd.

Tous les produits mentionnés dans le présent manuel sont des marques déposées deleurs fabriquants respectifs.

LIMITATION DE GARANTIE, LIMITATION DE DOMMAGES ET DERESPONSABILITE

Aladdin Knowledge Systems Ltd. (“Aladdin”) garantit pendant une période de douze (12)mois à compter de la date d'achat son logiciel et la clé HASP® dans les conditionsstipulées dans l'Accord et la Licence de Développeur.

La seule obligation d'Aladdin en cas de rupture de garantie, et la limitation deresponsabilité pour dommages vis-à-vis de toute autre partie sont expliquées dansl'Accord et la Licence de Développeur.

SAUF SPECIFICATIONS CI-DESSUS, IL N'EXISTE AUCUNE AUTRE GARANTIE,EXPRESSE OU IMPLICITE, CONCERNANT LES PRODUITS D'ALADDIN, YCOMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES IMPLICITES D'APTITUDE ÀLA COMMERCIALISATION ET D'APTITUDE À UN USAGE PARTICULIER.

ALADDIN KNOWLEDGE SYSTEMS LTD.

ACCORD ET LICENCE DE DEVELOPPEUR

Tous les produits d'Aladdin Knowledge Systems Ltd. Ou de ses sociétés affiliées("Aladdin"), y compris les Logiciels d'Évaluation, équipements matériels, disquettes,Cédérom, clés HASP® et les Guides du Programmeur (ces éléments étant collectivementappelés "le Produit") et toutes les commandes futures sont soumis aux termes ci-dessous.Si vous n'acceptez pas ces termes, veuillez nous retourner le Logiciel d'Évaluation et le

Page 4: Manuel Hasp

Guide du Programmeur, en port payé, dans les sept jours suivant leur réception, et nousvous rembourserons après déduction des frais de port et de prise en charge.

1. Licence. Aladdin, concepteur et fabricant du Produit, vous concède une licencepersonnelle, incessible et non-exclusive, de sous-licence et de revente du Produit figurantdans le présent emballage, aux termes stipulés ci-après. Le Logiciel, ainsi que sesrévisions futures, restera la propriété d'Aladdin, sous réserve des termes du présentAccord.

Sauf dispositions de la Section 2 ci-dessous, il vous est interdit de céder tout ou une partiedu Produit ou de la mettre à la disposition de qui que ce soit, ou de modifier,désassembler, décompiler, rétro-concevoir (reverse engineer), réviser ou améliorer leLogiciel, la clé HASP® ou toute autre partie du Produit, ni tenter de découvrir le codesource du Logiciel.

2. Modification du Logiciel ; Vente des clés HASP®. Vous avez le droit de combineret lier le Logiciel à vos programmes informatiques dans le seul but de protéger cesprogrammes informatiques, tels qu'ils sont décrits dans le Guide du Programmeur. Vousavez ensuite le droit de sous-licencier le Logiciel ainsi combiné à des distributeurs etutilisateurs finaux de votre programme informatique, aux termes du présent Accord. Vousavez le droit d'effectuer une copie de sauvegarde du Logiciel.

Vous avez le droit de revendre à des utilisateurs finaux, sous réserve des limitationsexprimées dans la Section 3 (c) ci-dessous, toutes les clés HASP® qui vous sont venduespar Aladdin.

3. Responsabilité Limitée. Aladdin garantit pendant une période de douze (12) moisaprès la date de livraison (la "Période de Garantie") les conditions suivantes :

(a) le Logiciel s'exécute pour l'essentiel comme indiquer dans le Guide du Programmeur, àcondition qu'il soit utilisé sur l'ordinateur et avec le système d'exploitation pour lesquels ila été conçu;

(b) le support sur lequel le Logiciel est distribué est pour l'essentiel exempt de défautsignificatif de pièces et main d'oeuvre;

(c) la clé HASP® est pour l'essentiel exempte de défaut significatif de pièces et maind'oeuvre.

4. Limitation des Recours. En cas de rupture de la présente garantie, la seuleobligation d'Aladdin se limitera au remplacement et à la réparation, au choix d'Aladdin,de tout Produit ou composant du Produit, et ce gratuitement.

Page 5: Manuel Hasp

Les réclamations de garantie doivent être effectuées par écrit pendant la Période deGarantie et dans les sept (7) jours suivant l'observation du défaut, et être accompagnéespar des preuves qu'Aladdin jugera satisfaisantes. Tous les Produits seront retournés audistributeur HASP auquel ils ont été achetés (s'ils n'ont pas été achetés directement àAladdin) et devront être renvoyés avec assurance, en port payé.

SAUF SPECIFICATIONS CI-DESSUS, IL N'EXISTE AUCUNE AUTRE GARANTIE,EXPRESSE OU IMPLICITE, CONCERNANT LES PRODUITS D'ALADDIN, YCOMPRIS, MAIS SANS S'Y LIMITER, LES GARANTIES IMPLICITES D'APTITUDE ÀLA COMMERCIALISATION ET D'APTITUDE À UN USAGE PARTICULIER.

5. Limitation de la Responsabilité d'Aladdin. La responsabilité globale d'Aladdinpour les dommages subis par vous ou toute autre partie pour quelque cause que ce soit, demanière contractuelle ou délictueuse, y compris les cas de négligence, ne saurait excéderle prix que vous avez payé pour l'unité du Produit ayant provoqué les dommages quiconstituent, ou sont directement liés à la cause de réclamation. Aladdin ne saurait enaucun cas être réputé responsable de dommages provoqués par la non-exécution de vosobligations, ni d'une perte de données, profits, gains, ou tout autre dommage, incident ouconséquent, même si Aladdin a été prévenu de la possibilité des dommages, ou pour touteréclamation que vous pourriez baser sur toute réclamation d'une tierce partie.

6. Résiliation. Le non-respect des termes du présent Accord entraîne la résiliation devotre Licence et du présent Accord. Les Clauses 3, 4 et 5 resteront valides aprèsrésiliation du présent Accord.

Page 6: Manuel Hasp
Page 7: Manuel Hasp

v

Sommaire

Guide HASP - Synopsis ___________________________________xiii

Chapitre 1 - Introduction __________________________________ 1-1Le Système HASP.............................................................................................................. 1-1Avantages du Système HASP ........................................................................................... 1-2Les Points Forts de la Sécurité HASP.............................................................................. 1-5Avantages du Système HASP pour vos Clients ............................................................... 1-6La Gamme HASP............................................................................................................... 1-7Conventions Typographiques.......................................................................................... 1-11Protection de Logiciel – Référence Rapide .................................................................... 1-12

Chapitre 2 - Concepts HASP de Base _______________________ 2-1Termes HASP..................................................................................................................... 2-1Mémoire HASP .................................................................................................................. 2-4Méthodes de Protection HASP.......................................................................................... 2-5Questions Fréquemment Posées (FAQ) ........................................................................... 2-6

Chapitre 3 - Concepts NetHASP de Base_____________________ 3-1Qu'est-ce qu'une clé NetHASP? ........................................................................................ 3-1Termes NetHASP .............................................................................................................. 3-2Le Système NetHASP........................................................................................................ 3-4Questions Fréquemment Posées (FAQ) ........................................................................... 3-7

Chapitre 4 - Le Logiciel HASP _____________________________ 4-1Les Utilitaires HASP......................................................................................................... 4-1L'API HASP........................................................................................................................ 4-2Les Gestionnaires de Périphériques HASP...................................................................... 4-2

Page 8: Manuel Hasp

vi Sommaire

Installation du Logiciel HASP .......................................................................................... 4-3

Chapitre 5 - Protection par Enveloppe _______________________ 5-1Protection d’une Application Win32 ................................................................................. 5-3Programme d’Enveloppe Win32 ....................................................................................... 5-5Protection d’une Application DOS ou Win16 ................................................................. 5-21Programme d’Enveloppe DOS et Win16 ........................................................................ 5-22Protection en Ligne de Commande................................................................................. 5-36FAS – The Full Authorization System ........................................................................... 5-43Protection de Logiciel sur des PC Isolés ou en Réseau ................................................. 5-45Considérations NetHASP................................................................................................ 5-46Questions Fréquemment Posées (FAQ) ......................................................................... 5-47

Chapitre 6 - Protection avec l’API ___________________________ 6-1Utilisation de l'API ............................................................................................................ 6-2Services HASP de Base ..................................................................................................... 6-4Services MemoHASP ......................................................................................................... 6-5Services TimeHASP........................................................................................................... 6-6Services NetHASP ............................................................................................................. 6-7Protection de Logiciels pour Stations en Réseau ou Isolés ............................................. 6-9Questions Fréquemment Posées (FAQ) ......................................................................... 6-10

Chapitre 7 - Services de Base de l’API HASP _________________ 7-1Service 1: IsHasp ............................................................................................................... 7-2Service 2: HaspCode .......................................................................................................... 7-3Service 5: HaspStatus........................................................................................................ 7-4

Chapitre 8 - Services API MemoHASP _______________________ 8-1Service 3: ReadWord.......................................................................................................... 8-2Service 4: WriteWord......................................................................................................... 8-3Service 6: HaspID .............................................................................................................. 8-4Service 50: ReadBlock ....................................................................................................... 8-5Service 51: WriteBlock ...................................................................................................... 8-6

Page 9: Manuel Hasp

vii

Chapitre 9 - Services TimeHASP ___________________________ 9-1Service 70: SetTime ........................................................................................................... 9-3Service 71: GetTime........................................................................................................... 9-4Service 72: SetDate............................................................................................................ 9-5Service 73: GetDate ........................................................................................................... 9-6Service 74: WriteByte ........................................................................................................ 9-7Service 75: ReadByte ......................................................................................................... 9-8Service 76: WriteBlock ...................................................................................................... 9-9Service 77: ReadBlock ..................................................................................................... 9-11Service 78: GetHaspID .................................................................................................... 9-13

Chapitre 10 - Services de l’API NetHASP ____________________ 10-1Service 40: LastStatus..................................................................................................... 10-4Service 41: HaspCode ...................................................................................................... 10-5Service 42: LOGIN........................................................................................................... 10-7Service 43: LOGOUT ....................................................................................................... 10-9Service 44: ReadWord.................................................................................................... 10-11Service 45: WriteWord................................................................................................... 10-12Service 46: HaspID ........................................................................................................ 10-13Service 48: IdleTime ...................................................................................................... 10-14Service 52: ReadBlock ................................................................................................... 10-16Service 53: WriteBlock .................................................................................................. 10-17Service 85: SetConfigFilename ..................................................................................... 10-19Service 96: SetServerByName ...................................................................................... 10-20

Chapitre 11 - Codes d’Etat de l’API_________________________ 11-1Codes LastStatus NetHASP............................................................................................ 11-4

Chapitre 12 - Sécurité par Motifs Codés _____________________ 12-1Protection Conventionnelle et PCS ................................................................................ 12-2Structure d’un Motif ........................................................................................................ 12-3Mise en oeuvre du système PCS ..................................................................................... 12-4Questions Fréquemment Posées (FAQ) ......................................................................... 12-6

Page 10: Manuel Hasp

viii Sommaire

Chapitre 13 - Le Programme HaspEdit ______________________ 13-1Lancement de HaspEdit.................................................................................................. 13-1Saisie des Mots de Passe ................................................................................................. 13-3Vérification des Codes de Retour.................................................................................... 13-3Vérification du Numéro d'Identification ........................................................................ 13-4Modifier la Mémoire d'une Clé MemoHASP ou TimeHASP-4 ...................................... 13-5Modifier la Mémoire TimeHASP .................................................................................... 13-7Modifier la Mémoire NetHASP....................................................................................... 13-8Réglage de l'Horloge TimeHASP .................................................................................... 13-9Personnalisation de NetHASP...................................................................................... 13-10Le Full Authorization System....................................................................................... 13-13

Chapitre 14 - Le Gestionnaire de Périphérique HASP __________ 14-1Gestionnaire de Périphérique HASP pour Windows..................................................... 14-3Gestionnaire de Périphérique HASP pour Win32s ....................................................... 14-3Gestionnaire de Périphérique HASP pour Windows 95................................................ 14-4Gestionnaire de Périphérique HASP pour Windows NT .............................................. 14-4Le Programme Setup....................................................................................................... 14-5Le programme Hinstall ................................................................................................... 14-6Installation Personnalisée du Gestionnaire de Périphérique HASP............................ 14-7Questions Fréquemment Posées (FAQ) ......................................................................... 14-8

Chapitre 15 - Comment Assurer une Protection Maximale des Logiciels15-1Utilisez des Appels Multiples.......................................................................................... 15-1Utilisez Différents Codes Graine .................................................................................... 15-2Utilisez des Expressions Mathématiques ...................................................................... 15-2Sommes de Contrôle ........................................................................................................ 15-2Cachez les Mots de Passe et les Codes de Retour .......................................................... 15-4Utilisez les Réponses des Appels .................................................................................... 15-4Séparez les Etapes de Vérification ................................................................................. 15-5Utilisez des Données Dépendantes de HASP ................................................................ 15-5Utilisez le système PCS................................................................................................... 15-6

Page 11: Manuel Hasp

ix

Chapitre 16 - Installation de NetHASP sur un Réseau __________ 16-1Réseaux et Protocoles Supportés par NetHASP ............................................................ 16-1Le Gestionnaire de Licence NetHASP............................................................................ 16-3Recherche Automatique de NetHASP .......................................................................... 16-10Recherche NetHASP Personnalisée ............................................................................. 16-13Installation NetHASP - Référence Rapide ................................................................... 16-22

Chapitre 17 - Outils NetHASP_____________________________ 17-1Les Outils de Test NetHASP........................................................................................... 17-1Moniteur NetHASP ......................................................................................................... 17-2

Annexe A - API et Langage Assembleur______________________ A-1

Annexe B - Le Gestionnaire Résident HASP __________________ B-1

Annexe C - Fichier de Configuration NetHASP_________________ C-1[NH_COMMON] ................................................................................................................C-4[NH_IPX]............................................................................................................................C-5[NH_NETBIOS] .................................................................................................................C-7[NH_TCPIP] .......................................................................................................................C-8

Annexe D - Paramètres du Gestionnaire de Licence NetHASP ____ D-1

Annexe E - Adaptation de NetHASP_________________________ E-1Définition des Stations Autorisées sous IPX....................................................................E-1Définition des Stations Autorisées sous TCP/IP..............................................................E-2Définition des Stations Autorisées sous NetBIOS...........................................................E-4Adaptation de la durée du Timeout..................................................................................E-5Définition du Nombre d'Applications Protégées Gérées .................................................E-6Réseaux Locaux et Interconnectés ...................................................................................E-7

Page 12: Manuel Hasp

x Sommaire

Annexe F - HASP sous OS/2 ______________________________ F-1Installation de HASP sous OS/2 ....................................................................................... F-1Reconfiguration du Port Parallèle pour Partager le Port ............................................... F-2

Annexe G - HASP36 et NetHASP36_________________________G-1La Gamme HASP36...........................................................................................................G-2Installation de HASP36.....................................................................................................G-2Protection par Enveloppe ..................................................................................................G-3HaspEdit ............................................................................................................................G-4Protection par API .............................................................................................................G-4Gestionnaire de Périphérique HASP................................................................................G-6Gestionnaires de Licence NetHASP .................................................................................G-7

Annexe H - Mots de Passe de Démonstration _________________ H-1

Annexe I - Support Technique ______________________________I-1Problèmes et Solutions ....................................................................................................... I-3

Annexe J - Spécifications Techniques _______________________ J-1

Index ___________________________________________________ i

Page 13: Manuel Hasp

xi

Liste des TableauxTableau 1.1: Les solutions HASP...................................................................................... 1-3Tableau 1.2: Conventions typographiques utilisées dans ce manuel ........................... 1-11Tableau 1.3: Etapes de protection d'un logiciel ............................................................. 1-12Tableau 2.1: Mémoire HASP en lecture / écriture ........................................................... 2-4Tableau 5.1: Programmes de Protection par Enveloppe HASP ...................................... 5-2Tableau 5.3: Nombre de licences NetHASP possibles .................................................. 5-12Tableau 5.4: Valeurs possible pour le Numéro de Programme..................................... 5-15Tableau 5.5: Valeurs Possibles du Numéro de Programme .......................................... 5-25Tableau 5.6: Messages d'Erreur originaux..................................................................... 5-34Tableau 6.1: Valeurs de LptNum et ports parallèles recherchés ................................... 6-3Tableau 6.2: Services HASP de base – Description ......................................................... 6-4Tableau 6.3: Services MemoHASP – Description ............................................................ 6-5Tableau 6.4: Services TimeHASP – Description.............................................................. 6-6Tableau 6.5: Services NetHASP – Description ................................................................ 6-7Tableau 7.1: Services HASP de base et les paramètres de la routine hasp( )............... 7-2Tableau 8.1: Services MemoHASP et les paramètres de la routine hasp( ) .................. 8-2Tableau 9.1: Services TimeHASP et les paramètres de la routine hasp( ) .................... 9-2Tableau 10.1: Services NetHASP et les paramètres de la routine hasp( ) ................... 10-2Tableau 10.2: Durée du laps de temps par défaut pour les Gestionnaire de LicenceNetHASP........................................................................................................................ 10-15Tableau 11.1: Codes d'Etat – HASP-3, MemoHASP, TimeHASP-4 et NetHASP....... 11-1Tableau 11.2: codes d'Etat – TimeHASP et TimeHASP-4............................................. 11-1Tableau 11.3: Codes d'Etat – Applications utilisant le Gestionnaire de PériphériqueHASP ................................................................................................................................ 11-3Tableau 11.4: codes d'Etat pour le service LastStatus NetHASP................................. 11-4Tableau 12.1: Structure d'un motif PCS ........................................................................ 12-3Tableau 13.1: Programme HaspEdit .............................................................................. 13-2Tableau 16.1: Protocoles supportés par les Gestionnaires de Licence NetHASP........ 16-4Tableau 16.2: Ordre de recherche du fichier nethasp.ini ............................................ 16-13Tableau 16.3: Ordre de recherche du fichier newhaddr.dat ....................................... 16-18Tableau 16.4: Paramétrage de NetHASP sous IPX..................................................... 16-23Tableau 16.5: Paramétrage de NetHASP sous TCP/IP ............................................... 16-24Tableau 16.6: Paramétrage de NetHASP sous NetBIOS............................................ 16-25Tableau A.1: Appels à la routine haspreg( ) avec les services HASP de base................A-1Tableau A.2: Appels à la routine haspreg() avec les services MemoHASP ....................A-2

Page 14: Manuel Hasp

xii Liste des Tableaux

Table A.3: Appels à la routine haspreg() avec les services TimeHASP..........................A-3Tableau A.4: Appels à la routine haspreg() avec les services NetHASP ........................A-5Tableau C.1: Ordre de recherche du fichier nethasp.ini .................................................C-2Tableau D.1: Gestionnaires de Licence NetHASP et leurs paramètres .........................D-1Tableau D.2: Explication des paramètres du Gestionnaire de Licence NetHASP ........D-3Tableau E.1: Ordre de recherche du fichier nhsrv.ini .....................................................E-3Tableau G.1 Clés de la gamme HASP36 ..........................................................................G-2Tableau G.3: Programmes HaspEdit pour HASP36........................................................G-4Tableau G.4: Clés HASP36 et les services API correspondants .....................................G-4Tableau G.5: Définition du LptNum avec HASP36.........................................................G-5Tableau G.7: Gestionnaires de Licence NetHASP pour NetHASP36.............................G-7Tableau H.1: Mots de Passe des clés de démonstration HASP à mémoire ................... H-1Tableau H.2: Mots de Passe des clés de démonstration HASP-3................................... H-2

Page 15: Manuel Hasp

xiii

Guide HASP - SynopsisClé HASP Information Générale Protection de votre Application

HASP-3 Chapitre 2: Concepts HASP de BaseChapitre 4: Logiciel HASPChapitre 14: Le Gestionnaire de Périphérique

HASP

Chapitre 5: Protection par EnveloppeChapitre 6: Protection par APIChapitre 7: Services de l'API HASP

MemoHASP Chapitre 2: Concepts HASP de BaseChapitre 4: Logiciel HASPChapitre 14: Le Gestionnaire de Périphérique

HASP

Chapitre 5: Protection par EnveloppeChapitre 6: Protection par APIChapitre 7: Services de l'API HASPChapitre 8: Services de l'API MemoHASP

TimeHASP Chapitre 2: Concepts HASP de BaseChapitre 4: Logiciel HASPChapitre 14: Le Gestionnaire de Périphérique

HASP

Chapitre 5: Protection par EnveloppeChapitre 6: Protection par APIChapitre 7: Services de l'API HASPChapitre 9: Services de l'API TimeHASP

TimeHASP-4 Chapitre 2: Concepts HASP de BaseChapitre 4: Logiciel HASPChapitre 14: Le Gestionnaire de Périphérique

HASP

Chapitre 5: Protection par EnveloppeChapitre 6: Protection par APIChapitre 7: Services de l'API HASPChapitre 8: Services de l'API MemoHASPChapitre 9: Services de l'API TimeHASP

NetHASP Chapitre 2: Concepts HASP de BaseChapitre 3: Concepts NetHASP de BaseChapitre 4: Logiciel HASPChapitre 14: Le Gestionnaire de Périphérique

HASP

Chapitre 5: Protection par EnveloppeChapitre 6: Protection par APIChapitre 10: Services de l'API NetHASP

HASP36 Chapitre 2: Concepts HASP de BaseChapitre 4: Logiciel HASPChapitre 14: Le Gestionnaire de Périphérique

HASPAnnexe G: HASP36 et NetHASP36

Chapitre 5: Protection par EnveloppeChapitre 6: Protection par APIChapitre 7: Services de l'API HASP

NetHASP36 Chapitre 2: Concepts HASP de BaseChapitre 3: Concepts NetHASP de BaseChapitre 4: Logiciel HASPChapitre 14: Le Gestionnaire de Périphérique

HASPAnnexe G: HASP36 and NetHASP36

Chapitre 5: Protection par EnveloppeChapitre 6: Protection par APIChapitre 10: Services de l'API NetHASP

Pour protéger votre exécutable immédiatement, reportez-vous au Chapitre 5et utilisez l'Enveloppe HASP.

Page 16: Manuel Hasp
Page 17: Manuel Hasp

1-1

Chapitre 1 - Introduction

Le Système HASPHASP est un système matériel à la pointe du progrès qui protège leslogiciels contre le piratage en interdisant l'accès et l'exécution nonautorisés du programme protégé.

Chaque clé HASP est basée sur un composant ASIC (ApplicationSpecific Integrated Circuit - Circuit Intégré Spécifique) contenant unalgorithme électronique interne unique. Durant son exécution, leprogramme protégé envoie des requêtes à la clé HASP connectée àl'ordinateur. Si le réponse de la clé HASP est correcte, et sil'algorithme HASP est identifié, l'application peut s'exécuter. Dans lecas contraire, vous pouvez choisir de ne pas lancer l'application, debasculer en mode de démonstration, ou encore de limiter certainesfonctions.

L'utilisation de HASP est facile, bien que le niveau de sécurité obtenusoit très élevé.

Pour protéger votre application , vous n'avez qu'à :

♦ Insérer des appels au système HASP dans votre code source (enutilisant l'API fournie), et compiler votre application.

♦ Facultativement, utiliser l'Enveloppe HASP pour crypter votreapplication et la protéger par une enveloppe de protection. Celaévite les accès non autorisés ou le piratage de votre application.Le principal intérêt de l'Enveloppe HASP est sa mise en placeextrêmement rapide pour protéger votre application.

Chaque méthode offre un très haut niveau de protection. L'utilisationconjointe des deux méthodes vous assure la plus haute protectionpossible pour votre application.

Page 18: Manuel Hasp

1-2 Introduction

Une fois protégée, seuls les utilisateurs légitimes seront capables delancer votre application avec la clé HASP associée.

Figure 1.1: Mécanisme simplifié de la protection HASP

Avantages du Système HASP

Souplesse d'Utilisation pour le Développeur♦ La Plus Large Gamme de Solutions et de Fonctionnalités

Le système HASP offre la plus large gamme de produits, solutionset fonctionnalités du marché de la protection de logiciels, avec desclés avec ou sans mémoire, pour réseau, à horloge, pour demultiples plates-formes matérielles.

Page 19: Manuel Hasp

Avantages du Système HASP 1-3

♦ Facilité d'Utilisation Maximale

Un apprentissage facile et une interface de programmation (API)commune pour tous les produits assurent une mise en place aiséeet rapide du logiciel HASP dans votre application.

♦ Support de Centaines de Compilateurs

Peu importe le compilateur ou le langage de programmation quevous utilisez, le système HASP contient sûrement l'interfacerequise. De plus, le logiciel HASP et ses mises à jour sontdisponibles gratuitement.

♦ Le Gamme HASP supporte une Large Palette de Logicielset Matériels

La gamme HASP vous offre des solutions pour les ordinateurssuivants :

Tableau 1.1: Les solutions HASP

Ordinateur Produit HASP

IBM PC et compatibles HASP

NEC Japonais et compatibles HASP36

Apple Macintosh MacHASP

UNIX et stations de travail Open System OpenHASP

Le support des logiciels pour les ordinateurs IBM PC etcompatibles est fourni pour tous les principaux langages etcompilateurs du marché, vous permettant ainsi de livrer votreapplication protégée par HASP sur toutes les principales plates-formes : Windows 3.x, Windows 95, Windows NT, DOS, DOSextenders, OS/2, UNIX, réseaux (LAN et WAN), AutoCAD, et bienplus encore.

Page 20: Manuel Hasp

1-4 Introduction

Pas de Contrainte pour vos Clients♦ Faible Encombrement – Seulement 39mm (1.5”)

HASP est la plus petite clé du monde, vous assurant un maximumde fonctionnalités avec un minimum de désagrément une foisconnectée sur l'ordinateur de votre client.

♦ Transparence pour l’Ordinateur

Conçue pour un maximum de compatibilité, les clés HASP sonttransparentes pour toutes les opérations entre l'ordinateur et lespériphériques connectés. Toutes les clés HASP peuvent êtreenchaînées à d'autres clés HASP ou concurrentes.

♦ Aucun Ralentissement des Applications

La communication entre l'application et la clé HASP esttransparente pour l'utilisateur, et n'affecte pas la vitesse defonctionnement de votre application.

♦ Possibilité d'Effectuer des Copies de Sauvegarde

Vos clients peuvent créer des copies de sauvegarde de votreapplication. Ils ne sont pas limités à l'exécution de votreapplication sur un ordinateur donné.

Une Fiabilité Garantie♦ Une production Automatisée SMT et Contrôle Qualité à

100%

Le processus de fabrication SMT (Surface Mount Technology -Technologie de Montage en Surface) automatisé d'Aladdin, avec uncontrôle qualité à 100% vous assure de recevoir le produit le plusfiable possible (moins de 0.1% de retour).

♦ Consommation Electrique Minimale

Conçue pour une consommation minimale de courant et d'énergie,les clés HASP fonctionnent même dans les conditions les plusadverses.

Page 21: Manuel Hasp

Les Points Forts de la Sécurité HASP 1-5

Support et Service à l'Echelle Mondiale♦ Plusieurs Sites de Productions

Des sites de production répartis sur trois continents vous assurentde manière ponctuelle des livraisons rapides, avec supporttechnique si nécessaire.

♦ Service et Support Local dans plus de 50 Pays

Fort de ses six filiales et de son réseau de 50 distributeurs répartisdans le monde entier, les services commerciaux et techniqueslocaux sont disponibles gratuitement sur demande à tout moment.

Les Points Forts de la Sécurité HASPLe système HASP offre l'état de l'art en matière de sécurité , dont :

♦ Composant ASIC Totalement Personnalisé

Toutes les clés HASP sont basée sur un composant ASIC(Application Specific Integrated Circuit - Circuit IntégréSpécifique) propriétaire totalement personnalisé. Le composantASIC HASP composé de 2500 portes, 1.5 micron, conçu par lesingénieurs d'Aladdin empêche tout "reverse engineering" et faitque les clés HASP sont virtuellement impossible à pirater.

♦ Algorithmes Complexes de Protection et d’Anti-Debogage

Le logiciel HASP utilise les plus puissants algorithmes deprotection propriétaire, ainsi que la technologie la plus évoluéed'anti-débogage du marché. Des fonctionnalités spéciales anti-piratage inclues dans le logiciel HASP créent des obstaclesquasiment infranchissables pour les pirates potentiels.

♦ Communication Codée

Le système HASP comprend un codage de toutes lescommunications entre l'application et la clé HASP, protégeant celien vital entre l'application et sa clé HASP. Cela évite tout risque

Page 22: Manuel Hasp

1-6 Introduction

d'émulation de la clé, une des méthodes les plus utilisées enpiratage.

Avantages du Système HASP pour vos ClientsLa protection HASP est un avantage aussi bien pour vous que pourvos clients. Voici quelques raisons qui montrent pourquoi la protectionde logiciel est bonne pour vos clients:

♦ Logiciel à un Meilleur Prix

La protection HASP augmente vos ventes et revenus, générantune hausse de votre budget d'investissement dans ledéveloppement et l'amélioration de votre logiciel, et augmentevotre compétitivité future. Cela signifie également un logiciel àprix plus bas, plus évolué, développé plus rapidement et unsupport technique de qualité pour les utilisateurs payants.

♦ Protection des Termes de la Licence

La protection de logiciel vous permet de garantir le respect desTermes de la Licence. Le système HASP est le dispositif le moinsgênant, le moins contraignant pour assurer le respect de laLicence. Il permet au client de ne pas avoir à faire la police auprèsde ses employés ou de ne pas craindre une violation des Termes dela Licence.

♦ Protection de l'Investissement des Utilisateurs Légitimes

Le système HASP protège les utilisateurs légitimes de lacompétitivité déloyale des utilisateurs malhonnêtes qui n'ont paspayé leur logiciel et qui encombrent le service technique.

♦ Protection Contre les Intrus

HASP assure l'intégrité de l'application en évitant qu'elle ne soitmodifiée par des intrus.

♦ Protection Supplémentaires

Page 23: Manuel Hasp

La Gamme HASP 1-7

Les utilisateurs bénéficient d'avantages supplémentaires grâce ausystème HASP, comme la protection de leurs données et ladétection d'infections virales.

La Gamme HASPCe manuel décrit les clés HASP pour les ordinateurs IBM PC et lesNEC japonais. Avec dix clés de protection dans la gamme HASP pourPC , HASP fournit la plus large gamme de protection de logiciel dumarché.

♦ HASP-3

HASP-3 offre le meilleur rapport qualité/prix de la gamme HASP.Utilisant le même composant ASIC et les mêmes fonctionnalitésque nos produits les plus évolués, HASP-3 offre une solution deprotection à faible coût, bien qu'extrêmement sûre et fiable.

♦ MemoHASP

Les clés MemoHASP-1 et MemoHASP-4 associent l'état de l'art ende la protection, à une mémoire interne accessible en lecture /écriture dont vous pouvez modifier le contenu durant l'exécutionde l'application. La clé MemoHASP-1 possède 112 octets demémoire en lecture / écriture, tandis que la clé MemoHASP-4 encontient 496.

♦ NetHASP

NetHASP est l'ultime solution de protection des logiciels pour PCen environnement réseau. Une seule clé NetHASP connectée àn'importe quelle station de travail du réseau permet de protégervotre application et de limiter le nombre de stations utilisantsimultanément votre application. La clé NetHASP possède toutesles fonctionnalités de protection d'une clé MemoHASP-4, ainsi que496 octets de mémoire en lecture / écriture.

♦ TimeHASP

Page 24: Manuel Hasp

1-8 Introduction

Les clés TimeHASP et TimeHASP-4 sont des clés HASP contenantune horloge temps-réel interne. La TimeHASP estparticulièrement conçue pour des versions limitées dans le tempsde votre application, comme des versions de démonstration ou desversions de location.

La clé TimeHASP comprend une mémoire de 16 octets en lecture /écriture. La clé TimeHASP-4 contient 496 octets de mémoire enlecture / écriture, en plus des 16 octets de mémoire.

♦ HASP36

La clé HASP36 possède toutes les fonctionnalités d'un clé HASP-3avec un connecteur 36 broches (Centronics), conçue pour protégerles applications tournant sur les PC japonais NEC.

♦ MemoHASP36

Les clés MemoHASP36-1 et MemoHASP36-4 sont les versions avecconnecteurs 36 broches des clés MemoHASP-1 et MemoHASP-4.

♦ NetHASP36

La clé NetHASP36 est la version à connecteur 36 broches de la cléNetHASP.

♦ HASPCard

HASPCard est une clé HASP totalement intégrée dans une cartePC standard. HASPCard, disponible en versions HASP-3,MemoHASP et NetHASP, vous permet de connecter la clé deprotection à l'intérieur d'un PC.

♦ PC-CardHASP

PC-CardHASP est une carte évoluée de protection qui se connecteau port PC-Card (PCMCIA) de la plupart des PC portables.Contenant 496 octets de mémoire interne en lecture / écriture et lecomposant ASIC HASP, la PC-CardHASP est totalementcompatible avec le reste de la gamme HASP.

D'autres clés sont disponibles pour les ordinateurs Apple Macintoshet Power Macintosh, et les stations de travail en système ouvert.

Page 25: Manuel Hasp

La Gamme HASP 1-9

Page 26: Manuel Hasp

1-10 Introduction

Page 27: Manuel Hasp

Conventions Typographiques 1-11

Conventions Typographiques

Tableau 1.2: Conventions typographiques utilisées dans ce manuel

Convention Signification

Gras Noms d'options, de boutons, icônes, menus, options demenu et champs. Indique également l'application àexécuter. Par exemple, “Choisissez l'option EditMemory du menu Memory”.

Italique Des termes qui apparaissent pour la première fois dansle manuel. Indique également un nom de fichier ou derépertoire. Par exemple, “Vous pouvez trouver le fichierhasput16.dll dans le répertoire drivers des logicielsHASP.”

<Touche> Touches à utiliser sur le clavier. Par exemple, “Appuyezsur la touche <F3> pour protéger votre application.”

PETITES CAPITALES Mots clés du fichier de configuration de la clé NetHASP.Par exemple, “Dans la section [NH_COMMON], définissezNH_IPX=Enabled.”

NoteNetHASP :

Information relative uniquement à la clé NetHASP. Lesnotes NetHASP n'apparaissent que des les chapitres etsections ne traitant pas spécifiquement des clésNetHASP. Si vous utilisez une protection basée sur uneclé NetHASP, prenez note de cette information. Si vousn'utilisez pas de clé NetHASP, vous pouvez passer cetteinformation

CInformation supplémentaire qui peut vous aider àréaliser une tâche plus efficacement.

Page 28: Manuel Hasp

1-12 Introduction

Protection de Logiciel – Référence RapideLe tableau suivant explique les différentes étapes à suivre pourprotéger votre application avec une clé HASP. Pour chacune de cesétapes, vous trouverez une référence à une section du manueldécrivant l'étape en question.

Tableau 1.3: Etapes de protection d’un logiciel

Etapes Commentaires Référence

1. Installation duGestionnaire dePériphérique HASP

Active l'accès au port parallèle. A n'utiliserqu'en environnement Windows 32 bits.

Chapitre 14: Gestionnaire dePériphérique HASP

2. Utilisation du programmeHaspEdit

Vous permet de personnaliser votre protection. Chapitre 13: Le Programme HaspEdit,“Vérification des Codes de Retour ”

3. Utilisation de l'API Vous permet d'incorporer des appels à la cléHASP dans votre application.

Chapitre 6: Protection avec l'API

4. Utilisation de l'EnveloppeHASP

Vous permet de chiffrer votre fichier exécutableet d'augmenter le niveau de sécurité.

Chapitre 5: Protection avec l'Enveloppe

5. Utilisation du programmeHaspEdit

Vous permet d'éditer la mémoire de chaque cléHASP.

Chapitre 13: Le Programme HaspEdit

Page 29: Manuel Hasp

2-1

Chapitre 2 - Concepts HASP de BasePour utiliser efficacement la protection HASP, nous vousrecommandons de vous familiariser avec les concepts et les termesdécrits dans ce chapitre..

NoteNetHASP

Si vous utilisez une protection basée sur NetHASP, veuillezvous reporter également au chapitre 3 pour vous familiariseravec les termes et concepts spécifiques de NetHASP.

Termes HASP

Clés HASP à MémoireLes clés HASP à mémoire sont des clés HASP avec une mémoireaccessible en lecture / écriture. Cela inclut toutes les clés HASP saufles HASP-3 et HASP36.

Clés HASP MonopostesLes clés HASP monopostes sont les clés HASP conçues pour desordinateurs isolés. Cela inclut toutes les clés HASP sauf les NetHASPet NetHASP36.

Code DéveloppeurLe Code Développeur est un code unique assigné par Aladdin à chaquedéveloppeur de logiciel. Le Code Développeur est claqué dans lecomposant ASIC de la clé HASP lors de sa fabrication empêchant toutreverse engineering, et assurant ainsi une protection totale.

Page 30: Manuel Hasp

2-2 Concepts HASP de Base

Utilisez ce Code Développeur pour commander des clés HASPsupplémentaires. Le Code Développeur est représenté par une sériede cinq à sept lettres imprimées sur l'étiquette de chaque clé HASP.

Clé HASP de DémonstrationDans chaque Kit de Développeur HASP, Aladdin fournit une clé HASPde démonstration. Chaque clé de démonstration est clé HASPcomplète, mais avec un Code Développeur identique. Vous ne pouvezpas utiliser la clé HASP de démonstration pour protéger votre logiciel,car le Code Développeur et les Mots de Passe associés à la clé HASPde démonstration sont accessibles à tous. Les clés HASP dedémonstration ne doivent être utilisées que pour évaluer le systèmede protection HASP.

Mots de Passe HASPLes Mots de Passe HASP sont composés de deux entiers assignés àchaque développeur de logiciel. Les mots de passe sont associés demanière unique avec un Code Développeur. Vous utilisez les Mots dePasse HASP pour accéder à la clé HASP, protéger vos applications etutiliser les outils HASP.

Seed Code (Germe) et Code de RetourUn Seed Code (ou Germe) est un entier que votre application envoie àla clé HASP. Un Code de Retour est un entier que la clé HASP renvoieà l'application protégée. La clé HASP retourne quatre Codes deRetour pour chaque Seed Code envoyé par l'application protégée. LesCodes de Retour sont générés en fonction du Code Développeur de laclé HASP et du Seed Code.

En envoyant des Seed Codes et en vérifiant que les Codes de Retoursont ceux attendus, vous pouvez vérifier que la clé HASP est présente.

Page 31: Manuel Hasp

Termes HASP 2-3

Figure 2.1: Codes Graine et Codes de Retour

Numéro d'Identification HASP (HASP ID Number)Chaque clé HASP à mémoire possède un Numéro d'Identificationunique. Une application protégée peut rechercher et vérifier ceNuméro d'Identification.

Les clés HASP possédant un Numéro d'Identification vous permettentde distinguer les utilisateurs dans votre application. En recherchantle Numéro d'Identification HASP dans votre application, vous pouvezdéterminer les actions à mener en fonction de la clé présente.

Page 32: Manuel Hasp

2-4 Concepts HASP de Base

Note: Vous ne pouvez pas commander des clés HASP avec desNuméros d'Identification donnés. Ils sont assignés demanière pseudo-aléatoire durant la fabrication des clés, vousassurant ainsi de leur unicité.

Mémoire HASPLe Tableau 2.1 montre la quantité de mémoire disponible pour lesdifférentes clés HASP.

Tableau 2.1: Mémoire HASP en lecture / écriture

Type de clé HASP Mémoireen Lecture / Ecriture

HASP-3, HASP36 aucune

MemoHASP-1, MemoHASP36-1 112 octets

MemoHASP-4, MemoHASP36-4 496 octets

TimeHASP 16 octets

TimeHASP-4 512 octets

NetHASP, NetHASP36 496 octets

Vous pouvez utiliser la mémoire HASP, par exemple, pour :

♦ Contrôler l'accès à différents modules d'un logiciel ou différentessuites logicielles.

♦ Assigner un code unique à chaque utilisateur du logiciel.

♦ Louer un logiciel ou distribuer des versions de démonstration quine pourront être utilisées qu'un certain nombre de fois.

Page 33: Manuel Hasp

Méthodes de Protection HASP 2-5

♦ Sauver des mots de passe, une partie du code du programme, desvariables du programme, ou d’autres informations sensibles.

Méthodes de Protection HASPHASP offre deux différentes méthodes de protection.

♦ L'Enveloppe HASP

♦ L'Interface de Programmation d'Application HASP (API)

Enveloppe HASPLe modèle de protection de base est la protection par l'EnveloppeHASP. Cette méthode ajoute un bouclier protecteur autour desfichiers exécutables. Une fois protégée par l'Enveloppe, l'applicationne pourra plus fonctionner sans la clé HASP associée.

La protection par Enveloppe est rapide et facile à mettre en place.Dans le même temps, cela fournit une protection de haut niveau enrendant l'application virtuellement impossible à déboguer oudésassembler.

Note: La protection par Enveloppe ne requiert pas l'accès au codesource de l'application.

Interface de Programmation d’Application HASP (API)Si vous possédez le code source de l'application à protégée, vouspouvez lier l'API HASP - un fichier objet ou une DLL - à votreapplication. Comme l'API est à la fois protégée et encodée, cetteméthode offre également un haut niveau de sécurité.

L'API vous permet d'insérer des appels à la clé HASP tout au long devotre application. Avec cette API, vous pouvez tester la présence de laclé HASP lorsque vous le désirez, et prendre les mesures qui

Page 34: Manuel Hasp

2-6 Concepts HASP de Base

s'imposent si la bonne clé HASP n'est pas connectée. De plus, vouspouvez accéder aux données sensibles que vous avez pu stocker dansla mémoire d'une clé HASP à mémoire.

Quelle Méthode Utiliser ?Vous pouvez utiliser l'une ou l'autre méthode, ou bien combiner lesdeux.

Si vous n'utilisez que l'Enveloppe, vous n'avez pas besoin d'accéder aucode source de l'application, et de ce fait, vous n'avez pas à recompilerl'application.

Si vous possédez le code source de l'application à protéger, vouspouvez lier l'API HASP à votre application, et tester la présence de laclé HASP lorsque vous le désirez, et prendre les mesures quis'imposent si la bonne clé HASP n'est pas connectée.

Les deux méthodes Enveloppe et API sont des méthodes de protectiontrès puissantes. L'utilisation d'une seule de ces deux méthodes vousassure un haut niveau de sécurité. Cependant, nous vousrecommandons de combiner, si possible, l'Enveloppe et l'API. Chaqueméthode possède des fonctionnalités uniques qui se complètent etaméliorent la protection de votre application.

Pour une protection optimale, utilisez l’Enveloppe et l’API :Incorporez l'API HASP dans le code source de votre application,compiler, lier les fichiers objets HASP ou les DLL à votre application,et enfin, utilisez la protection par Enveloppe HASP sur votre fichierexécutable.

Questions Fréquemment Posées (FAQ)Question: Puis-je changer mes Mots de Passe HASP ?

Réponse: Non. Afin de garantir un niveau de protection optimal et pouréviter tout reverse engineering de la clé, les Mots de Passe HASPsont claqués de façon indélébile dans le composant ASIC de la clé

Page 35: Manuel Hasp

Questions Fréquemment Posées (FAQ) 2-7

durant la phase de production. Personne ne peut ainsi accéder à laclé HASP pour lire et modifier ces mots de passe.

Certain produits de protection de logiciel vous permettent dedéfinir vous-même ces mots de passe. Cette fonctionnalité réduitle niveau général de sécurité du système de protection, les mots depasse pouvant être lus et modifiés par un pirate.

Question: Puis-je donner à chaque client une clé HASP avec un codeou un mot de passe unique ?

Réponse: Oui. Pour cela, nous vous recommandons d'utiliser des clésMemoHASP qui contiennent un Numéro d'Identification uniquepour chaque clé. De plus, vous pouvez programmerindividuellement la mémoire de la clé MemoHASP pour chacun devos clients.

Question: Une clé HASP monoposte peut-elle être utilisée enenvironnement réseau ?

Réponse: Oui. Il existe deux possibilités d'utiliser le système HASP enréseau. La première consiste à connecter une clé HASP surchacune des stations du réseau devant exécuter l'applicationprotégée. La seconde - et la plus efficace - est de protéger votreapplication avec une clé NetHASP, un système de protectionsophistiqué spécialement conçu pour les environnements réseau.

Le système NetHASP permet l'activation d'une applicationprotégée sur plusieurs stations en n'utilisant qu'une seule cléHASP. Pour plus d'informations sur le système NetHASP,reportez-vous au chapitre 3.

Question: Peut-on connecter plusieurs clés HASP ensemble ?

Réponse: Oui, plusieurs clés HASP peuvent être chaînées sans connectiquespéciale.

Page 36: Manuel Hasp

2-8 Concepts HASP de Base

Question: Et, quand est-il des clés fabriquées par d'autres sociétés ?

Réponse: Les clés HASP sont totalement transparentes. Vous pouvez lesenchaîner avant ou après d'autres clés, à condition bien sûr queces dernières soient également transparentes.

Question: Est-il possible de protéger des applications ou des fichiersde données écrits avec des outils de programmation telsque Lotus et AutoLISP ?

Réponse: Oui. Nous avons développé un système spécial, appelé DataHASP,pour protéger les fichiers de données. Facile à mettre en oeuvre,DataHASP protège les fichiers en brouillant leur contenu et n'enpermettant l'accès qu'aux applications autorisées. DataHASPfonctionne sous DOS avec toutes les clés HASP.

Question: Comment puis-je mettre à jour le contenu de la mémoireHASP après avoir livré une application protégée à monclient ?

Réponse: Le système RUS (Remote Update System) permet de mettre à jourle contenu des mémoires HASP lorsque la clé est en possession devotre client. Vous mettez à jour la mémoire de la clé en envoyantdes mots de passe par téléphone, fax, e-mail, ou modem. Celapermet l'activation de fonctionnalités supplémentaires ou l'accès àdes modules supplémentaires.

Page 37: Manuel Hasp

3-1

Chapitre 3 - Concepts NetHASP de BaseCe chapitre présente les termes et concepts importants relatifs ausystème NetHASP. Avant de débuter ce chapitre, lisez le chapitre 2pour vous familiariser avec les termes et concepts généraux HASP.

Qu'est-ce qu'une clé NetHASP?Une clé NetHASP est une clé HASP conçue pour l'utilisation enréseau. Le système NetHASP vous permet de licencier votreapplication en environnement réseau, en contrôlant le nombred'exemplaires d'une application s'exécutant au même moment. En neconnectant qu'une seule clé NetHASP sur un ordinateur du réseau,vous pouvez sécuriser votre application et surveiller le nombre destations utilisant simultanément votre logiciel.

Page 38: Manuel Hasp

3-2 Concepts NetHASP de Base

Figure 3.1: Le système NetHASP

Termes NetHASP

Gestionnaire de Licence NetHASPLe Gestionnaire de Licence NetHASP est une applicationcommuniquant avec l'application protégée et la clé NetHASP. Ilfonctionne ainsi comme un lien entre les deux. Pour permettre ausystème NetHASP de gérer le réseau, choisissez une station duréseau, connectez-y une clé NetHASP, et chargez le Gestionnaire deLicence NetHASP.

Les Gestionnaires de Licence NetHASP sont disponibles pour lesenvironnements suivants : serveurs Novell dédiés, DOS, Windows,Windows 95, Windows NT et OS/2.

Le Gestionnaire de Licence NetHASP est indépendant de la cléNetHASP et de l'application protégée. Quelque soit l'environnementdans lequel fonctionne l'application protégée (DOS, Windows, Win32,et OS/2), vous pouvez utiliser n'importe lequel des Gestionnaires deLicence NetHASP pour communiquer avec l'application et la cléNetHASP.

Le Gestionnaire de Licence NetHASP peut communiquer avec unmaximum de 250 applications protégées fonctionnant sur le réseau etavec plusieurs clés NetHASP.

LOGIN et LOGOUT NetHASPLorsque vous exécutez une application protégée, elle effectue unLOGIN NetHASP pour accéder au Gestionnaire de Licence NetHASPavec une demande d'exécution. L'application protégée informe leGestionnaire de Licence NetHASP qu'elle a terminé son exécution eneffectuant LOGOUT NetHASP.

Page 39: Manuel Hasp

Termes NetHASP 3-3

Note: Ne confondez pas les LOGIN et LOGOUT NetHASP avec leslogin et logout standards du réseau.

Table de Connexion NetHASPLe Gestionnaire de Licence NetHASP tient à jour une Table deConnexion qui contient la liste de toutes les applications ayanteffectué un LOGIN NetHASP. La liste identifie chaque applicationprotégée ainsi que la station sur laquelle elle fonctionne. Uneapplication et sa station restent dans la Table de Connexion jusqu'àenvoi d'un LOGOUT NetHASP.

Le Gestionnaire de Licence NetHASP utilise cette Table de Connexionpour compter le nombre de stations exécutant une applicationprotégée à un moment donné. Le Gestionnaire de Licence NetHASPs'assure que le nombre de stations n'excède pas le nombre maximumde licences défini par l'auteur du logiciel.

Note: La Table de Connexion NetHASP est un mécanisme interne.Elle n'est présentée que dans cette section pour vous aider àcomprendre le fonctionnement du système NetHASP.

Modèles NetHASPIl existe différents modèles de clés NetHASP. Chaque clé peutprotéger jusqu'à 112 applications. Le numéro associé à une cléNetHASP détermine le nombre maximal de licences disponible pourchaque application. Par exemple, une clé NetHASP-5 peut protégerjusqu'à 112 applications, chacune d'entre elles pouvant disposer dezéro à cinq licences. Les autres modèles disponibles peuvent fournirjusqu'à 10, 20, 50 ou 100 licences. Avec la clé NetHASP-U votreapplication peut bénéficier d'un nombre illimité de licences.

Page 40: Manuel Hasp

3-4 Concepts NetHASP de Base

Le Système NetHASPLorsqu'une application protégée est exécutée sur le réseau, elle accèdeau gestionnaire de Licence NetHASP et demande la permission des'exécuter en effectuant LOGIN NetHASP. Le Gestionnaire deLicence NetHASP vérifie alors que :

♦ La bonne clé NetHASP est connectée.

♦ L'application protégée est autorisée à se lancer.

♦ Le nombre de stations exécutant actuellement l'applicationprotégée n'excède pas le nombre maximal de licences.

Si l'un des tests ci-dessus n'est pas vérifié, le Gestionnaire de LicenceNetHASP retourne un code d'erreur.

Si tous les tests sont positifs, le Gestionnaire de Licence NetHASPdonne la permission à l'application protégée de s'exécuter et met àjour la Table de Connexion NetHASP.

Le schéma ci-dessous illustre le fonctionnement de la protectionNetHASP. Le réseau présenté est composé de quatre stations. Une cléNetHASP est connectée sur l'une d'elles et le Gestionnaire de LicenceNetHASP est actif.

L'application protégée n°1 est autorisée à s'exécuter sur cinq stations.Les schémas illustrent les étapes pour l'exécution de l'applicationprotégée n°1 sur la station 3.

Page 41: Manuel Hasp

Le Système NetHASP 3-5

Avant un LOGIN NetHASP...

Les stations 1 et 2 exécutent l'application protégée n°1, et sont listées dans la Table de Connexion(Log Table). Sur les cinq stations autorisées à exécuter l'application protégée, deux sont déjà dansla Table de connexion.

Un LOGIN NetHASP est effectué...

Page 42: Manuel Hasp

3-6 Concepts NetHASP de Base

La station 3 charge l'application protégée n°1, cette dernière accède au Gestionnaire de LicenceNetHASP avec un LOGIN NetHASP. A ce moment, le Gestionnaire de Licence NetHASP vérifie sila station 3 est autorisée à exécuter cette application.

Après un LOGIN NetHASP...

Les tests effectués par le Gestionnaire de Licence NetHASP étant positifs, l'application protégéen°1 est autorisée à s'exécuter sur la station 3. La Table de Connexion est mise à jour et comprendmaintenant la station 3.

Questions Fréquemment Posées (FAQ)

Question: Puis-je voir quelles stations ont accès à la clé NetHASP ?

Réponse : Oui. L'outil Monitor affiche toutes les stations exécutant uneapplication ayant effectué un LOGIN NetHASP au Gestionnairede Licence NetHASP. Voir chapitre 17 pour plus de détails.

Question: Si je connecte deux clés NetHASP-5 du même CodeDéveloppeur sur le même ordinateur, aurais-je 10 licences?

Réponse : Non. Lorsque deux clés NetHASP du même Code Développeursont chaînées ou connectées sur deux ports parallèles d'un mêmeordinateur, une seule clé NetHASP répond. Pour avoir dix licencesavec deux clés NetHASP-5, vous devez les connecter sur deuxordinateurs différents et exécuter un Gestionnaire de Licence

Page 43: Manuel Hasp

Questions Fréquemment Posées (FAQ) 3-7

NetHASP sur chacun d'eux. Vous pouvez aussi utiliser un cléNetHASP-10.

Question: Le Gestionnaire de Licence NetHASP peut-il libérerautomatiquement les licences lorsque les stationsn'utilisent plus l'application protégée ?

Réponse : Oui. Si une station libre (une station qui n'a pas accédé àl'application depuis un certain temps) est indiquée commeutilisant un application protégée, utilisez le service IdleTime pourenlever cette station de la Table de Connexion et libérer ainsi unelicence (voir chapitre 10). La Table de Connexion garde la tracede toutes les stations ayant effectué un LOGIN NetHASP. Ceservice définit une période durant laquelle une station doitaccéder à la clé NetHASP. Si la station n'accède pas à la cléNetHASP durant cette période, elle est considérée commepotentiellement libre et supprimée de la Table de Connexion encas de demande connexion d'une nouvelle station.

Page 44: Manuel Hasp

3-8 Concepts NetHASP de Base

Page 45: Manuel Hasp

4-1

Chapitre 4 - Le Logiciel HASPLes utilitaires et API HASP compris dans le logiciel HASP,permettent de gérer toutes les clés HASP. Vous n'avez besoin qued'une seule Enveloppe et/ou API pour protéger votre logiciel avecdifférents types de clés HASP.

Les Utilitaires HASPLes utilitaires HASP comprennent les outils HASP d'Enveloppe, lelogiciel HaspEdit, les Gestionnaires de Licence NetHASP, le MoniteurNetHASP, et les utilitaires de test NetHASP.

Chaque répertoire utility comprend un fichier décrivant lefonctionnement de chaque utilitaire. Les utilitaires HASPfonctionnent sous DOS, Windows 16 bits, Windows 32 bits, et OS/2.

Page 46: Manuel Hasp

4-2 Le Logiciel HASP

L’API HASPL’API HASP est disponible selon le système d'exploitation. Il existeune API séparée pour DOS, Windows 16 bits, Windows 32 bits etOS/2.

L'API est ensuite subdivisée en fonction de l'environnement dedéveloppement, et le compilateur. Il existe un répertoire pour chaquecompilateur comprenant :

♦ Les fichiers Objet ou DLL que vous devez lier à votre application.

♦ Un exemple d'application montrant comment utiliser l'API avecles différentes clés HASP.

Les interfaces HASP sont disponibles pour plusieurs centaines decompilateurs. Chacune d'elles gérant l'ensemble des clés HASP.

Si vous ne trouvez pas une interface pour votre compilateur :

♦ Essayez une interface qui utilise le même type de fichiers objetque votre compilateur.

♦ Si vous programmez sous Windows 16 bits, Windows 32 bits ouOS/2, essayez les DLL que nous fournissons.

♦ Utilisez l'Enveloppe pour protéger votre fichier exécutable.

Les Gestionnaires de Périphériques HASPLe logiciel de Gestionnaire de Périphérique HASP comprend tous lesGestionnaires de Périphériques HASP et les outils d'installationassociés.

Page 47: Manuel Hasp

Installation du Logiciel HASP 4-3

Installation du Logiciel HASP

Pour installer le logiciel HASP à partir d'un Cédérom :

1. Insérez le Cédérom HASP dans votre lecteur de Cédérom. Danscertains environnements comme Windows 95 ou Windows NT,l'installation de HASP démarre automatiquement lors del'insertion du Cédérom dans le lecteur.

2. Si l'installation ne démarre pas automatiquement, lancer leprogramme install.exe à partir de Windows.

Suivez les instructions du programme d'installation pour installer lesutilitaires HASP, l'API HASP, le Gestionnaire de Périphérique HASP,ainsi que d'autres logiciels HASP sur votre disque dur.

Page 48: Manuel Hasp

4-4 Le Logiciel HASP

Page 49: Manuel Hasp

5-1

Chapitre 5 - Protection par EnveloppeL’Enveloppe HASP ajoute un bouclier protecteur autour des fichiersexécutables DOS, Windows et Win32, et des DLLs Win32. Laprotection par Enveloppe ne requiert pas l'accès au code source del'application.

Pour protéger votre application en combinant l'Enveloppe et l'APIHASP, protégez d'abord votre application avec l'API. Pour en savoirplus sur la protection avec API, reportez-vous au chapitre 6.

Figure 5.1: Protection par Enveloppe

Bien qu'extrêmement facile et rapide à mettre en place, la protectionpar Enveloppe assure un haut niveau de sécurité. Une foisl'Enveloppe mise en place, il est pratiquement impossible de déboguerou désassembler l'application protégée.

L'Enveloppe HASP peut être utilisée avec n'importe quelle clé HASP.

Le programme de protection par Enveloppe utilisé dépend du typed'application à protéger (voir Tableau 5.1).

Page 50: Manuel Hasp

5-2 Protection par Enveloppe

Tableau 5.1: Programmes de Protectionpar Enveloppe HASP

Type d’Application Enveloppe

DOS haspinst.exe

Windows whinst.exe

Win32 w32hinst.exe

Il est important de retenir deux points avant de débuter uneprotection par Enveloppe :

♦ Créez une copie de sauvegarde du fichier non protégé. Par défaut,le fichier original est détruit durant la phase protection etremplacé par le programme protégé.

♦ Assurez-vous qu'il reste assez de place sur le disque dur avant dedébuter la protection. L'application protégée par Enveloppe seraplus volumineuse que la version non protégée. La différence detaille dépend du type d'application que vous désirez protéger :

Page 51: Manuel Hasp

Protection d’une Application Win32 5-3

Tableau 5.2: Taille Supplémentaire après Protection

Type d’Application Supplémentde Taille

DOS 40 Ko

Windows 40 Ko

Win32 120Ko

Protection d’une Application Win32

Pour protéger une application avec l'Enveloppe Win32 :

1. Branchez la clé HASP avec laquelle vous désirez protéger votreapplication.

2. Installez le Gestionnaire de Périphérique HASP (voir chapitre 14).

3. Lancez le programme d'Enveloppe, soit en choisissant le raccourciEnvelope for Win32 Applications dans le dossier Haspcd, soiten exécutant le programme w32hinst.exe. L'écran du programmed'Enveloppe HASP apparaît.

Page 52: Manuel Hasp

5-4 Protection par Enveloppe

4. Vous disposez maintenant de trois options :

♦ Cliquez sur Start HASP Wizard. L’Assistant HASP vous guideratout au long du processus de protection.

♦ Cliquez sur New Envelope Configuration pour débuter uneprotection avec de nouveaux paramètres de protection.

♦ Cliquez sur Open Envelope Configuration pour débuter uneprotection avec des paramètres préalablement sauvegardés.

Ce chapitre décrit le processus de protection lorsque vouschoisissez les options New ou Open Envelope Configuration.

5. Entrez le chemin d'accès et le nom de l'application à protéger dansle champ Unprotected Filename de l'onglet principal.

6. Saisissez les mots de passe HASP associés à la clé utilisée dans leschamps correspondants.

7. Remplissez les champs selon les options que vous désirez utiliser(voir la section “Programme d'Enveloppe Win32” pour plus dedétails sur chaque champ).

8. Cliquez sur l'icône Protect ou choisissez l'option ProtectApplication du menu Activity pour protéger votre application.

Si vous désirez utiliser les paramètres NetHASP ou FAS avecl'Enveloppe, cliquez sur Yes pour sauvegarder les paramètres dansla mémoire de la clé connectée.

9. Choisissez l'option Exit du menu File pour quitter le programme.

A partir de cet instant, l'application protégée ne fonctionnera plussans la clé HASP qui lui est associée.

CVous pouvez appliquer l'enveloppe sur votre applicationplusieurs fois avec la même clé HASP. Chaque activationaugmentera le niveau de sécurité de votre application;cependant, il faudra un peu plus de temps pour que votreapplication se charge.

Page 53: Manuel Hasp

Programme d’Enveloppe Win32 5-5

Programme d’Enveloppe Win32Cette section décrit toutes les options des menus, les icônes et lechamps de saisie du programme d'Enveloppe Win32. S'il existe unevaleur par défaut pour un champ, elle est indiquée au début dechaque description. Si une option n'est accessible qu'en ouvrant unmenu particulier, le menu en question est alors indiqué.

La Barre de Menu

New

Lieu: menu File

Débute une nouvelle session de protection.

Open

Lieu: menu File

Ouvre un fichier contenant des paramètres de protectionpréalablement sauvegardés.

Save

Lieu: menu File

Sauvegarde les paramètres courants dans un fichier.

Save As

Lieu: menu File

Sauvegarde les paramètres courants dans un fichier différent.

Page 54: Manuel Hasp

5-6 Protection par Enveloppe

Exit

Lieu: menu File

Quitte le programme d’Enveloppe Win32.

HASP Wizard

Lieu: menu Activity

Active l'Assistant HASP qui vous guide pas à pas durant le processusde protection.

Protect Application

Lieu: menu Activity

Après avoir saisi tous les paramètres de protection, utilisez cetteoption Protect Application pour protéger votre application.

Install PCS

Lieu: menu Activity

Utilise la Sécurité par Motif Codé seule ou associée à l'Enveloppe pourajouter une protection supplémentaire à votre application. (Pour plusde détails sur la Sécurité par Motif Codé, reportez-vous au chapitre12.)

Program HASP

Lieu: menu Activity

Si vous utilisez une clé HASP à mémoire, utilisez l'option ProgramHASP pour sauvegarder les paramètres de protection dans lamémoire de la clé. Les paramètres suivants peuvent être sauvegardés:

♦ Avec MemoHASP : le numéro du programme et le nombre delancements.

Page 55: Manuel Hasp

Programme d’Enveloppe Win32 5-7

♦ Avec TimeHASP : le numéro du programme et la dated'expiration.

♦ Avec NetHASP : le numéro du programme, le nombre de licenceset le nombre de lancements.

Note: Si la clé connectée à l'ordinateur contient déjà desparamètres définis avec le programme HaspEdit, vous n'avezpas besoin d'utiliser l'option Program HASP.

Help

Cliquez sur Help pour obtenir des informations complémentaires surle programme d'Enveloppe Win32.

La Barre d’OutilsAfin d'accélérer le processus de protection, vous pouvez utiliser lesicônes de la barre d'outils. Elles apparaissent comme montré ci-dessous :

New

Débute une nouvelle session de protection.

Open

Ouvre un fichier contenant des paramètres de protectionpréalablement sauvegardés.

Save

Sauvegarde les paramètres courants dans un fichier.

Page 56: Manuel Hasp

5-8 Protection par Enveloppe

Wizard

L'icône l'Assistant HASP vous guide pas à pas durant le processus deprotection.

Protect

Après avoir saisi tous les paramètres de protection, l'icône ProtectApplication protège votre application.

Help

Fournit des informations complémentaires sur le programmed'Enveloppe Win32

Page 57: Manuel Hasp

Programme d’Enveloppe Win32 5-9

L’onglet MainL'onglet Main contient les paramètres que vous devez spécifier pourprotéger votre application. Si vous n'utilisez qu'une clé HASPmonoposte, remplissez tous les champs excepté NetHASPParameters. Si vous n'utilisez qu'une clé NetHASP, remplissez tousles champs excepté HASP Passwords. Si vous utilisez simultanémentune clé HASP monoposte et une clé NetHASP, remplissez tous leschamps. L'écran se présente sous la forme suivante :

Unprotected Filename (source)

Saisissez le chemin d'accès et le nom de l'application à protéger.

Cliquez sur Browse pour rechercher le fichier dans l'arborescence devos disques.

Page 58: Manuel Hasp

5-10 Protection par Enveloppe

Protected Filename (destination)

Valeur par défaut: Le nom saisi dans le champ “Unprotected Filename”

Par défaut, le programme d'Enveloppe HASP remplace le fichieroriginal par sa version protégée. Pour éviter d'écraser votre fichieroriginal, vous pouvez spécifier un nom différent pour l'applicationprotégée. Saisissez alors ce nom dans le champ Protected Filename.

HASP Passwords

Saisissez les Mots de Passe HASP de toutes les clés HASPmonopostes avec lesquelles vous désirez protéger l'application.Généralement, une seule clé HASP est utilisée, mais il est possibled'utiliser trois clés HASP monopostes différentes.

Executable Type

Valeur par défaut: Win 32

Ce champ permet de préciser le type de fichier EXE/DLL à protéger.Actuellement, l'Enveloppe Win32 ne supporte que les exécutablesWin32 ou les DLLs.

Target Computer

Valeur par défaut: IBM PC and Compatibles

Ce champ vous permet de préciser sur quel type d'ordinateur vatourner l'application protégée. La valeur par défaut de ce champ estIBM. Si l'ordinateur sur lequel va s'exécuter le programme est unNEC, modifiez la valeur du champ en conséquence.

NetHASP Passwords

Lorsque vous protégez une application avec une clé NetHASP,saisissez les Mots de Passe associés à la clé NetHASP.

Page 59: Manuel Hasp

Programme d’Enveloppe Win32 5-11

Program Number

Valeur par défaut: 1

Chaque application protégée par NetHASP reçoit un numérod'application de 1 à 112. Vous pouvez attribuer ce numéro en utilisantsoit le programme HaspEdit, soit le programme d'Enveloppe.

Vous pouvez saisir le numéro du programme de deux manières :

♦ Entrez le numéro de programme de l'application assigné à l'aidedu programme HaspEdit (et sauvegardé dans la mémoire de la cléHASP).

♦ Déterminez maintenant un numéro de programme pour votreapplication en saisissant un nombre dans ce champ. Poursauvegarder le numéro de programme dans la mémoire de la cléHASP, cliquez sur Yes lorsqu'on vous le demandera (après laprotection).

Lorsque vous assignez un numéro de programme à l'aide del'Enveloppe, vous pouvez toujours utiliser le programme HaspEditpour modifier plus tard les paramètres de protection d'autres clés.(Pour plus de détails sur le Numéro de Programme, reportez-vous auchapitre 13)

Number of Licenses

Lorsque vous protégez une application avec NetHASP, vous devezdéterminer le nombre de licences assignées à l'application. Ce nombrede licences peut être défini à l'aide du programme HaspEdit ou duprogramme d'Enveloppe.

Si vous avez déjà défini le nombre de licences à l'aide du programmeHaspEdit, vous pouvez laisser ce champ vide. Dans le cas contraire,vous pouvez fixer le nombre maximum de licences autorisées ensaisissant un nombre dans ce champ. Il est alors nécessaire desauvegarder les paramètres dans la mémoire de la clé HASP encliquant sur Yes lorsqu'on vous le demandera (après la protection).

Page 60: Manuel Hasp

5-12 Protection par Enveloppe

Lorsque vous assignez un nombre de licences à l'aide de l'Enveloppe,vous pouvez toujours utiliser le programme HaspEdit pour modifierplus tard les paramètres de protection d'autres clés. (Pour plus dedétails sur le Nombre de Licences, reportez-vous au chapitre 13)

Le tableau suivant montre le nombre de licences autorisées pourchaque modèle de clé NetHASP.

Tableau 5.3: Nombre de licencesNetHASP possibles

Modèle NetHASP Nombre de Licences

NetHASP-5 0 à 5

NetHASP-10 0 à 10

NetHASP-20 0 à 20

NetHASP-50 0 à 50

NetHASP-100 0 à 100

NetHASP-U Illimité

Number of Activations

Lorsque vous protégez une application avec NetHASP, vous devezdéterminer le nombre de lancements du programme. Ce nombre delancements peut être défini à l'aide du programme HaspEdit ou duprogramme d'Enveloppe.

Si vous avez déjà défini le nombre de lancements à l'aide duprogramme HaspEdit, vous pouvez laisser ce champ vide. Dans le cascontraire, vous pouvez fixer le nombre maximum de lancementsautorisés en saisissant un nombre dans ce champ. Il est alorsnécessaire de sauvegarder les paramètres dans la mémoire de la cléHASP en cliquant sur Yes lorsqu'on vous le demandera (après laprotection).

Page 61: Manuel Hasp

Programme d’Enveloppe Win32 5-13

Lorsque vous assignez un nombre de lancements à l'aide del'Enveloppe, vous pouvez toujours utiliser le programme HaspEditpour modifier plus tard les paramètres de protection d'autres clés.(Pour plus de détails sur le Nombre de Lancements, reportez-vous auchapitre 13)

NetHASP Configuration File

Valeur par défaut: nethasp.ini

Vous pouvez préciser le nom du fichier de configuration (un fichiertexte) pour le système NetHASP. (Pour plus de détails sur le fichierde Configuration NetHASP, reportez-vous à l'annexe C.)

Note: Le programme d'Enveloppe n'utilise le fichier deConfiguration NetHASP que s'il existe. dans le cas contraire,il utilise les valeurs par défaut du système NetHASP.

Page 62: Manuel Hasp

5-14 Protection par Enveloppe

L’onglet OptionsL'onglet Options contient des options de protection supplémentaires.L'écran se présente comme ci-dessous :

Full Authorization System (FAS)

Valeur par défaut: Disabled

Vous ne pouvez utiliser le système Full Authorization System (FAS)qu'avec des clés MemoHASP, TimeHASP ou TimeHASP-4 (Pour plusd'informations sur le FAS, reportez-vous à la page 5-43).

Pour utiliser le FAS, cochez la case Use Full AuthorizationSystem.

Page 63: Manuel Hasp

Programme d’Enveloppe Win32 5-15

Application Program Number

Valeur par défaut: 1

Si vous utilisez une clé monoposte pour protéger plusieurs applicationavec le FAS, entrez le numéro unique que vous désirez assigner àl'application.

Vous pouvez saisir le numéro du programme de deux manières :

♦ Entrez le numéro de programme de l'application assigné à l'aidedu programme HaspEdit (et sauvegardé dans la mémoire de la cléHASP).

♦ Déterminez maintenant d'un numéro de programme pour votreapplication en saisissant un nombre dans ce champ. Poursauvegarder le numéro de programme dans la mémoire de la cléHASP, cliquez sur Yes lorsqu'on vous le demandera (après laprotection).

Lorsque vous assignez un numéro de programme à l'aide del'Enveloppe, vous pouvez toujours utiliser le programme HaspEditpour modifier plus tard les paramètres de protection d'autres clés.(Pour plus de détails sur le Numéro de Programme, reportez-vous auchapitre 13.)

Tableau 5.4: Valeurs possible pour le Numéro de Programme

Type de Clé Valeurs Possibles

MemoHASP-1 1 à 16

MemoHASP-4 1 à 112

TimeHASP 1 à 8

TimeHASP-4 1 à 8

Page 64: Manuel Hasp

5-16 Protection par Enveloppe

Number of Application Activations

Si vous utilisez une clé monoposte pour protéger plusieurs applicationavec le FAS, entrez le nombre de lancements autorisés del'application. Vous pouvez définir ce nombre à l'aide du programmeHaspEdit, ou du programme d'Enveloppe.

Si vous avez déjà défini le nombre de lancements à l'aide duprogramme HaspEdit, vous pouvez laisser ce champ vide. Dans le cascontraire, vous pouvez fixer le nombre maximum de lancementsautorisés en saisissant un nombre dans ce champ. Il est alorsnécessaire de sauvegarder les paramètres dans la mémoire de la cléHASP en cliquant sur Yes lorsqu'on vous le demandera (après laprotection).

Lorsque vous assignez le nombre de lancements à l'aide del'Enveloppe, vous pouvez toujours utiliser le programme HaspEditpour modifier plus tard les paramètres de protection d'autres clés.(Pour plus de détails sur le Nombre de Lancements, reportez-vous auchapitre 13.)

Application Expiry Date

Si vous utilisez une clé TimeHASP / TimeHASP-4 pour protégerplusieurs application avec le FAS, entrez la date d'expiration del'application. Vous pouvez définir cette date à l'aide du programmeHaspEdit, ou du programme d'Enveloppe.

Si vous avez déjà défini une date d'expiration à l'aide du programmeHaspEdit, vous pouvez laisser ce champ vide. Dans le cas contraire,vous pouvez fixer la date d'expiration en saisissant une date dans cechamp. Il est alors nécessaire de sauvegarder les paramètres dans lamémoire de la clé HASP en cliquant sur Yes lorsqu'on vous ledemandera (après la protection).

Lorsque vous assignez une date d'expiration à l'aide de l'Enveloppe,vous pouvez toujours utiliser le programme HaspEdit pour modifierplus tard les paramètres de protection d'autres clés. (Pour plus dedétails sur la Date d'Expiration d'une application, reportez-vous auchapitre 13.)

Page 65: Manuel Hasp

Programme d’Enveloppe Win32 5-17

Background HASP Checks

Valeur par défaut: Disabled

Par défaut, le système HASP recherche la présence d'une clé HASPune seule fois au démarrage de l'application. Si vous désirez répétercette recherche durant l'exécution de l'application, ajoutez unevérification de la clé HASP en tâche de fond.

Pour activer cette fonctionnalité, cochez l'option Background HASPChecks dans la zone Protection Methods.

Check HASP at Intervals

Lorsque vous utilisez l'option Background HASP Checks, vous devezpréciser un intervalle de temps entre deux recherches de la clé.Entrez une valeur comprise entre 1 et 1000. Plus le nombre est petit,plus il y aura de recherche de la clé.

Use HASP ID Number

Valeur par défaut: Disabled

Utilisez ce champ si vous désirez que l'application protégée nefonctionne que si la clé HASP avec le Numéro d'Identification indiquéest connectée à l'ordinateur. Cette option n'est disponible qu'avec desclés HASP monopostes à mémoire.

Il existe deux méthodes de saisie des Numéros d'Identification : l'uneautomatique, l'autre manuelle. La méthode de détection automatiquepermet au programme d'Enveloppe de lire le Numéro d'Identificationde la clé HASP actuellement connectée sur port parallèle. Sinon, vouspouvez récupérer le Numéro d'Identification HASP de la clé à l'aidedu programme HaspEdit et saisir ce numéro manuellement. LeNuméro d'Identification est un entier 32 bits non signé qui doit êtreentré en notation hexadécimale.

Page 66: Manuel Hasp

5-18 Protection par Enveloppe

Note: Lorsque vous protégez une application avec plusieurs clésMemoHASP ou TimeHASP, utilisez le Numérod'Identification de la clé dont les Mots de Passe ont été saisisen premier. Les Numéro d'Identifications des autres clés neseront pas vérifiés.

Encrypt Program File

Valeur par défaut: Enabled

Cette option vous permet d'ajouter une protection supplémentaire encodant le programme exécutable.

Attention

Des applications modifiant leur propre code durant leur exécution ne doivent pasêtre protégées de cette manière.

Encryption Key (decimal)

Le processus de codage nécessite plusieurs clés de codage choisiesaléatoirement par le programme d'Enveloppe HASP. Pour vousassurer le maximum de sécurité, vous pouvez définir l'une de ces clésde codage en choisissant un nombre compris entre 0 et 65535.

Install HASP Envelope

Valeur par défaut: Enabled

Dans la zone Protection Methods, vous indiquez la méthode deprotection que vous désirez utiliser. Vous pouvez choisir l'Enveloppe,la méthode de Sécurité par Motif Codé, ou associer les deux.

Lorsque vous cliquez sur l'icône Protect ou lorsque vous choisissezl'option Protect Application de menu Activity, vous mettez en place laprotection définie dans ce champ.

Page 67: Manuel Hasp

Programme d’Enveloppe Win32 5-19

Cochez l’option Install HASP Envelope pour une protection parEnveloppe.

Install Pattern Code Security (PCS)

Valeur par défaut: Disabled

Dans la zone Protection Methods, vous indiquez la méthode deprotection que vous désirez utiliser. Vous pouvez choisir l'Enveloppe,la méthode de Sécurité par Motif Codé, ou associer les deux.

Lorsque vous cliquez sur l'icône Protect ou lorsque choisissez l'optionProtect Application du menu Activity, vous mettez en place laprotection définie dans ce champ. (Pour plus de détails sur la Sécuritépar Motif Codé, reportez-vous au chapitre 12.)

Cochez l'option Install Pattern Code Security (PCS) pour installerle PCS et ainsi augmenter la protection de votre application.

Page 68: Manuel Hasp

5-20 Protection par Enveloppe

L’onglet Error MessagesCet onglet affiche la liste des messages d’erreur apparaissant quandun problème survient durant l'exécution de l'application protégée. Parexemple, si vous désirez que les messages s'affichent dans une autrelangue, remplacez le texte des messages dans les champs.

L'écran a l'aspect suivant :

CEn plus des messages d'erreur, vous pouvez modifier lescodes de sortie. Si votre application utilise les mêmes codesde sortie que HASP, vous pouvez renuméroter les codesHASP.

Page 69: Manuel Hasp

Protection d’une Application DOS ou Win16 5-21

Protection d’une Application DOS ou Win16

Pour protéger une application avec le programme d'EnveloppeDOS ou Win16 :

1. Connectez à l'ordinateur la clé HASP avec laquelle vous désirezprotéger l'application.

2. Installez le Gestionnaire de Périphérique HASP (voir chapitre 14).

3. Lancez le programme d'Enveloppe en exécutant le programmehaspinst.exe pour protéger des application s DOS, ou whinst.exepour des applications Win16. L'écran de copyright du programmed'Enveloppe apparaît. Appuyez sur une touche pour afficher l'écranprincipal.

4. Entrez le chemin et le nom de l'application à protéger dans lechamp Program File to Protect.

5. Saisissez les Mots de Passe HASP dans les champs correspondants.

6. Remplissez les autres champs en fonction des options de protectionque vous désirez utiliser (voir la section suivante pour unedescription de chaque champ).

7. Appuyez sur la touche <F3> pour protéger votre application. Unmessage apparaît vous indiquant que la protection s'est biendéroulée.

8. Appuyez sur la touche <Escape> pour quitter le programme.

A partir de ce moment, l'application ne fonctionnera plus sans la cléHAS P qui lui est associée.

Après la protection, vous pouvez répéter les opérations 4 à 7 autant defois que vous le désirez pour la même application ou d'autresprogrammes.

Page 70: Manuel Hasp

5-22 Protection par Enveloppe

CVous pouvez appliquer l’Enveloppe plusieurs fois sur votreapplication avec la même clé HASP. Chaque enveloppeaugmente le niveau de sécurité de l'application, mais enralentit le temps de chargement.

Note: Si vous protégez une application avec plusieurs enveloppes,n'activez l'option Virus Detection que pour la dernièreenveloppe.

Programme d’Enveloppe DOS et Win16Cette section décrit les différents champs du programme d'EnveloppeDOS et Win16. Au début de chaque description, la valeur par défaut(si elle existe) est précisée. Sauf indication contraire, les champsindiqués sont applicables pour les applications DOS et Win16.

Pour passer d'un champ à l'autre, dans le programmehaspinst.exe :

♦ Appuyez sur la touche Tab ou utilisez les flèches de direction.

Touches de Fonction

<F1>

Appuyez sur <F1> pour obtenir de l’aide.

<F3>

Appuyez sur <F3> pour protéger votre application après avoir saisitous les paramètres de protection.

Page 71: Manuel Hasp

Programme d’Enveloppe DOS et Win16 5-23

<F4>

Appuyez sur <F4> pour utiliser la Sécurité par Motif Codé (PCS). LePCS ajoute un niveau de protection supplémentaire à votreapplication. (Pour plus d'informations sur le PCS, reportez-vous auchapitre 12.)

<F5>

Appuyez sur la touche <F5> pour sauvegarder les paramètres deprotection actuels dans un fichier.

<F6>

Appuyez sur la touche <F6> pour charger des paramètres deprotection préalablement sauvegardés dans un fichier.

<Esc>

Appuyez sur la touche <Escape> pour quitter le programme.

Page 72: Manuel Hasp

5-24 Protection par Enveloppe

Écran PrincipalL'écran principal contient les paramètres que vous devez spécifierpour protéger votre application. L'écran principal a l'allure suivante :

Program File to Protect

Entrez le chemin et le nom du programme à protéger.

Appuyez sur la touche <F2> pour parcourir le disque.

Output Filename

Valeur par défaut: Le nom saisi dans le champ “Unprotected Filename”

Par défaut, le programme d'Enveloppe HASP remplace le fichieroriginal par sa version protégée. Pour éviter d'écraser votre fichier

Page 73: Manuel Hasp

Programme d’Enveloppe DOS et Win16 5-25

original, vous pouvez spécifier un nom différent pour l'applicationprotégée. Saisissez alors ce nom dans le champ Output Filename.

NetHASP Password

Lorsque vous protégez une application avec une clé NetHASP,saisissez les Mots de Passe associés à la clé NetHASP.

Program Number (NetHASP/FAS)

Valeur par défaut: 0

Si vous utilisez une clé NetHASP ou une clé monoposte à mémoirepour protéger plusieurs applications avec le FAS, entrez le numérounique que vous désirez assigner à cette application.

Ce Numéro de Programme peut également être saisi à partir duprogramme HaspEdit. Si c'est le cas, entrez ce nombre dans le champProgram Number (NetHASP/FAS). (Pour plus de détails sur leNuméro de Programme, reportez-vous au chapitre 13. Pour le FAS,reportez-vous à la page 5-43.)

Tableau 5.5: Valeurs Possibles du Numéro de Programme

Type de Clé Valeurs Possibles

MemoHASP-1 1 à 16

MemoHASP-4 1 à 112

TimeHASP 1 à 8

TimeHASP-4 1 à 8

NetHASP 1 à 112

Page 74: Manuel Hasp

5-26 Protection par Enveloppe

HASP-3 Passwords

Saisissez les Mots de Passe de toutes les clés HASP-3 avec lesquellesvous désirez protéger l'application. Généralement, une seule clé HASPest utilisée, mais il est possible d'utiliser jusqu'à trois clés HASP-3différentes.

MemoHASP/TimeHASP Passwords

Saisissez les Mots de Passe de toutes les clésMemoHASP/MemoHASP-4/TimeHASP/TimeHASP-4 avec lesquellesvous désirez protéger l'application. Généralement, une seule cléMemoHASP/MemoHASP-4/TimeHASP/TimeHASP-4 est utilisée, maisil est possible d'utiliser jusqu'à trois clés HASP différentes.

Protect with HASP ID Number

Utilisez ce champ si vous désirez que l'application protégée nefonctionne que si la clé HASP avec le Numéro d'Identification indiquéest connectée à l'ordinateur. Cette option n'est disponible qu'avec desclés HASP monopostes à mémoire.

Il existe deux méthodes de saisie des Numéros d'Identification : l'uneautomatique, l'autre manuelle. La méthode de détection automatiquepermet au programme d'Enveloppe de lire le Numéro d'Identificationde la clé HASP actuellement connectée sur port parallèle. Sinon, vouspouvez récupérer le Numéro d'Identification HASP de la clé à l'aidedu programme HaspEdit et saisir ce numéro manuellement. LeNuméro d'Identification est un entier 32 bits non signé qui doit êtreentré en notation hexadécimale.

Page 75: Manuel Hasp

Programme d’Enveloppe DOS et Win16 5-27

Note: Lorsque vous protégez une application avec plusieurs clésMemoHASP ou TimeHASP, utilisez le Numérod'Identification de la clé dont les Mots de Passe ont été saisisen premier. Les Numéro d'Identifications des autres clés neseront pas vérifiés.

Target Computer

Valeur par défaut: IBM

Ce champ vous permet de préciser sur quel type d'ordinateur vatourner l'application protégée. La valeur par défaut de ce champ estIBM. Si l'ordinateur sur lequel va s'exécuter le programme est unNEC, modifiez la valeur du champ en conséquence.

Full Authorization System

Valeur par défaut: No

Vous ne pouvez utiliser le Full Authorization System (FAS) qu’avecdes clés MemoHASP, TimeHASP ou TimeHASP-4 (Pour plusd'informations sur le FAS, reportez-vous à la page 5-43).

Si vous utilisez le FAS, modifier la valeur du champ à Yes.

Écran Special Overlays Mode

Pour accéder à l'écran Special Overlays Mode du programmed'Enveloppe DOS :

♦ Cliquez sur le bouton Special Overlays Mode de l'ÉcranPrincipal.

Page 76: Manuel Hasp

5-28 Protection par Enveloppe

Special Overlays Mode

Applicable pour: Programme d’Enveloppe DOS

Valeur par défaut: No

Vous devez utiliser cette option si :

• votre programme DOS contient des overlays et a été lié avec unlinker d'overlay (Plink ou .RTLink, par exemple)

• l'application fonctionne sous un DOS extender.

Pressez sur la touche <Espace> dans champ Special Overlays Mode,pour faire défiler les différentes valeurs.

Ce champ peut avoir l'une des valeurs ci-dessous :

♦ NO

♦ YES – Default Method

♦ YES – Method1

Lorsque vous choisissez la valeur YES – Default Method ou YES –Method1, le programme d'Enveloppe crée un fichier de chargement(dans le répertoire de l'application que vous protégez actuellement), etcode le fichier de l'application originale. Après la protection parEnveloppe, le seul moyen de lancer l'application protégée estd'exécuter le module de chargement. Ce module charge l'applicationen mémoire, la décode et l'exécute.

Lorsque vous exécutez le programme de chargement sans clé HASPou sans la clé requise pour l'Enveloppe, il n'active pas l'applicationprotégée et affiche un message d'erreur.

Page 77: Manuel Hasp

Programme d’Enveloppe DOS et Win16 5-29

CComme des DOS extender fonctionnent différemment, il estdifficile de prévoir quelles valeurs utiliser dans le champSpecial Overlays Mode.

Vous trouvez ci-après quatre configurations des champsSpecial Overlays Mode et Encrypt Protected File. Ladescription indique comment chaque méthode gèrel'application, les overlays ou le DOS extender. (Reportez-vousà la page 5-32 pour plus de détails sur le champ EncryptProtected File.)

♦ Special Overlays Mode = YES – Default MethodEncrypt Protected File = YESCode l’application et le chargeur.

♦ Special Overlays Mode = YES – Default MethodEncrypt Protected File = NOCode l'application, mais pas le chargeur. La sécurité n'estpas diminuée étant donné que l'application elle-même estcodée.

♦ Special Overlays Mode = YES – Method1Encrypt Protected File = YESCode le chargeur mais pas l’application.

♦ Special Overlays Mode = YES – Method1Encrypt Protected File = NONi le chargeur ni l'application ne sont codés.

Loader Filename

Applicable pour: Programme d’Enveloppe DOS

Valeur par défaut: haspexec.exe

Le champ Loader Filename vous permet de choisir le nom dumodule de chargement de votre application.

Le chargeur recherche d'abord l'application protégée dans lerépertoire courant. S'il ne la trouve, il cherchera dans le répertoire où

Page 78: Manuel Hasp

5-30 Protection par Enveloppe

se trouve l’application (chemin complet) et finalement dans le cheminspécifié par la commande path du DOS.

Note: Le nom du chargeur doit être de taille supérieur ou égale àcelle de l'application qu'il charge.

Page 79: Manuel Hasp

Programme d’Enveloppe DOS et Win16 5-31

Écran Advanced Options

Pour accéder à l'Écran Advanced Options des Programmesd'Enveloppe DOS et Win16 :

♦ Cliquez sur le bouton Advanced Options de l'Écran Principal.L'écran Advanced Options apparaît alors :

HASP Protection Mode

Valeur par défaut: Full

Il existe deux types de protection par Enveloppe: Full et Easy.

En protection Full, seule une clé HASP avec un Code Développeurspécifique peut ouvrir l'application. La protection Easy signifie quen'importe quelle clé HASP, indépendamment de son CodeDéveloppeur peut ouvrir l'application.

La plupart des applications sont protégées en mode de protection Full. La protection Easy ne s'emploie que si vous désirez autoriserl'exécution du programme avec plusieurs clés différentes. Avec laprotection Easy, vous pouvez utiliser la protection par API pour

Page 80: Manuel Hasp

5-32 Protection par Enveloppe

déterminer comment réagira votre programme selon le CodeDéveloppeur de la clé connectée.

Attention

N'utilisez pas la protection Easy sauf si vous désirez que votre application se lanceavec n'importe quelle clé HASP, y compris une clé HASP de Démo.

Encrypt Protected File

Valeur par défaut: Yes

Cette option vous permet de protéger votre application en codant lefichier exécutable.

Attention

Les applications modifiant leur propre fichier durant leur exécution ne doivent pasêtre codées.

Encryption Key

Le processus de codage nécessite plusieurs clés de codage choisiealéatoirement par le programme d'Enveloppe HASP. Pour vousassurer une protection maximale, vous pouvez définir vous-mêmel'une des clés de codage en choisissant une valeur entre 0 et 65535.

Page 81: Manuel Hasp

Programme d’Enveloppe DOS et Win16 5-33

Automatic Virus Detection

Applicable pour: Programme d’Enveloppe DOS

Valeur par défaut: Yes

Cette option initialise la recherche automatique de virus et lavérification de modification du fichier protégé. Lorsque l'applicationest exécutée, elle affiche un message d'alerte si elle est infectée.

Note: Si vous protégez la même application plus d'une fois avec leprogramme d'Enveloppe, n'activez l'option de détection devirus que sur la dernière protection.

NetHASP Configuration File

Valeur par défaut: nethasp.ini

Vous pouvez préciser le nom du fichier de configuration (un fichiertexte) du système NetHASP. (Pour plus d'informations sur le Fichierde Configuration NetHASP, reportez-vous à l'annexe C.)

Note: L'Enveloppe utilise le Fichier de Configuration NetHASP s'ilexiste. Sinon, elle utilise les valeurs par défaut du systèmeNetHASP.

Random File Size

Applicable pour: Programme d’Enveloppe DOS

Valeur par défaut: Yes

A chaque protection d'un fichier exécutable, le programmed'Enveloppe en modifie aléatoirement sa taille. Lorsque vous protégezdes applications DOS, vous pouvez désactiver cette option demodification aléatoire de la taille du fichier. Si vous basculez le champRandom File Size à No, la taille du fichier protégé sera invariabled'une protection à l'autre.

Page 82: Manuel Hasp

5-34 Protection par Enveloppe

Écran Edit Error Messages

Pour accéder à l'écran Edit Error Messages des programmesd'Enveloppe DOS et Win16 :

♦ Cliquez sur le bouton Edit Error Messages de l'Écran Principal.

Envelope Error Messages

Valeur par défaut: (voir tableau 5.6)

Lorsque l'intégrité d'une application protégée a été violée, l'Enveloppeaffiche un message d'erreur.

L'Éditeur de Messages d'Erreur HASP permet de remplacer lesmessages d'erreur par défaut. Par exemple, vous pouvez afficher lesmessages dans une autre langue.

CEn plus des messages d'erreur, vous pouvez modifier lescodes de sortie HASP. Si votre application utilise les mêmescodes de sortie que HASP, vous pouvez renuméroter les codesHASP.

Pour personnaliser un message d’erreur :

♦ Remplacez le message existant et appuyez sur la touche<Entrée>.

Tableau 5.6: Messages d’Erreur originaux

Messages d’ErreurOriginaux

Explication Code deSortie

HASP key not found. Il n'y a pas de clé HASP connectée 1

HASP Driver not installed. Le Gestionnaire de Périphérique HASP n'est pas installéou n'est pas compatible avec la version de l'EnveloppeDOS.

9

No answer from the Clé NetHASP uniquement. Le Gestionnaire de Licence 6

Page 83: Manuel Hasp

Programme d’Enveloppe DOS et Win16 5-35

Messages d’ErreurOriginaux

Explication Code deSortie

NetHASP License Manager. NetHASP ne répond pas.Il y a un problème de communication.

No authorization to run thisprogram.

Une clé HASP monoposte avec le FAS, ou une cléNetHASP est utilisée, mais l'application n'est pas dans laliste des programmes autorisés.

4

Too many users arecurrently using the program.

Clé NetHASP uniquement. Une application essaie de selancer alors que le nombre maximum de stationsautorisées est déjà atteint.Attendez qu'une station effectue un LOGOUT NetHASPet réessayez.

7

The program is out ofruntimes.

Une clé HASP monoposte avec le FAS, ou une cléNetHASP est utilisée, mais le nombre de lancementsautorisés est dépassé.

5

The program's runtime datehas expired.

Clé TimeHASP uniquement. La date limite d'utilisation del'application est dépassée.

8

The program is infected by avirus.

L'application protégée a détecté qu'elle est infectée parun virus ou a été modifiée par un virus.

3

Page 84: Manuel Hasp

5-36 Protection par Enveloppe

Protection en Ligne de CommandeVous pouvez lancer les programmes d’Enveloppe DOS et Win16 àpartir d'un fichier batch, sans utiliser l'interface Enveloppe, enspécifiant les options de protection par des paramètres dans la lignede commande. Sauf spécification contraire, le programme d'Enveloppeprotège l'application avec les valeurs par défaut de chaque option.

La liste suivante décrit les différentes paramètres de la ligne decommande. Il existe un paramètre pour chacune des fonctions décritesdans la section “Champs du Programme d'Enveloppe”.

-help

Affiche une liste de tous les paramètres, avec une courte description.

-?

Affiche une liste de tous les paramètres, avec une courte description.

-env

Protège avec l'Enveloppe.

-prg <filename>

Spécifie le fichier à protéger.

-out <filename>

Renomme le fichier protégé.

-nhpass <password1> <password2>

Spécifie les mots de passe NetHASP.

Page 85: Manuel Hasp

Protection en Ligne de Commande 5-37

-prgnum <program number>

Spécifie le Numéro de Programme FAS ou NetHASP.

-h3pass <password1> <password2>

Spécifie les mots de passe HASP-3.

-mhpass <password1> <password2>

Spécifie les mots de passe MemoHASP, TimeHASP ou TimeHASP-4.

-mhid <ID Number>

Spécifie le Numéro d'Identification HASP de la clé MemoHASP,TimeHASP ou TimeHASP-4 permettant l'ouverture de l'application.

-ibm

Valeur par défaut. La plate-forme cible est un IBM PC ou compatible.

-nec

La plate-forme cible est un NEC.

-nofas

Valeur par défaut. Ne pas utiliser le Full Authorization System (FAS).

-fas

Utilisation du Full Authorization System (FAS).

Page 86: Manuel Hasp

5-38 Protection par Enveloppe

-nospecial

Valeur par défaut. A utiliser avec une application ne contenant pasd’overlays.Identique à Special Overlays Mode = NO.

Ce paramètre n'est valable que pour l'Enveloppe DOS.

-special

Gestion des overlays et des DOS extenders.Identique à Special Overlays Mode = YES – Default Method.

Ce paramètre n'est valable que pour l'Enveloppe DOS.

-special1

Autre gestion des overlays.Identique à Special Overlays Mode = YES – Method 1.

Ce paramètre n'est valable que pour l'Enveloppe DOS.

-loader <filename>

Spécifie le nom du chargeur lors de la protection d'une applicationavec overlays.

Ce paramètre n'est valable que pour l'Enveloppe DOS.

-h3hard

Valeur par défaut. Mode de protection Full.

-h3easy

Mode de protection Easy.

Page 87: Manuel Hasp

Protection en Ligne de Commande 5-39

-enc

Valeur par défaut. Codage du fichier durant la protection.

-noenc

Pas de codage du fichier durant la protection.

-enckey <number>

Spécifie une clé de codage.

-vir

Valeur par défaut. Protection automatique contre les virus.

Ce paramètre n'est valable que pour l'Enveloppe DOS.

-novir

Pas de protection automatique contre les virus.

Ce paramètre n'est valable que pour l'Enveloppe DOS.

-cfgfile <filename>

Charge un fichier de configuration et utilise les paramètres qu'ilcontient.

-netcfg <filename>

Spécifie un Fichier de Configuration NetHASP. (Pour plusd'informations, reportez-vous à l'annexe C.)

-randomsize

Valeur par défaut. Active l'option de taille aléatoire du fichier.

Ce paramètre n'est valable que pour l'Enveloppe DOS.

Page 88: Manuel Hasp

5-40 Protection par Enveloppe

-norandomsize

Désactive l'option de taille aléatoire du fichier.

Ce paramètre n'est valable que pour l'Enveloppe DOS.

-ec1 <number>

Spécifie un code de sortie pour le message “HASP key not found”.

-ec2 <number>

Spécifie un code de sortie pour le message “HASP Driver is notinstalled”.

-ec3 <number>

Spécifie un code de sortie pour le message “No answer from theNetHASP License Manager”.

-ec4 <number>

Spécifie un code de sortie pour le message “No authorization to runthis program”.

-ec5 <number>

Spécifie un code de sortie pour le message “Too many users arecurrently using the program”.

-ec6 <number>

Spécifie un code de sortie pour le message “The program is out ofruntimes”.

Page 89: Manuel Hasp

Protection en Ligne de Commande 5-41

-ec7 <number>

Spécifie un code de sortie pour le message “The program's runtimedate has expired”.

-ec8 <number>

Spécifie un code de sortie pour le message “The program is infected bya virus”.

Ce paramètre n'est valable que pour l'Enveloppe DOS.

-pcs

Installe le PCS.

Ce paramètre n'est valable que pour l'Enveloppe DOS. (Pour plusd'informations sur le PCS, reportez-vous au chapitre 12.)

-bw

Lance le Programme d'Enveloppe en mode Noir & Blanc. Utilisezcette option avec des moniteurs sur lesquels le programmed'Enveloppe n'est pas affiché correctement.

-xcode

Ce paramètre vous permet de choisir une autre méthode gestion desfichiers exécutables si l'Enveloppe ne fonctionne pas.

Cette option n'est disponible qu'avec le programme d'EnveloppeWindows. N'utilisez cette option que si votre application ne fonctionnepas sans elle.

Page 90: Manuel Hasp

5-42 Protection par Enveloppe

Exemples d’Utilisation en Ligne de CommandeLes exemples suivants illustrent l'utilisation des paramètres duprogramme d'Enveloppe.

♦ whinst -env -prg abc.exe -mhpass 15417 9632

Cet exemple montre comment protéger une application Windowsnommée abc.exe avec une clé MemoHASP, TimeHASP ouTimeHASP-4 avec le programme d'Enveloppe Windows. Seule la cléHASP possédant les mots de passe 15417 et 9632 permettral'exécution de l'application.

♦ haspinst -env -cfgfile myconfig.cfg

Cet exemple montre comment protéger une application DOS avec leprogramme d'Enveloppe DOS. Dans ce cas, tous les paramètres sontlus dans le fichier de configuration myconfig.cfg.

♦ haspinst -cfgfile myconfig.cfg

Dans cet exemple, le paramètre -env n'est pas spécifié, de ce fait, laprotection par Enveloppe ne se fera pas en mode ligne de commande.L'écran principal du programme d'Enveloppe apparaîtra avec leschamps contenant les valeurs lues dans le fichier de configurationmyconfig.cfg.

NoteNetHASP:

L'exemple suivant montre l'utilisation de paramètres pourune protection avec une clé NetHASP.

♦ haspinst -env -prg abc.exe -prgnum 1 -nhpass 15417 9632

Le programme abc.exe est protégé avec une clé NetHASP etle programme d'Enveloppe DOS. Dans cet exemple, abc.exeest défini comme le programme numéro 1 dans la mémoireNetHASP.

Page 91: Manuel Hasp

FAS – The Full Authorization System 5-43

FAS – The Full Authorization System

Qu’est-ce que le FAS?FAS est un outil puissant vous permettant de protéger plusieursapplications avec une seule clé. Vous pouvez également limiterl'utilisation de votre application, en définissant le nombre delancements (MemoHASP) ou une date d'expiration du programme(TimeHASP and TimeHASP-4). Une application, protégée avec uneEnveloppe HASP intégrant FAS, effectue les vérifications suivanteslors de son lancement :

♦ L'application protégée vérifie d'abord si la bonne clé HASP estconnecté à l'ordinateur. Sinon, l'application s'arrête avec unmessage d'erreur.

♦ Si la bonne clé HASP est présente, le système analyse la mémoirede la clé HASP pour vérifier que l'application est autorisée à celancer (voir chapitre 13).

♦ Applications de démo protégées avec une MemoHASP : Sivous avec limité le nombre d'exécutions de l'application, le systèmevérifie que ce nombre n'est pas dépassé.

A chaque lancement, le nombre de lancements autorisés estdécrémenté d'une unité. Lorsque le nombre de lancementsautorisés atteint zéro, l'application s'arrête avec un messaged'erreur.

♦ Logiciel en location avec une clé TimeHASP ouTimeHASP-4 : Si vous avez défini une date d'expiration pourvotre application, elle vérifie la date dans l'horloge temps-réel dela clé. Si l'application a atteint la date d'expiration, elle s'arrêteavec un message d'erreur.

Page 92: Manuel Hasp

5-44 Protection par Enveloppe

Étapes de l'Implémentation du FASLa mise à place du FAS comprend deux étapes :

Étape 1: Protégez chaque application séparément avec leprogramme d'Enveloppe. Dans le champ ProgramNumber , définissez un numéro de programme uniquepour chaque application. Basculez le champ FullAuthorization System sur Yes.

Étape 2: Utilisez le programme HaspEdit pour définir la listed'autorisation (authorization list) du FAS (voir chapitre13). La liste d'autorisation définit les applicationspouvant être exécutées avec la clé, et :

♦ avec MemoHASP – le nombre de lancementsautorisés pour chaque application.

♦ avec TimeHASP et TimeHASP-4 – la dated'expiration de chaque application.

Note: Pour les applications Win32, l'étape 2 peut se faire viale programme d'Enveloppe au lieu du programmeHaspEdit. Dans ce cas, entrez les paramètres dans leschamps appropriés et choisissez l'option ProgramHASP pour sauvegarder les paramètres de protection.

Page 93: Manuel Hasp

Protection de Logiciel sur des PC Isolés ou en Réseau 5-45

Protection de Logiciel sur des PC Isolés ou en RéseauL'Enveloppe vous permet de protéger votre application pour desenvironnements réseau et PC isolés.

Lorsque vous exécutez une application protégée pour réseau et PC,votre application effectue les tests suivants :

♦ Premièrement, l'application vérifie qu'une clé HASP est connectéesur l'ordinateur où est exécutée l'application.

♦ Si l'application ne trouve pas de clé sur l'ordinateur, elle parcourrale réseau à la recherche d'une clé NetHASP.

Pour autoriser la protection par Enveloppe sur réseau et PCisolé :

♦ Entrez les mots de passe de la clé NetHASP et de la clé HASPmonoposte dans les champs correspondants.

Page 94: Manuel Hasp

5-46 Protection par Enveloppe

Considérations NetHASP

LOGOUT NetHASP

Lorsque une application est lancée, l'Enveloppe effectueautomatiquement un appel au Gestionnaire de Licence NetHASP avecun LOGIN NetHASP, en demandant la permission de se lancer. Uneapplication protégée par une Enveloppe DOS ou Windows, sans APINetHASP, ne peut effectuer de LOGOUT NetHASP. Par contre, uneapplication protégée par une Enveloppe Win32 effectue LOGOUTNetHASP.

Temps de Disponibilité

Pour une application protégée par Enveloppe, le temps à partirduquel une station est considérée comme disponible, est le temps dedisponibilité par défaut du Gestionnaire de Licence NetHASP (voir leservice 48 au chapitre 10).

Page 95: Manuel Hasp

Questions Fréquemment Posées (FAQ) 5-47

Questions Fréquemment Posées (FAQ)Question: Combien de temps faut-il pour charger en mémoire une

application protégée par Enveloppe ?

Réponse: Cela dépend de la taille de l'application et des performances del'ordinateur, mais le temps de chargement n'est augmenté que dequelques secondes.

Question: Le mécanisme d'anti-débogage HASP interfère-t'il avec lefonctionnement normal du PC ?

Réponse: Non. Le mécanisme d'anti-débogage HASP est complètementtransparent et n'a aucun effet sur l'exécution de l'application.

Question: L'Enveloppe HASP vérifie-t'elle la présence de la clédurant l'exécution du programme ?

Réponse: Oui. L'Enveloppe Win32 peut effectuer différentes vérifications dela clé HASP en tâche de fond durant l'exécution de l'application.Pour plus d'informations, reportez-vous à l'option BackgroundHASP Checks dans la description des champs du programmed'Enveloppe Win32.

Page 96: Manuel Hasp

5-48 Protection par Enveloppe

Page 97: Manuel Hasp

6-1

Chapitre 6 - Protection avec l’APIL’Interface de Programmation d’application (API) HASP est composéed'un fichier objet que vous pouvez lier à votre application, ou d'uneDLL que vous appelez dans votre application. Comme l'API est à lafois protégée et codée, elle vous offre un très au niveau de sécurité.

L'API vous permet d'insérer des appels à la clé HASP dans votreapplication, en augmentant ainsi son niveau de sécurité. A n'importequel endroit de votre application, vous pouvez vérifier la présence dela clé et décider comment réagir en fonction du résultat de larecherche. Vous pouvez également accéder au contenu de la mémoirede la clé HASP pour y lire ou stocker des données sensibles. Avec lesclés TimeHASP et TimeHASP-4, vous pouvez consulter l'horlogetemps-réel qu'elles contiennent.

Note: Afin d'utiliser l'API HASP, vous devez installer leGestionnaire de Périphérique HASP. Pour plusd'informations sur le Gestionnaire de Périphérique HASP,reportez-vous au chapitre 14.

Avant de protéger votre application avec l'API HASP, nous vousrecommandons de vérifier les fichiers API correspondant à votrecompilateur. Chaque interface HASP comprend un exempled'application montrant l'utilisation de l'API.

Si le compilateur que vous possédez est incompatible avec lesinterfaces API HASP proposées, nous vous recommandons de :

♦ Utiliser une interface utilisant le même type fichiers d'objet quevotre compilateur.

♦ Utilisez une DLL (pour les applications Windows, Win32 et OS/2).

♦ Utiliser le Gestionnaire Résident (pour les applications DOSuniquement – voir annexe B).

Page 98: Manuel Hasp

6-2 Protection avec l’API

Utilisation de l’APIAvant d’utiliser l’API, utilisez le programme HaspEdit (voir chapitre13) pour vérifier les points suivants :

♦ Définition des Codes de Retour attendus pour un SeedCode donné : Avec l'API, vous pouvez vérifier la présence de labonne clé HASP en vérifiant ces Codes de Retour.

♦ Modifier la mémoire HASP : Si vous protégez votre applicationavec une clé à mémoire, et décidez d'y stocker des donnéessensibles, notez les données stockées à chaque adresse mémoire.Avec l'API, vous pouvez accéder à la mémoire en lecture etécriture à une adresse précise.

♦ Détermination du Numéro d'Identification HASP : Si vousprotégez votre application avec une clé à mémoire, déterminez leNuméro d'Identification HASP de chacune des clés utilisées. Avecl'API, vous pouvez vérifier la présence d'une clé HASP précise enconsultant son Numéro d'Identification. Vous pouvez vérifier leNuméro d'Identification pour, par exemple, contrôle l'accès àcertains modules de votre application.

La Routine hasp( )La routine hasp( ) vous permet d'incorporer la protection API à votreapplication. La routine hasp( ) vérifie la présence d'une clé HASP,renvoie des Codes de Retour pour un Seed Code (germe) donné etpermet d'accéder à la mémoire des clés HASP à mémoire pour desopérations de lecture et d'écriture.

tous les appels à l'API se font via la routine hasp( ) de la façonsuivante :

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

La routine hasp( ) accepte neuf paramètres. Le premier, Service,détermine le type d'opération effectué par la routine. Les chapitres 7,8, 9 et 10 décrivent en détail les différents services disponibles pourles clé HASP.

Page 99: Manuel Hasp

Utilisation de l’API 6-3

CIl arrive quelques fois qu'un service ne puisse être activé oune fonctionne pas correctement. Dans ce cas, appelez laroutine hasp( ) avec un service plusieurs fois de suite avec deconclure que la clé n'est HASP n'est pas connectée. Agissez enconséquence si la réponse est invariablement invalide.

Spécification du Port Parallèle

Le paramètre LptNum permet de spécifier le port parallèle sur lequelrechercher la clé HASP.

NoteNetHASP:

♦ Avec une clé NetHASP, la routine hasp( ) utilise leparamètre ProgNum à la place du paramètre LptNum.

♦ Les application protégées par NetHASP analysent tousles ports parallèles. De ce fait, si vous utilisez NetHASP,vous pouvez passer cette section.

Si le paramètre LptNum est fixé à 0, l'application protégée recherchela clé HASP sur tous les ports parallèles dans l'ordre suivant : 378h,278h et 3BCh. Lorsque l'application trouve la clé HASP, la recherchese termine automatiquement.

Vous pouvez rechercher la clé HASP sur un port parallèle précis oudirectement à l'adresse matérielle (en outrepassant la zone dedonnées du BIOS). Le tableau suivant indique les différentes valeurspossibles du paramètre LptNum.

Tableau 6.1: Valeurs de LptNum et ports parallèles recherchés

LptNum Port Recherché

0 Recherche automatique sur tous les ports

1 LPT1 uniquement

2 LPT2 uniquement

3 LPT3 uniquement

Page 100: Manuel Hasp

6-4 Protection avec l’API

LptNum Port Recherché

101* 03BCh uniquement

102* 0378h uniquement

103* 0278h uniquement

* Applicable uniquement pour les applications DOS et Windows 16-bit fonctionnant sous DOS extenders ouWindows (16-bit).

Services HASP de BaseTrois services de base sont disponibles pour toutes les clés monopostes(voir tableau 6.2). Pour une description détaillée de ces services,reportez-vous au chapitre 7.

Tableau 6.2: Services HASP de base – Description

Service Nom Fonction

1 IsHasp Vérifie si une clé HASP est connectée à l'ordinateur.

2 HaspCode Renvoie les Codes de Retour pour un Seed Code donné.

5 HaspStatus ♦ Vérifie le type de clé HASP connecté à l'ordinateur.

♦ Vérifie sur quel port parallèle est connecté la clé.

♦ Vérifie la taille de la mémoire des clés HASP à mémoire.

Page 101: Manuel Hasp

Services MemoHASP 6-5

Services MemoHASPEn plus des services HASP de base, MemoHASP offre les servicesindiqués dans le tableau 6.3. Pour une description détaillée de cesservices, reportez-vous au chapitre 8.

Tableau 6.3: Services MemoHASP – Description

Service Nom Fonction

3 ReadWord Lit un mot de données dans la mémoire HASP.

4 WriteWord Ecrit un mot de données dans la mémoire HASP.

6 HaspID Récupère le Numéro d'Identification HASP.

50 ReadBlock Lit un bloc de données dans la mémoire HASP.

51 WriteBlock Ecrit un bloc de données dans la mémoire HASP.

CVous pouvez utiliser les services 3, 4, 50 et 51 pour accéderaux 248-mots de la mémoire de la TimeHASP-4.

Page 102: Manuel Hasp

6-6 Protection avec l’API

Services TimeHASPAvec les clé TimeHASP, vous pouvez utiliser les services HASP debase ainsi que les services indiqués dans le tableau 6.4. Pour plusd'informations sur les services TimeHASP, reportez-vous au chapitre9.

Tableau 6.4: Services TimeHASP – Description

Service Nom Fonction

70 SetTime Met l'horloge TimeHASP à une heure donnée.

71 GetTime Lit l'heure de l'horloge TimeHASP.

72 SetDate Met l'horloge TimeHASP à une date donnée.

73 GetDate Lit la date de l'horloge TimeHASP.

74 WriteByte Ecrit un octet de données dans la mémoire TimeHASP.

75 ReadByte Lit un octet de données de la mémoire TimeHASP.

76 WriteBlock Ecrit un bloc de données dans la mémoire TimeHASP.

77 ReadBlock Lit un bloc de données de la mémoire TimeHASP.

78 GetHaspID Récupère le Numéro d'Identification de la TimeHASP.

Si vous protégez votre application avec une TimeHASP-4, utilisez lesservices 74 à 77 pour accéder aux 16 octets de mémoire. Utilisez lesservices MemoHASP 3, 4, 50 et 51 pour accéder aux 248 mots demémoire.

CAvec une clé TimeHASP ou TimeHASP-4, vous pouvez soitutiliser le service 6 MemoHASP ou le service 78 TimeHASPpour déterminer le Numéro d'Identification de la clé.

Page 103: Manuel Hasp

Services NetHASP 6-7

Services NetHASPAvec le clé NetHASP, vous pouvez utiliser les services du tableau 6.5.Pour plus de détails, reportez-vous au chapitre 10.

Tableau 6.5: Services NetHASP – Description

Service Nom Fonction

40 LastStatus Retourne l'état du dernier appel. Utilisez ce service aprèschaque appel à la routine hasp( ).

41 HaspCode Renvoie les Codes de Retour pour un Seed Code donné.

42 LOGIN Demande une permission de lancement de l'application auGestionnaire de Licence NetHASP.

Sauf si vous utilisez les services 85 ou 96, le LOGIN doit être lepremier appel à la routine hasp().

43 LOGOUT Demande une fin de session NetHASP au Gestionnaire deLicence NetHASP. L'utilisation du LOGOUT n'est pasobligatoire , mais recommandé.

44 ReadWord Lit un mot de données de la mémoire NetHASP.

45 WriteWord Ecrit un mot de données dans la mémoire NetHASP.

46 HaspID Récupère le Numéro d'Identification NetHASP.

48 IdleTime Défini la période maximale avant la mise en disponibilité desstations.

52 ReadBlock Lit un mot de données de la mémoire NetHASP.

53 WriteBlock Ecrit un bloc de données dans la mémoire NetHASP.

85 SetConfigFilename Défini le nom du Fichier de Configuration NetHASP.

96 SetServerByName Défini le nom du Gestionnaire de Licence NetHASP avec lequell'application protégée doit effectuer son LOGIN NetHASP.

Page 104: Manuel Hasp

6-8 Protection avec l’API

Note: Pour accéder à une clé NetHASP connectée au port parallèlelocal, vous pouvez utiliser les services HASP de base ainsique les services MemoHASP.

Utilisation des Services NetHASPAvec l'API NetHASP, certains services doivent être appelés avant ouaprès les autres comme indiqué ci-dessous :

1. Éventuellement, appelez la routine hasp( ) avec le serviceSetConfigFilename suivi du service LastStatus.

2. Éventuellement, appelez la routine hasp( ) avec le serviceSetServerByName suivi du service LastStatus.

3. Appelez la routine hasp( ) avec le service LOGIN suivi du serviceLastStatus.

4. Une fois le service LOGIN utilisé, vous êtes libre d'appelern'importe lequel des services NetHASP service. Après chaqueservice, appelez la routine hasp( ) avec le service LastStatus.

5. Appelez la routine hasp( ) avec le service LOGOUT suivi du serviceLastStatus.

Page 105: Manuel Hasp

Protection de Logiciels pour Stations en Réseau ou Isolés 6-9

Attention

Avec le protocole TCP/IP, une application Windows 16-bit appelant la routine hasp( )prend automatiquement le contrôle tant que la routine est active. Le contrôle estobtenu via une boucle de message plutôt que via l'instruction suivant l'appel à laroutine hasp( ).

Tant que le contrôle est établi via l'instruction suivant l'appel à la routine hasp( ),assurez-vous de ne pas faire d'autre appel à la routine hasp( ). Sinon, votreapplication crashera. Pour éviter cette situation, utilisez des drapeaux pour éviterque de nouveaux appels à la routine hasp( ) tant que les appels précédents sont encours.

Protection de Logiciels pour Stationsen Réseau ou Isolés

L'API vous permet de protéger des applications pour ordinateurs enenvironnement réseau ou isolés.

Pour autoriser la protection par API sur des PC en réseau ouisolés :

♦ Utilisez les services HASP de base, MemoHASP et TimeHASPpour vérifier la présence de la clé monoposte sur le port parallèlelocal de l'ordinateur.

♦ Si la bonne clé HASP monoposte n'est pas présente, utilisez lesservices NetHASP pour rechercher la clé NetHASP.

Page 106: Manuel Hasp

6-10 Protection avec l’API

Questions Fréquemment Posées (FAQ)Question: Qu'elle est la durée d'une vérification HASP ?

Réponse: Avec des clés HASP monopostes, un appel à la routine hasp( )prend environ 20 millisecondes. Avec NetHASP, un LOGINNetHASP prend approximativement deux secondes, selon le traficsur le réseau. Les appels aux autres services NetHASP requièrentenviron une demie seconde. Comme le montrent ces chiffres, vouspouvez faire autant d'appels à la routine hasp( ) que vous ledésirez.

Question: Le système HASP évite-t'il le trace du code ?

Réponse: Plus de 60% de nos routines sont spécialement conçues pour éviterque les pirates ne puissent tracer le code des applicationsprotégées. Naturellement, nous ne pouvons pas révéler notresavoir faire dans ce domaine, mais voici quand même quelquesexemples.

♦ Déplacement des interruptions du debogueur, rendant difficilele lancement du débogueur lui-même

♦ Pièges spéciaux contre les débogueurs matériels

♦ Code autogénéré difficile à pister

♦ Pièges temporisés

♦ Un mécanisme de protection puissant (PCS) implémenté par ledéveloppeur

♦ Mises à jour fréquentes des logiciels incorporant de nouvellesfonctionnalités et une augmentation de la sécurité

Page 107: Manuel Hasp

Questions Fréquemment Posées (FAQ) 6-11

Question: Le langage de programmation ou le compilateur quel'utilise n'est pas compatibles avec les différents langageset compilateurs supportés par HASP. Comment puis-jeprotéger mon logiciel ?

Réponse: Dans ce cas, nous vous suggérons de :

• Utiliser une interface utilisant le même type fichiers d'objetque votre compilateur.

• Utilisez une DLL (pour les applications Windows, Win32 etOS/2).

• Utiliser le Gestionnaire Résident (pour les applications DOSuniquement – voir annexe B).

♦ Consulter votre distributeur HASP. De nouvelles interfacessont constamment ajoutées dans la gamme HASP.

♦ Utiliser la protection par Enveloppe.

Page 108: Manuel Hasp

6-12 Protection avec l’API

Question: Mon application protégée par API renvoie des Codes deRetour négatifs . Pour le même Seed Code, le programmeHaspEdit renvoie des valeurs positives. Pourquoi ?

Réponse: Les Codes de Retour affichés dans le programme HaspEdit sontdes entiers non signés (compris entre 0 et 65535). Vous avezprobablement défini, dans votre application, les Codes de Retourcomme des entiers signés (compris entre -32768 et +32767).

Il y a deux solutions pour régler ce problème :

♦ Soit, vous définissez les Codes de Retour de votre applicationcomme des entiers non signés.

♦ Soit, vous utilisez la formule suivante pour transformer unCode de Retour négatif renvoyé par la routine hasp( ) en Codede Retour Positif :

Code de Retour Positif = 65536 + Code de Retour Négatif

Les Codes de Retour positifs correspondront alors avec les Codesde Retour affichés par le programme HaspEdit.

Question: Comment puis-je protéger une DLL avec HASP ?

Question: J'utilise l'API pour vérifier le Numéro d'IdentificationHASP. Quelques fois, le Numéro d'Identification retournéest négatif dans IDLow. Lorsque je calcule le Numérod'Identification, j'obtiens une valeur différente de celleobtenue par le programme HaspEdit.

Réponse: Lorsque IDLow est négatif, utilisez la formule suivante pourcalculer le Numéro d'Identification :

Numéro d'Identification = 65536 + IDLow + 65536 * IDHigh

Page 109: Manuel Hasp

Questions Fréquemment Posées (FAQ) 6-13

Question: J'utilise une clé NetHASP pour protéger une seuleapplication. Les 24 premier mots de la mémoire NetHASPne sont pas suffisant. Que faire ?

Réponse: Les 224 mots de la mémoire NetHASP sont réservés pour lesparamètres de protection des 112 applications que vous pouvezprotéger avec une seule clé NetHASP. Comme vous ne protégezqu'une seule application, vous pouvez utiliser cette partie demémoire réservée pour une autre usage. Contactez votredistributeur HASP et demandez-lui Descriptif de la MémoireNetHASP. Utilisez ensuite l’API NetHASP pour stocker desdonnées dans la partie non utilisée de la mémoire.

Page 110: Manuel Hasp

6-14 Protection avec l’API

Page 111: Manuel Hasp

7-1

Chapitre 7 - Services de Base de l’APIHASP

Le tableau des services qui suit est composé de deux lignes :

♦ La ligne d'Appel, A, affiche la liste des paramètres que l'on passe àla routine hasp( ).

♦ La ligne de Retour, R, contient la liste des paramètres que laroutine hasp( ) renvoie.

Note: ♦ La signification des paramètres Par1, Par2, Par3 et Par4change selon le service.

♦ Tous les paramètres sont des entiers 16 bits pour lesapplications 16-bit.

♦ Tous les paramètres sont des entiers 32 bits pour lesapplications 32-bit.

Page 112: Manuel Hasp

7-2 Services de Base de l’API HASP

Tableau 7.1: Services HASP de base et lesparamètres de la routine hasp( )

Service(Numéro du Service)

Seed Code LptNum Password1 Password2 Par1 Par2 Par3 Par4

A IsHasp (1) LptNum

R Clé HASPTrouvée

A HaspCode (2) Seed Code LptNum Mot de passe 1 Mot de passe 2

R ReturnCode 1

ReturnCode 2

ReturnCode 3

ReturnCode 4

A HaspStatus (5) LptNum Mot de passe 1 Mot de passe 2

R Taille de laMémoire

Type de cléHASP

LptNumActuel

Service 1: IsHasp

Description

Vérifie si une clé HASP est connectée à l'ordinateur.

Clés Utilisables

HASP-3, MemoHASP-1, MemoHASP-4, TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 1LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Valeurs de Retour

Par1: Clé HASP Trouvée

Page 113: Manuel Hasp

Service 2: HaspCode 7-3

♦ 0 – Aucune clé HASP connectée à l'ordinateur♦ 1 – Une clé HASP de type quelconque a été trouvée

Par 3: Status - Un code indiquant le résultat de l'opération (reportez-vous auchapitre 11 pour connaître les valeurs possibles).

Service 2: HaspCode

Description

Détermine les Codes de Retour (Return Codes) pour un Seed Code(germe) donné.

Clés Utilisables

HASP-3, MemoHASP-1, MemoHASP-4, TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 2SeedCode: Un entier compris entre 0 et 65535.LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe HASP.Password2: Second Mot de Passe HASP.

Valeurs de Retour

Par1: Return Code 1Par2: Return Code 2

Page 114: Manuel Hasp

7-4 Services de Base de l’API HASP

Par3: Return Code 3Par4: Return Code 4

Commentaires

♦ Utilisez le service HaspCode pour vérifier qu'une clé HASP avecles mots de passe spécifiés est connectée à l'ordinateur. Passez leSeed Code voulu à la routine hasp( ), et vérifiez que les ReturnCodes sont ceux attendus.

♦ Différents Seed Codes renvoient des Return Codes différents. LesReturn Codes sont définis par le Code Développeur HASP et leSeed Code.

CUtilisez le programme HaspEdit pour vérifier les Return Codespour un Seed Code donné.

Service 5: HaspStatus

Description

Vérifie le type de clé HASP connecté à l'ordinateur. Vérifie égalementsur quel port parallèle est connectée la clé.

Clés Utilisables

HASP-3, MemoHASP-1, MemoHASP-4, TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 5LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.

Page 115: Manuel Hasp

Service 5: HaspStatus 7-5

Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe HASP.Password2: Second Mot de Passe HASP.

Valeurs de Retour

Par1: Taille de la Mémoire♦ 1 – MemoHASP-1♦ 4 – MemoHASP-4♦ 0 – autres clés

Par2: Type de clé HASP♦ 0 – HASP-3♦ 1 – MemoHASP-1 ou MemoHASP-4♦ 3 – TimeHASP♦ 5 – TimeHASP-4

Par3: LptNum Actuel – Numéro du port parallèle sur lequel est connectéela clé HASP.

Commentaires

♦ Pour minimiser le temps de recherche, utilisez la valeur reçuedans le paramètre Par3 dans les appels suivants à la routinehasp( ).

♦ Si une clé NetHASP est connectée sur le port parallèle local, leservice HaspStatus l'identifie comme une clé MemoHASP-4.

Page 116: Manuel Hasp

7-6 Services de Base de l’API HASP

Page 117: Manuel Hasp

8-1

Chapitre 8 - Services API MemoHASPIl y a deux lignes pour chacun des services ci-dessous :

♦ La ligne d'appel, A, indique les paramètres que vous devez passerà la routine hasp( ).

♦ La ligne de retour, R, indique les paramètres que la routine hasp() renvoie.

Note: ♦ La signification des paramètres Par1, Par2, Par3 et Par4change selon le service.

♦ Tous les paramètres sont en 16 bits dans des applications16-bit.

♦ Tous les paramètres sont en 32 bits dans des applications32-bit.

Page 118: Manuel Hasp

8-2 Services API MemoHASP

Tableau 8.1: Services MemoHASPet les paramètres de la routine hasp( )

Service(Numéro du Service)

SeedCode

LptNum Password1 Password2 Par1 Par2 Par3 Par4

A ReadWord (3) LptNum Password1 Password2 Adresse

R Données Etat

A WriteWord (4) LptNum Password1 Password2 Adresse Données

R Etat

A HaspID (6) LptNum Password1 Password2

R IDLow IDHigh Etat

A ReadBlock (50) LptNum Password1 Password2 AdresseDépart

Longueur dubloc

*Segment duBuffer

Offset duBuffer

R Etat

A WriteBlock (51) LptNum Password1 Password2 AdresseDépart

Longueur dubloc

*Segment duBuffer

Offset duBuffer

R Etat

* Vous n’avez pas besoin du Segment du Buffer pour des applications 32-bit.

Service 3: ReadWord

Description

Lit un mot de données dans la mémoire de la clé HASP.

Clés Utilisables

MemoHASP-1, MemoHASP-4, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 3

Page 119: Manuel Hasp

Service 4: WriteWord 8-3

LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la cléHASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe HASP.Password2: Second Mot de Passe HASP.Par1: Adresse – L'adresse de la mémoire Hasp à laquelle vous désirez lire

les données :♦ 0 à 55 – MemoHASP-1♦ 0 à 247 – MemoHASP-4♦ 0 à 247 – TimeHASP-4

Valeurs de Retour

Par2: Données – Un mot de données lues de la mémoire HASP.Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurs

possibles au chapitre 11).

Service 4: WriteWord

Description

Ecrit un mot de données dans la mémoire de la clé HASP.

Clés Utilisables

MemoHASP-1, MemoHASP-4, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 4LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe HASP.

Page 120: Manuel Hasp

8-4 Services API MemoHASP

Password2: Second Mot de Passe HASP.Par1: Adresse – L'adresse de la mémoire à laquelle vous désirez écrire :

♦ 0 à 55 – MemoHASP-1♦ 0 à 247 – MemoHASP-4♦ 0 à 247 – TimeHASP-4

Par2: Données – Un mot de données.

Valeurs de Retour

Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurspossibles au chapitre 11).

Service 6: HaspID

Description

Determine the HASP ID Number.

Clés Utilisables

MemoHASP-1, MemoHASP-4, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 6LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe HASP.Password2: Second Mot de Passe HASP.

Valeurs de Retour

Par1: IDLow – Mot faible (le moins significatif) du Numéro d'Identification.Par2: IDHigh – Mot fort (le plus significatif) du Numéro d'Identification.Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurs

Page 121: Manuel Hasp

Service 50: ReadBlock 8-5

possibles au chapitre 11).

Commentaires

Le Numéro d'Identification est un entier long (32 bits). Vous pouvez lecalculer de la manière suivante :

Numéro d'Identification = IDLow + 65536 * IDHigh,

où IDLow et IDHigh sont des entiers non signés.

Service 50: ReadBlock

Description

Lit un bloc de données de la mémoire de la clé HASP.

Clés Utilisables

MemoHASP-1, MemoHASP-4, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Parameters Used

Service: 50LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe HASP.Password2: Second Mot de Passe HASP.Par1: Adresse de Départ – Défini l'adresse initiale de la mémoire HASP

pour la lecture du bloc de données :♦ 0 à 55 – MemoHASP-1♦ 0 à 247 – MemoHASP-4♦ 0 à 247 – TimeHASP-4

Par2: Longueur du Bloc – La taille du bloc en mots.Par3: Segment du Buffer – Segment de l'adresse d'un buffer (variable).

Page 122: Manuel Hasp

8-6 Services API MemoHASP

Vous n'avez pas besoin de spécifier le Segment du Buffer dans uneapplication 32-bit.

Par4: Offset du Buffer – Offset de l'adresse d'un buffer (variable).La taille du buffer doit être au moins aussi grande que la taille du bloc.

Valeurs de Retour

Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurspossibles au chapitre 11).

Résultat

Le contenu de la mémoire HASP est placé dans le buffer.

Service 51: WriteBlock

Description

Ecrit un bloc de données dans la mémoire de la clé HASP.

Clés Utilisables

MemoHASP-1, MemoHASP-4, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 51LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe HASP.Password2: Second Mot de Passe HASP.Par1: Adresse de Départ – Défini l'adresse initiale de la mémoire HASP

pour la lecture du bloc de données :♦ 0 à 55 – MemoHASP-1♦ 0 à 247 – MemoHASP-4

Page 123: Manuel Hasp

Service 51: WriteBlock 8-7

♦ 0 à 247 – TimeHASP-4Par2: Longueur du Bloc – La taille du bloc en mots.Par3: Segment du Buffer – Segment de l'adresse d'un buffer (variable).

Vous n'avez pas besoin de spécifier le Segment du Buffer dans uneapplication 32-bit.

Par4: Offset du Buffer – Offset de l'adresse d'un buffer (variable).La taille du buffer doit être au moins aussi grande que la taille du bloc.

Valeurs de Retour

Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurspossibles au chapitre 11).

Résultat

Le contenu du buffer est écrit dans la mémoire HASP.

Page 124: Manuel Hasp

8-8 Services API MemoHASP

Page 125: Manuel Hasp

9-1

Chapitre 9 - Services TimeHASP APIIl y a deux lignes pour chacun des services ci-dessous :

♦ La ligne d'appel, A, indique les paramètres que vous devez passerà la routine hasp( ).

♦ La ligne de retour, R, indique les paramètres que la routine hasp() renvoie.

Note: ♦ La signification des paramètres Par1, Par2, Par3 et Par4change selon le service.

♦ Tous les paramètres sont en 16 bits dans des applications16-bit.

♦ Tous les paramètres sont en 32 bits dans des applications32-bit.

Page 126: Manuel Hasp

9-2 Services TimeHASP

Tableau 9.1: Services TimeHASP et les paramètres de la routine hasp( )

Service(Service Number)

SeedCode

LptNum Password1 Password2 Par1 Par2 Par3 Par4

A SetTime (70) LptNum Password1 Password2 Seconde Minute Heure

R Etat

A GetTime (71) LptNum Password1 Password2

R Seconde Minute Etat Heure

A SetDate (72) LptNum Password1 Password2 Jour Mois Année

R Etat

A GetDate (73) LptNum Password1 Password2

R Jour Mois Etat Année

A WriteByte (74) LptNum Password1 Password2 Adresse Donnée

R Etat

A ReadByte (75) LptNum Password1 Password2 Adresse

R Donnée Etat

A WriteBlock (76) LptNum Password1 Password2 AdresseDépart

Long. dubloc

*SegmentBuffer

OffsetBuffer

R Etat

A ReadBlock (77) LptNum Password1 Password2 AdresseDépart

Long. duBloc

*Segment duBuffer

OffsetBuffer

R Etat

A GetHaspID (78) LptNum Password1 Password2

R IDLow IDHigh Etat

* Vous n’avez pas besoin du Segment du Buffer pour des applications 32-bit.

Page 127: Manuel Hasp

Service 70: SetTime 9-3

Service 70: SetTime

Description

Règle l'heur ede l'horloge temps-réel de la TimeHASP.

Clés Utilisables

TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 70LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe TimeHASP.Password2: Second Mot de Passe TimeHASP.Par1: Seconde – Secondes de l'heure que vous voulez définir (00 à 59).Par2: Minute – Minutes de l'heure que vous voulez définir (00 à 59).Par4: Heure – Heures de l'heure que vous voulez définir (00 à 23).

Valeurs de Retour

Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurspossibles au chapitre 11).

Page 128: Manuel Hasp

9-4 Services TimeHASP

Service 71: GetTime

Description

Lit l'heure de l'horloge temps-réel TimeHASP.

Clés Utilisables

TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 71LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe TimeHASP.Password2: Second Mot de Passe TimeHASP.

Valeurs de Retour

Par1: Seconde – Secondes lues de l'horloge TimeHASP.Par2: Minute – Minutes lues de l'horloge TimeHASP.Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurs

possibles au chapitre 11).Par4: Heure – Heures lues de l'horloge TimeHASP.

Page 129: Manuel Hasp

Service 72: SetDate 9-5

Service 72: SetDate

Description

Règle la date de l'horloge temps-réel TimeHASP.

Clés Utilisables

TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 72LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe TimeHASP.Password2: Second Mot de Passe TimeHASP.Par1: Jour – Jour de la date à définir dans l'horloge TimeHASP (1 à 31).Par2: Mois – Mois de la date à définir dans l'horloge TimeHASP (1 à 12).Par4: Année – Année de la date à définir dans l'horloge TimeHASP (0 à 99).

Valeurs de Retour

Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurspossibles au chapitre 11).

Commentaires

La valeur de l'année est comprise entre 0 et 99, où 92 à 99 faitréférence à 1992-1999 et 00 à 91 à 2000-2091.

Page 130: Manuel Hasp

9-6 Services TimeHASP

Service 73: GetDate

Description

Lit la date de l'horlge temps-réel TimeHASP.

Clés Utilisables

TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 73LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe TimeHASP.Password2: Second Mot de Passe TimeHASP.

Valeurs de Retour

Par1: Jour – Jour de la date lue dans l'horloge TimeHASP (1 à 31).Par2: Mois – Mois de la date lue dans l'horloge TimeHASP (1 à 12).Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurs

possibles au chapitre 11).Par4: Année – Année de la date lue dans l'horloge TimeHASP (0 à 99).

Commentaires

La valeur de l'année est comprise entre 0 et 99, où 92 à 99 faitréférence à 1992-1999 et 00 à 91 à 2000-2091.

Page 131: Manuel Hasp

Service 74: WriteByte 9-7

Service 74: WriteByte

Description

Ecrit un octet de données dans la mémoire de la TimeHASP .

Clés Utilisables

TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 74LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe TimeHASP.Password2: Second Mot de Passe TimeHASP.Par1: Adresse – L'adresse de la mémoire TimeHASP à laquelle vous désirez

écrire (0 à 15).Par2: Données – Un octet de données.

Valeurs de Retour

Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurspossibles au chapitre 11).

Commentaires

Ce service écrit dans les 16 octets de mémoire de la TimeHASP etTimeHASP-4. Pour écrire dans les 248 mots de mémoire d'uneTimeHASP-4, utilisez le service MemoHASP numéro 4.

Page 132: Manuel Hasp

9-8 Services TimeHASP

Service 75: ReadByte

Description

Lit un octet de données de la mémoire TimeHASP.

Clés Utilisables

TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 75LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe TimeHASP.Password2: Second Mot de Passe TimeHASP.Par1: Adresse – L'adresse de la mémoire TimeHASP à laquelle vous désirez

lire (0 à 15).

Valeurs de Retour

Par2: Données – Un octet de données lues de la mémoire TimeHASP.Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurs

possibles au chapitre 11).

Commentaires

Ce service lit dans les 16 octets de mémoire de la TimeHASP etTimeHASP-4. Pour lire dans les 248 mots de mémoire d'uneTimeHASP-4, utilisez le service MemoHASP numéro 3.

Page 133: Manuel Hasp

Service 76: WriteBlock 9-9

Service 76: WriteBlock

Description

Ecrit un bloc de données dans la mémoire TimeHASP.

Clés Utilisables

TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 76LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe TimeHASP.Password2: Second Mot de Passe TimeHASP.Par1: Adresse de Départ – Défini l'adresse initiale de la mémoire

TimeHASP d'écriture du bloc (0 à 15).Par2: Longueur du Bloc – Taille, en octets, du bloc de données (maximum

16).Par3: Segment du Buffer – Segment de l'adresse d'un buffer (variable).

Vous n'avez pas à définir le Segment du Buffer dans une application32-bit.

Par4: Offset du Buffer – Offset de l'adresse d'un buffer (variable).La taille du buffer doit être au moins égale à celle du bloc.

Valeurs de Retour

Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurspossibles au chapitre 11).

Resultat

Le contenu du buffer est écrit dans la mémoire HASP.

Page 134: Manuel Hasp

9-10 Services TimeHASP

Commentaires

Ce service écrit un bloc dans les 16 octets de mémoire de la TimeHASPet TimeHASP-4. Pour écrire un bloc dans les 248 mots de mémoired'une TimeHASP-4, utilisez le service MemoHASP numéro 51.

Page 135: Manuel Hasp

Service 77: ReadBlock 9-11

Service 77: ReadBlock

Description

Lit un bloc de données de la mémoire TimeHASP.

Clés Utilisables

TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 77LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe TimeHASP.Password2: Second Mot de Passe TimeHASP.Par1: Adresse de Départ – Défini l'adresse initiale de la mémoire

TimeHASP de lecture du bloc (0 à 15).Par2: Longueur du Bloc – Taille, en octets, du bloc de données (maximum

16).Par3: Segment du Buffer – Segment de l'adresse d'un buffer (variable).

Vous n'avez pas à définir le Segment du Buffer dans une application32-bit.

Par4: Offset du Buffer – Offset de l'adresse d'un buffer (variable).La taille du buffer doit être au moins égale à celle du bloc.

Valeurs de Retour

Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurspossibles au chapitre 11).

Resultat

Le contenu de la mémoire HASP lue est placé dans le buffer.

Page 136: Manuel Hasp

9-12 Services TimeHASP

Commentaires

Ce service lit un bloc des 16 octets de mémoire de la TimeHASP etTimeHASP-4. Pour lire un bloc des 248 mots de mémoire d'uneTimeHASP-4, utilisez le service MemoHASP numéro 50.

Page 137: Manuel Hasp

Service 78: GetHaspID 9-13

Service 78: GetHaspID

Description

Détermine le Numéro d'Identification TimeHASP.

Clés Utilisables

TimeHASP, TimeHASP-4

Syntaxe

hasp (Service, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 78LptNum: Valeur indiquant le port parallèle sur lequel il faut chercher la clé

HASP.Valeur recommandée: 0 (voir le paragraphe “Spécifier le Port” auchapitre 6 pour une liste des valeurs possibles).

Password1: Premier Mot de Passe TimeHASP.Password2: Second Mot de Passe TimeHASP.

Valeurs de Retour

Par1: IDLow – Mot faible (le moins significatif) du Numéro d'Identification.Par2: IDHigh – Mot fort (le plus significatif) du Numéro d'Identification.Par3: Etat – Un code indiquant l'état de l'opération (voir les valeurs possibles

au chapitre 11).

Commentaires

Le Numéro d'Identification est un entier long (32 bits). Vous pouvez lecalculer de la manière suivante :

Numéro d'Identification = IDLow + 65536 * IDHigh,

où IDLow et IDHigh sont des entiers non signés.

Page 138: Manuel Hasp

9-14 Services TimeHASP

Page 139: Manuel Hasp

10-1

Chapitre 10 - Services de l’API NetHASPIl y a deux lignes pour chacun des services ci-dessous :

♦ La ligne d'appel, A, indique les paramètres que vous devez passerà la routine hasp( ).

♦ La ligne de retour, R, indique les paramètres que la routinehasp( ) renvoie.

Note: ♦ La signification des paramètres Par1, Par2, Par3 et Par4change selon le service.

♦ Tous les paramètres sont en 16 bits dans des applications16-bit.

♦ Tous les paramètres sont en 32 bits dans des applications32-bit.

Page 140: Manuel Hasp

10-2 Services de l’API NetHASP

Tableau 10.1: Services NetHASP et les paramètres de la routine hasp( )

Service(Numéro Service)

SeedCode

ProgNum Password1 Password2 Par1 Par2 Par3 Par4

C LastStatus (40)

R NetStatus

ErreurSystème

C HaspCode (41) Seed Code ProgNum Password1 Password2

R ReturnCode 1

ReturnCode 2

ReturnCode 3

ReturnCode 4

C LOGIN (42) Seed Code ProgNum Password1 Password2

R ReturnCode1

ReturnCode2

ReturnCode3

ReturnCode4

C LOGOUT (43) ProgNum Password1 Password2

R

C ReadWord (44) ProgNum Password1 Password2 Adresse

R Data Status

C WriteWord (45) ProgNum Password1 Password2 Adresse Data

R Status

C HaspID (46) ProgNum Password1 Password2

R IDLow IDHigh Status

C IdleTime (48) Idle Time ProgNum Password1 Password2

R

C ReadBlock (52) ProgNum Password1 Password2 StartAddress

BlockLength

*BufferSegment

BufferOffset

R Status

C WriteBlock (53) ProgNum Password1 Password2 StartAddress

BlockLength

*BufferSegment

BufferOffset

R Status

Page 141: Manuel Hasp

Service 40: LastStatus 10-3

C SetConfigFilename (85) BufferSize

*BufferSegment

BufferOffset

R

C SetServerByName (96) BufferSize

*BufferSegment

BufferOffset

R

* Le paramètre Buffer Segment n'est pas nécessaire pour des applications 32-bit.

Page 142: Manuel Hasp

10-4 Services de l’API NetHASP

Service 40: LastStatus

Description

Vérifie l'état du précédent appel à la routine hasp( ). Appelez la routinehasp( ) avec le service LastStatus après tout appel à un serviceNetHASP.

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, SeedCode, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 40

Valeurs de Retour

Par1: Net Status – Un code indiquant l'état du précédent appel à la routinehasp( ).♦ 0 – précédent appel correctement effectué.♦ Sinon– agir selon le code d'erreur indiqué (voir chapitre 11 pour les

différents codes d'erreur possibles).Par2: System Error – Un code d'erreur dépendant du contexte.

Par exemple :♦ Une erreur de communication NetBIOS renvoie un code d'erreur

NetBIOS précis.♦ Une erreur de Fichier de Configuration NetHASP renvoie le

numéro de la ligne à laquelle l'erreur se trouve l'erreur.

Commentaires

Si une erreur survient, votre programme doit afficher les deux codesd'erreur Net Status et System Error.

Page 143: Manuel Hasp

Service 41: HaspCode 10-5

Service 41: HaspCode

Description

Détermine les Codes de Retour pour un Seed Code (germe) donné.

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, SeedCode, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 41SeedCode: Un entier compris entre 0 et 65535.ProgNum: Le numéro assigné à l'application dans la mémoire NetHASP via le

programme HaspEdit (voir chapitre 13).Password1: Premier Mot de Passe NetHASP.Password2: Second Mot de Passe NetHASP.

Valeurs de Retour

Par1: Return Code 1Par2: Return Code 2Par3: Return Code 3Par4: Return Code 4

Commentaires

♦ Utilisez le HaspCode pour vérifier si votre clé NetHASP estconnectée à un Gestionnaire de Licence NetHASP. Passez les SeedCode à la routine hasp( ) et vérifiez que les Codes de Retour sontceux attendus.

♦ Des Seed Codes différents renvoient des Codes de Retourdifférents. Les Codes de Retour sont déterminés par le CodeDéveloppeur HASP et le Seed Code.

Page 144: Manuel Hasp

10-6 Services de l’API NetHASP

CUtilisez le programme HaspEdit pour vérifier les Codes de Retourpour un Seed Code donné.

Page 145: Manuel Hasp

Service 42: LOGIN 10-7

Service 42: LOGIN

Description

Effectue un LOGIN NetHASP. L'application protégée accède auGestionnaire de Licence NetHASP et requiert une licence.

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, SeedCode, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 42SeedCode: Un entier compris entre 0 et 65535.ProgNum: Le numéro assigné à l'application dans la mémoire NetHASP via le

programme HaspEdit (voir chapitre 13).Password1: Premier Mot de Passe NetHASP.Password2: Second Mot de Passe NetHASP.

Valeurs de Retour

Par1: Return Code 1Par2: Return Code 2Par3: Return Code 3Par4: Return Code 4

Commentaires

♦ Reportez-vous au chapitre 3 pour une description du processus deLOGIN.

♦ Exceptés pour les services SetConfigFilename, SetServerByNameet LastStatus, vous devez effectuer un LOGIN avant l'utilisationdes autres services.

♦ Le Seed Code passé à la routine hasp( ) durant le service LOGINpermet le renvoi de quatre Codes de Retour. Différents Seed Codesrenvoient des Codes de Retour différents. Dans votre application,

Page 146: Manuel Hasp

10-8 Services de l’API NetHASP

vérifiez que les quatre Codes de Retour sont bien ceux attendus.

♦ Si vous appelez la routine hasp( ) plus d'une fois avec le serviceLOGIN sur la même station, le Gestionnaire de Licence NetHASPn'enregistrera pas plusieurs la station et l'application dans la Tablede Connexion. Cela signifie que le Gestionnaire de LicenceNetHASP ne fournira pas une licence supplémentaire à cetteapplication.

♦ Lorsque vous relancez une application avec un plantage machine,l'application est déjà dans la Table de Connexion et le Gestionnairede Licence NetHASP ne lui attribuera pas une autre licence.

♦ Avec le protocole NetBIOS, toute processus Win32 sous WindowsNT ou Windows 95 effectue un LOGIN séparé et reçoit une licencedistincte.

Page 147: Manuel Hasp

Service 43: LOGOUT 10-9

Service 43: LOGOUT

Description

Effectue un LOGOUT NetHASP. Lorsque vous appelez la routinehasp( ) avec le service LOGOUT, le Gestionnaire de Licence NetHASPsupprime la station et l'application de la Table de Connexion, libérantainsi une licence.

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, SeedCode, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 43ProgNum: Le numéro assigné à l'application dans la mémoire NetHASP via le

programme HaspEdit (voir chapitre 13).Password1: Premier Mot de Passe NetHASP.Password2: Second Mot de Passe NetHASP.

Valeurs de Retour

Aucune

Commentaires

♦ Voir le chapitre 3 pour la description du processus de LOGOUT.

♦ Si vous n'effectuez pas de LOGOUT NetHASP, la station etl'application resteront dans la Table de Connexion NetHASP. Celasignifie que :

a. Le nombre de stations exécutant l'application à un momentdonné restera inchangé et aucune licence ne sera libérée. Sivous avez déterminé que l'application ne pouvait fonctionnerque sur n stations, et que n stations ont effectué un LOGINNetHASP, aucune autre station ne pourra exécuterl'application jusqu'à ce qu'une de ces n ait effectué unLOGOUT NetHASP.

Page 148: Manuel Hasp

10-10 Services de l’API NetHASP

b. Si une station lance l’application une seconde fois, elle tourneraen utilisant la même licence déjà attribuée.

♦ Plusieurs instances d'une application Windows protégée effectuentdes appels multiples au service LOGIN – un LOGIN par instance.La licence ne sera libérée (la station et l'application serontsupprimées de la Table de Connexion) que si toutes les instanceseffectuent un appel au service LOGOUT.

Page 149: Manuel Hasp

Service 44: ReadWord 10-11

Service 44: ReadWord

Description

Lit un mot de données de la mémoire NetHASP.

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, SeedCode, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 44ProgNum: Le numéro assigné à l'application dans la mémoire NetHASP via le

programme HaspEdit (voir chapitre 13).Password1: Premier Mot de Passe NetHASP.Password2: Second Mot de Passe NetHASP.Par1: Address – L'adresse de la mémoire NetHASP qui sera lue (valeur de 0

à 247).

Valeurs de Retour

Par2: Data – Données lues de la mémoire NetHASP.Par3: Status – Un code indiquant l'état de l'opération sur la mémoire (voir le

chapitre 11 pour les valeurs possibles).

Page 150: Manuel Hasp

10-12 Services de l’API NetHASP

Service 45: WriteWord

Description

Ecrit un mot de données dans la mémoire NetHASP .

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, SeedCode, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 45ProgNum: Le numéro assigné à l'application dans la mémoire NetHASP via le

programme HaspEdit (voir chapitre 13).Password1: Premier Mot de Passe NetHASP.Password2: Second Mot de Passe NetHASP.Par1: Address – L'adresse de la mémoire NetHASP où vous désirez écrire

(valeur de 0 à 247).Par2: Data – Un mot de données.

Valeurs de Retour

Par3: Status – Un code indiquant l'état de l'opération sur la mémoire (voir lechapitre 11 pour les valeurs possibles).

Commentaires

Les offsets 24 et plus de la mémoire NetHASP sont réservés pour laListe des Programmes NetHASP. Si vous écrivez à l'un de ces offsets,vous risquez d'écraser des paramètres de protection de l'applicationque vous avez sauvegardez dans cette zone de la mémoire.

Page 151: Manuel Hasp

Service 46: HaspID 10-13

Service 46: HaspID

Description

Détermine le Numéro d'Identification NetHASP.

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, SeedCode, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 48ProgNum: Le numéro assigné à l'application dans la mémoire NetHASP via le

programme HaspEdit (voir chapitre 13).Password1: Premier Mot de Passe NetHASP.Password2: Second Mot de Passe NetHASP.

Valeurs de Retour

Par1: IDLow – Mot de poids faible (le moins significatif) du Numérod'Identification.

Par2: IDHigh – Mot de poids fort (le plus significatif) du Numérod'Identification.

Par3: Status – Un code indiquant l'état de l'opération sur la mémoire (voir lechapitre 11 pour les valeurs possibles).

Commentaires

Le Numéro d'Identification est un entier long (32 bits). Vous pouvez lecalculer de la manière suivante :

ID Number = IDLow + 65536 * IDHigh,

où IDLow et IDHigh sont des entiers non signés

Page 152: Manuel Hasp

10-14 Services de l’API NetHASP

Service 48: IdleTime

Description

Contrôle que les stations n'utilisant plus une application protégée.Avec le service IdleTime, vous pouvez définir un laps de temps durantlequel une station doit accéder à la clé NetHASP afin de ne pas êtreconsidérée comme disponible. Si la station n'accède pas à la cléNetHASP durant ce laps de temps, le Gestionnaire de LicenceNetHASP considère cette station comme disponible.

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, IdleTime, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 48IdleTime: Un laps de temps en minutes (0 à 65535).

Une station que n'accède pas à la clé durant ce laps de temps estconsidérée comme disponible.

ProgNum: Le numéro assigné à l'application dans la mémoire NetHASP via leprogramme HaspEdit (voir chapitre 13).

Password1: Premier Mot de Passe NetHASP.Password2: Second Mot de Passe NetHASP.

Valeurs de Retour

Aucune

Commentaires

♦ Lorsque le nombre de station exécutant l'application protégée aatteint son maximum et qu'une autre station essaie de lancerl'application, le Gestionnaire de Licence NetHASP recherche dansla Table de Connexion une station disponible. Sil en trouve une, ilsupprime cette station de la Table de Connexion pour libérer unelicence.

Le Gestionnaire de Licence NetHASP peut ainsi attribuer cette

Page 153: Manuel Hasp

Service 48: IdleTime 10-15

licence à la nouvelle station. L'application protégée qui tournaitsur la station supprimée de la Table de Connexion renverra uncode d'erreur (erreur 135 ou 139) à la prochaine tentative d'accès àla clé NetHASP.

♦ Lorsqu'une station accède à la clé NetHASP durant le laps detemps défini, le compteur d'IdleTime est remis à zéro.

♦ Pour mettre en place le service IdleTime, appelez la routine hasp( )avec le service IdleTime juste après le service LOGIN. Si vous nedéfinissez pas de laps de temps, le Gestionnaire de LicenceNetHASP utilisera les durées suivantes :

Tableau 10.2: Durée du laps de temps par défaut pour les Gestionnaire de LicenceNetHASP

Gestionnaire de Licence NetHASP Durée par défaut

nhsrvwin.exe 36 heures

nhsrvwnt.exe 36 heures

haspserv.nlm 36 heures

nhsrvos2.exe 36 heures

haspserv.exe 24 heures

Page 154: Manuel Hasp

10-16 Services de l’API NetHASP

Service 52: ReadBlock

Description

Lit un bloc de données de la mémoire NetHASP.

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, SeedCode, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 52ProgNum: Le numéro assigné à l'application dans la mémoire NetHASP via le

programme HaspEdit (voir chapitre 13).Password1: Premier Mot de Passe NetHASP.Password2: Second Mot de Passe NetHASP.Par1: Start Address – Défini l'adresse mémoire NetHASP de départ de la

lecture du bloc (0 à 247).Par2: Block Size – Taille du bloc de données en mots (maximum 24 mots).Par3: Buffer Segment – Segment de l'adresse du buffer (variable).

Il n'est pas nécessaire de définir ce paramètre pour des applications32 bit.

Par4: Buffer Offset – Offset de l'adresse du buffer (variable).La taille du buffer doit être au moins aussi grande que le bloc.

Valeurs de Retour

Par3: Status – Un code indiquant l'état de l'opération sur la mémoire (voir lechapitre 11 pour les valeurs possibles).

Résultat

Le buffer contient les données contenues dans le bloc de mémoire lu.

Page 155: Manuel Hasp

Service 53: WriteBlock 10-17

Service 53: WriteBlock

Description

Ecrit un bloc de données dans la mémoire NetHASP.

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, SeedCode, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 53ProgNum: Le numéro assigné à l'application dans la mémoire NetHASP via le

programme HaspEdit (voir chapitre 13).Password1: Premier Mot de Passe NetHASP.Password2: Second Mot de Passe NetHASP.Par1: Start Address – Défini l'adresse mémoire NetHASP de début

d'écriture du bloc (0 à 247).Par2: Block Size – Taille du bloc (maximum 24 mots)Par3: Buffer Segment – Segment de l'adresse du buffer (variable).

Il n'est pas nécessaire de définir ce paramètre pour des applications32 bit.

Par4: Buffer Offset – Offset de l'adresse du buffer (variable).La taille du buffer doit être au moins aussi grande que le bloc.

Valeurs de Retour

Par3: Status – Un code indiquant l'état de l'opération sur la mémoire (voir lechapitre 11 pour les valeurs possibles).

Résultat

Le contenu du buffer est écrit dans la mémoire NetHASP.

Commentaires

Les offsets 24 et plus de la mémoire NetHASP sont réservés pour laListe des Programmes NetHASP. Si vous écrivez à l'un de ces offsets,

Page 156: Manuel Hasp

10-18 Services de l’API NetHASP

vous risquez d'écraser des paramètres de protection de l'applicationque vous avez sauvegardez dans cette zone de la mémoire.

Page 157: Manuel Hasp

Service 85: SetConfigFilename 10-19

Service 85: SetConfigFilename

Description

Définit le nom du Fichier de Configuration NetHASP. Le Fichier deConfiguration NetHASP contient les paramètres et personnalisationsde l'application protégée.

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, SeedCode, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 85Par2: Buffer Size – La taille en octets du buffer contenant le nom du Fichier

de Configuration NetHASP.Par3: Buffer Segment – Le segment de l'adresse du buffer contenant le

nom du Fichier de Configuration NetHASP.Il n'est pas nécessaire de définir ce paramètre pour des applications32 bit.

Par4: Buffer Offset – L'offset de l'adresse du buffer contenant le nom duFichier de Configuration NetHASP.

Valeurs de Retour

Aucun

Commentaires

Si vous utilisez le service SetConfigFilename, appelez-le avantd'effectuer un LOGIN NetHASP. Si vous n'utilisez pas le serviceSetConfigFilename, l'application protégée recherchera le fichiernethasp.ini.

Pour plus de détails sur le Fichier de Configuration NetHASP,reportez-vous à l'annexe �.

Page 158: Manuel Hasp

10-20 Services de l’API NetHASP

Service 96: SetServerByName

Description

Définit le nom d'un Gestionnaire de Licence NetHASP et indique àl'application protégée de communiquer avec le Gestionnaire de LicenceNetHASP indiqué.

Clés Utilisables

NetHASP

Syntaxe

hasp (Service, SeedCode, ProgNum , Password1, Password2, Par1, Par2, Par3, Par4)

Paramètres Utilisés

Service: 96Par2: Buffer Size – La taille en octets du buffer contenant le nom du

Gestionnaire de Licence NetHASP.Par3: Buffer Segment – Le segment de l'adresse du buffer contenant le nom

du Gestionnaire de Licence NetHASP.Il n'est pas nécessaire de définir ce paramètre pour des applications32 bit.

Par4: Buffer Offset – L'offset de l'adresse du buffer contenant le nom duGestionnaire de Licence NetHASP.

Valeurs de Retour

Aucune

Commentaires

♦ Appelez la routine hasp( ) avec le service SetServerByName avantd'effectuer un LOGIN NetHASP.

Pour nommer un Gestionnaire de Licence NetHASP, chargez-le avec leparamètre -srvname (voir annexe �). Lorsqu'une application appellela routine hasp( ) avec le service SetServerByName, la routine hasp( )recherche un Gestionnaire de Licence NetHASP avec le nom indiqué.Si elle en trouve un, elle stocke l'adresse du Gestionnaire de LicenceNetHASP. Lorsque l'application effectuera un LOGIN NetHASP, elleaccédera au Gestionnaire de Licence NetHASP à l'adresse

Page 159: Manuel Hasp

Service 96: SetServerByName 10-21

préalablement sauvegardée.♦ Le nom du Gestionnaire de Licence NetHASP peut comporter

jusqu'à sept caractères.

Page 160: Manuel Hasp

10-22 Services de l’API NetHASP

Page 161: Manuel Hasp

11-1

Chapitre 11 - Codes d’Etat de l’APILorsque vous utilisez l'API pour accéder à la clé HASP, la routinehasp( ) renvoie un code d'état dans le paramètre Par3. Les tableaux11.1, 11.2 et 11.3 contiennent l'ensemble des codes d'état retournés.

Tableau 11.1: Codes d’Etat – HASP-3, MemoHASP,TimeHASP-4 et NetHASP

Code Description

0 Opération réussie.

-1 Time-out: échec de l'opération d'écriture.

-2 L'adresse est hors zone.

-3 Impossible de trouver une clé HASP avec les mots de passe spécifiés.

-4 Une clé HASP a été trouvée, mais ce n'est pas une MemoHASP.

-5 Echec de l'opération d'écriture.

-999 Service invalide.

Tableau 11.2: codes d’Etat – TimeHASP et TimeHASP-4

Code Description

0 Opération réussie.

-20 Jour invalide.

-21 Mois invalide.

-22 Année invalide.

-23 Secondes invalides.

-24 Minutes invalides.

Page 162: Manuel Hasp

11-2 Codes d’Etat de l’API

Code Description

-25 Heures invalides.

-26 Adresse Invalide – l'adresse n'est pas dans l'intervalle 0 à 15.

-27 Time-out: échec de l'opération d'écriture.

-28 Clé HASP non trouvée avec les mots de passe spécifiés.

-29 Une clé HASP a été trouvée, mais ce n'est pas une TimeHASP.

Les codes d'état suivants sont réservés aux applications utilisant leGestionnaire de Périphérique HASP. Ces codes d'état sont en plus descodes listés dans les tableaux 11.1 et 11.2.

Page 163: Manuel Hasp

Codes LastStatus NetHASP 11-3

Tableau 11.3: Codes d’Etat – Applications utilisantle Gestionnaire de Périphérique HASP

Code Description

-100 Impossible d'ouvrir le Gestionnaire de Périphérique HASP (pour des applications Win32).

Installez le Gestionnaire de Périphérique HASP.

-101 Impossible de lire le Gestionnaire de Périphérique HASP (pour des applications Win32).

-102 Impossible de fermer le Gestionnaire de Périphérique HASP (pour des applications Win32)

-110 Impossible d'ouvrir le Gestionnaire de Périphérique HASP (pour des applications DOS, DOSextender et Windows tentant d'accéder au Gestionnaire de Périphérique HASP).

Installez le Gestionnaire de Périphérique HASP.

-111 Impossible de lire le Gestionnaire de Périphérique HASP (pour des applications DOS, DOSextender et Windows tentant d'accéder au Gestionnaire de Périphérique HASP).

-112 Impossible de fermer le Gestionnaire de Périphérique HASP (pour des applications DOS, DOSextender et Windows tentant d'accéder au Gestionnaire de Périphérique HASP).

-120 Impossible d'allouer de la mémoire DOS (pour des applications DOS extender et Windowsprotégées par des clés monopostes).

Essayez de libérer de la mémoire DOS.

-121 Erreur en libérant de la mémoire DOS (pour des applications DOS extender et Windowsprotégées par des clés monopostes).

Codes LastStatus NetHASPLorsque vous appelez la routine hasp( ) avec le service LastStatus, laroutine hasp( ) routine renvoie une code d'état dans le paramètre Par1(NetStatus), spécifiant l'état du précédent appel.

Si une erreur dépendant du contexte survient, vous la récupérez dansle paramètre Par2 (Erreur système) en utilisant le service LastStatus.

Les codes LastStatus sont divisés en deux groupes :

Page 164: Manuel Hasp

11-4 Codes d’Etat de l’API

♦ Les codes d'état de 1 à 127 indiquent une erreur decommunication entre l'application et le Gestionnaire de LicenceNetHASP, ou une erreur dans les paramètres passés à la routinehasp( ). La routine hasp( ) reconnaît ces erreurs même sansréponse du Gestionnaire de Licence NetHASP.

♦ Les codes d'état de 129 à 151 indiquent qu'une erreur est survenueaprès que la communication client-serveur se soit établie.

Le tableau 11.4 montre les valeurs possibles du paramètre Par1(NetStatus).

Tableau 11.4: codes d’Etat pour le service LastStatus NetHASP

Code Description

0 Opération réussie

1 Les protocoles IPX, NetBIOS ou TCP/IP n'ont pas été installés correctement – agissez enconséquence.

2 Erreur de communication – impossible d'obtenir un numéro de socket (pour les protocoles IPXet TCP/IP).

Vérifiez que ces protocoles sont installés correctement.

3 Erreur de communication.

NetBIOS – impossible d'établir une session.IPX – impossible d'obtenir une adresse immédiate du Gestionnaire de Licence NetHASP.Vérifiez que le protocole est correctement installé.TCP/IP – impossible de se connecter au serveur. Vérifiez que l'adresse du serveur est correcte.

4 Impossible de trouver un Gestionnaire de Licence NetHASP.

Vérifiez que votre application a accès au fichier d'adresse et avec droit en lecture.

5 Impossible de lire le fichier d'adresse du Gestionnaire de Licence NetHASP.

6 Impossible de fermer le fichier d'adresse du Gestionnaire de Licence NetHASP.

7 Erreur de communication – Impossible d'envoyer un paquet (pour les protocoles IPX etNetBIOS).

Vérifiez que les protocoles sont correctement installés.

Page 165: Manuel Hasp

Codes LastStatus NetHASP 11-5

Code Description

8 Pas de réponse de la part du Gestionnaire de Licence NetHASP.

IPX - le réseau est occupé ou des fichiers d'adresse incorrects ont été trouvés. Dans ce derniercas, supprimez tous les fichiers haspaddr.dat et newhaddr.dat.NetBIOS - le réseau est occupé.

10 Vous avez appelé la routine hasp( ) avec l'un des services sans avoir au préalable appelé leservice LOGIN.

11 Erreur de communication – erreur d'adaptateur (pour le protocole NetBIOS uniquement).

Vérifiez que le protocole est correctement installé.

15 Pas de Gestionnaire de Licence NetHASP actif.

18 Impossible d'effectuer un LOGIN NetHASP à cause d'un appel SetServerByName non réussi.

19 Erreur de syntaxe dans le fichier de configuration. Le service LastStatus a retourné le numérode la ligne en cause dans le paramètre Par2.

Si LastStatus a retourné 0 dans le paramètre Par2, il y a une variable d'environnement malinitialisée.

20 Erreur de gestion du Fichier de Configuration NetHASP. Le service LastStatus a retourné lecode d'erreur système dans le paramètre Par2.

21 Le système NetHASP n'a pas réussi à allouer de la mémoire. Cette erreur est spécifique desinterfaces NetHASP fonctionnant sous DOS extenders et Windows.

Essayez de libérer de la mémoire DOS.

22 Le système NetHASP n'a pas réussi à libérer de la mémoire DOS. Cette erreur est spécifiquedes interfaces NetHASP fonctionnant sous DOS extenders et Windows.

23 Adresse mémoire NetHASP invalide.

24 Service NetHASP invalide.

25 Echec de chargement de winsock.dll (sous protocole TCP/IP uniquement).

26 Echec de déchargement de winsock.dll (sous protocole TCP/IP uniquement).

28 Erreur de lancement de winsock.dll (sous protocole TCP/IP uniquement).

40 Services NetHASP non supportés.

Page 166: Manuel Hasp

11-6 Codes d’Etat de l’API

Code Description

129 La clé NetHASP n'est pas connectée au bon Gestionnaire de Licence NetHASP.

130 Le Numéro de Programme spécifié n'est pas dans la Liste des Programmes de la mémoireNetHASP.

131 Erreur de lecture de la mémoire NetHASP.

132 Erreur d'écriture de la mémoire NetHASP.

133 Le LOGIN actuel entraîne un dépassement du nombre autorisé de stations pouvant exécutersimultanément l'application.

134 Le LOGIN actuel entraîne un dépassement du nombre autorisé d'activation de l'application.

135 Vous avez appelé la routine hasp( ) avec le service LOGOUT sans avoir au préalable appelé leservice LOGIN.

136 Le Gestionnaire de Licence NetHASP est occupé – cela peut survenir si le système NetHASPn'est pas bien adapté au réseau.

137 Il n'y a plus de place dans la Table de Connexion.

138 Erreur interne NetHASP – le nombre de stations enregistrées est supérieur au nombre maximalde licences associé à ce modèle de clé NetHASP.

139 L'ordinateur avec la clé NetHASP a crashé et a été redémarré, ou vous avez appelé la routinehasp( ) avec un service (excepté les services 40, 85, ou 96) sans avoir au préalable fait unappel au service LOGIN.

140 Le Gestionnaire de Licence NetHASP ne gère pas le réseau de votre station.

141 Service invalide, ou une nouvelle version de l'API HASP communique avec une vieille versionde Gestionnaire de Licence NetHASP.

142 Impossible de trouver un Gestionnaire de Licence NetHASP avec le nom spécifié dans leFichier de Configuration NetHASP.

150 Aucun Gestionnaire de Licence NetHASP avec le nom assigné n'a pas été trouvé. Cette erreurest retournée par le service SetServerByName.

151 Plus de deux Gestionnaires de Licence NetHASP ont été trouvés avec le même nom. Cetteerreur est retournée par le service SetServerByName.

Page 167: Manuel Hasp

Codes LastStatus NetHASP 11-7

Cette liste est mise à jour en permanence. Pour en connaître ladernière version, reportez-vous au fichier d'aide du Gestionnaire deLicence NetHASP.

Page 168: Manuel Hasp

11-8 Codes d’Etat de l’API

Page 169: Manuel Hasp

12-1

Chapitre 12 - Sécurité par Motifs CodésLe système de Sécurité par Motifs Codés (Pattern Code Security -PCS) est une option puissante et évoluée qui peut être utilisée pourprotéger votre logiciel en complément de l'Enveloppe HASP et del'API. L'intégration du système PCS dans un programme augmente demanière significative le niveau de protection du programme.

Le système de Sécurité par Motifs Codés n'est actuellement disponibleque pour les applications DOS et Windows 32 bits.

Le système PCS ne peut être mis en oeuvre que si vous disposez ducode source du programme, si le programme est capable d'effectuerdes initialisations de variables pendant leur déclaration.

L'implémentation de PCS se fait en utilisant l'API HASP. C'estpourquoi nous vous recommandons d'abord de vous familiariser avecles fonctionnalités de l'API (voir chapitre 6).

Page 170: Manuel Hasp

12-2 Sécurité par Motifs Codés

Protection Conventionnelle et PCSLe système PCS contrecarre les tentatives des pirates désirantdétourner la protection incorporée dans votre application.

Toutes les procédures de protection, sauf les Enveloppes, revêtent laforme suivante :

1. Appel de la procédure de protection.

2. Vérification des résultats retournés.

3. Décision de l'action à prendre au cas où les résultats attendus ne soient pas retournés (sortie,message, boucle infinie, etc).

Cette forme est séquentielle, de sorte qu'un pirate peut les pisterrelativement facilement. Une fois pistée, la procédure de protectionpeut être contournée en éliminant ou en "recollant" les étapes de laséquence du programme protégé.

Le "collage" ou la modification du système de protection lui-mêmepeut s'avérer quasiment impossible, étant donné que diversesmesures ont été prises pour rendre cette opération aussi difficile quepossible. En revanche, l'élimination de la séquence d'appel peut êtrerelativement facile.

Par exemple :

Appel de la routine de protectionHASP

Peut être éliminé du programme.

Si Code de Retour = Code de Retourattendu

Peut être modifié en "différent de"

Alors sortie Peut être éliminé ou modifié en "ne rienfaire"

A l'inverse de la protection conventionnelle, le système PCS exécutedes processus multiples à chaque appel de la routine de protection

Page 171: Manuel Hasp

Structure d’un Motif 12-3

hasp( ). Différentes valeurs sont "magiquement" mises à jour endivers endroits du programme. Ultérieurement, ces valeurs peuventêtre vérifiées par d'autres procédures.

Si l'une des valeurs diffère des valeurs attendues à n'importe quelétape de l'exécution du programme, des mesures appropriées peuventêtre prises par le protecteur.

Structure d’un MotifUn motif est une structure spéciale, définie dans votre programme. Ilinclut une signature, un service HASP demandé, et les paramètresrequis pour la routine hasp( ).

Un motif est créé en définissant une structure (en langage C) ou unenregistrement (en langage Pascal), une chaîne (en Clipper) ou touteautre "structure" qui définit une zone continue en mémoire. Le motifdoit contenir les champs suivants :

Tableau 12.1: Structure d’un motif PCS

Champs Type Valeur

Signature 10 caractères $HASP$PCS$

Non utilisé 2 octets (Réservé)

Service entier* Nombre de servies hasp( ) demandés

Seed Code entier* Code Graine à envoyer à la routine ( )

Input 1 entier* 1er paramètre à envoyer à la routine hasp( )

Input 2 entier* 2e paramètre à envoyer à la routine hasp( )

Input 3 entier* 3e paramètre à envoyer à la routine hasp( )

Input 4 entier* 4e paramètre à envoyer à la routine hasp( )

Return 1 entier* Paramètre de retour numéro 1

Page 172: Manuel Hasp

12-4 Sécurité par Motifs Codés

Champs Type Valeur

Return 2 entier* Paramètre de retour numéro 1

Return 3 entier* Paramètre de retour numéro 1

Return 4 entier* Paramètre de retour numéro 1

* sur 2 octets pour les applications DOS, 4 octets pour les applications Windows 32bits

Mise en oeuvre du système PCS

Pour implémenter le système PCS :

1. Incorporation de motifs dans votre programme. Vous pouvezincorporer jusqu'à 25 motifs différents dans une application.

2. Incorporation d'au moins un appel à la routine hasp( ).

3. Insertion de vérifications dans votre code des valeurs de retourattendues pour chaque motif.

4. Compilation de votre programme source et lien avec l'API HASP.

5. Installation du système PCS : connectez une clé HASP à votreordinateur, puis

En utilisant l’outil d’Enveloppe DOS :

a) Saisissez le nom de votre application dans le champUnprotected Filename.

b) Appuyez sur la touche <F4> pour lancer la protection.

En utilisant l’outil d’Enveloppe Windows 32 bits :

a) Saisissez le nom de votre application dans le champProgram File to Protect.

b) Dans le zone Protection Methods, cochez l'option InstallPCS.

Page 173: Manuel Hasp

Mise en oeuvre du système PCS 12-5

c) Dans la zone Protection Methods, décochez l'option InstallHASP Envelope.

d) Cliquez sur l'icône Protect.

Note: ♦ Durant l'installation du système PCS, l'outil d'Enveloppesupprime les signatures de tous les motifs PCS.

♦ Après l'installation du système PCS, vous pouvez utilisezl'Enveloppe pour protéger votre application. Pour cela,suivez les instructions du chapitre 5.

♦ Vous ne pouvez pas installer le système PCS après avoirinstallé la protection par Enveloppe. Si vous avez déjàmis en place la protection par Enveloppe, créez unnouveau fichier exécutable avant d'installer le systèmePCS.

CLe répertoire pcs du Cédérom HASP contient des exemplesde mise à place du système PCS dans différents langages deprogrammation.

La Routine hasp( ) et le Système PCSDurant l'exécution de votre application protégée, tout appel à laroutine hasp( ) met à jour automatiquement tous les motifs inclusdans votre code.

Peu importe le service vous utilisez lorsque vous appelez la routinehasp( ), les paramètres de retour de chaque motif recevront desvaleurs à jour. Ces valeurs dépendent du service et des paramètresdéfinis dans chaque motif.

Incorporation et Vérification des MotifsIl est vivement recommandé de déclarer les motifs dans différentsendroits de votre programme. Les motifs ne sont pas obligatoirementdes variables globales, et peuvent être déclarés dans des fonctions.

Page 174: Manuel Hasp

12-6 Sécurité par Motifs Codés

Comme tous les motifs incorporés dans votre code sont mis à jouraprès chaque appel à la routine hasp( ), les vérifications des valeursde retour attendues doivent être réparties dans différents sous-programmes de votre application. De cette manière, le pistage de vosvérifications devient extrêmement difficile.

Note: Ne déclarez pas de motifs dans les overlays DOS.

Questions Fréquemment Posées (FAQ)Question: Je ne peux pas utiliser l'Enveloppe DOS pour protéger mon

application car je veux activer un mode de démonstrationsi la clé n'est pas présente.Comment puis-je installer le système PCS sans utiliserl'Enveloppe ?

Réponse: L’outil d’Enveloppe DOS a deux fonctions :

♦ Protéger vos fichiers exécutables

♦ Installer le système PCS

Ces deux fonctions sont totalement indépendantes, de ce fait, vouspouvez installer le système PCS sans mettre en place la protectionpar Enveloppe.

Lancez le programme d'Enveloppe, saisissez le nom de votreapplication dans le premier champ et pressez sur la touche <F4>.

Page 175: Manuel Hasp

13-1

Chapitre 13 - Le Programme HaspEditHaspEdit est un programme qui vous permet de :

♦ Vérifier les Codes de Retour de votre clé HASP pour un Seed Codedonné.

♦ Lire et Ecrire dans la mémoire HASP.

♦ Déterminer le Numéro d'Identification HASP.

♦ Modifier la mémoire HASP pour protéger plusieurs applicationsavec une seule clé HASP.

♦ Mettre à l'heure l'horloge temps-réel de la clé TimeHASP.

Note: Vous pouvez accéder à la clé HASP soit par l'API soit par leprogramme HaspEdit. Ce chapitre décrit le programmeHaspEdit.

Pour écrire votre propre programme HaspEdit avec l'API,reportez-vous au chapitre 6.

Lancement de HaspEdit

Pour exécuter le programme HaspEdit :

1. Connectez votre clé HAS P au port parallèle de l'ordinateur.

2. Lancez le programme HaspEdit selon votre système d'exploitation :

Page 176: Manuel Hasp

13-2 Le Programme HaspEdit

Tableau 13.1: Programme HaspEdit

Système d'Exploitation Programme HaspEdit

DOS haspedit.exe

Windows whedit.exe

Win32 whedit32.exe

Ce chapitre décrit le programme whedit.exe, le programme HaspEditpour Windows.

Attention

Ne connectez pas plusieurs clés HASP du même code lorsque vous accédez à lamémoire HASP. Cela peut causer la destruction des données contenues dans lamémoire de toutes les clés connectées.

Page 177: Manuel Hasp

Saisie des Mots de Passe 13-3

Saisie des Mots de PasseAvant d'utiliser le programme HaspEdit pour vérifier ou modifier laclé HASP, vous devez entrez les Mots de Passe associés à la clé HASP.

Pour saisir les Mots de Passe HASP :

1. Choisissez l'option Passwords du menu pour ouvrir la fenêtresuivante.

2. Entrez les Mots de Passe HASP dans les champs.

CSi vous êtes en cours d'évaluation sur système HASP avecune clé de démonstration, cliquez sur le bouton DEMO relatifà la clé dont vous disposez. pour entrez automatiquement lesmots de passe.

Vérification des Codes de RetourPour protéger votre application avec l'API HASP, vous devezconnaître les Codes de Retour attendus pour un Seed Code (Germe) etune clé HASP donnés. HaspEdit vous permet de déterminer les codesde Retour que votre clé HASP renvoie pour un Seed Code donné. Sivous ne désirez pas protéger votre application avec l'API HASP, vouspouvez passer ce chapitre.

Page 178: Manuel Hasp

13-4 Le Programme HaspEdit

Pour vérifier les Codes de Retour :

1. Choisissez l’option Return Codes dans la barre de menu. Lafenêtre HASP Return Codes s'affiche alors :

2. Dans le champ Seed Code, tapez un entier (de 0 à 65535) etcliquez sur le bouton OK. HaspEdit affiche quatre Codes de Retour.Les Codes de Retour sont des entiers 16-bit non signés.

Vérification du Numéro d'IdentificationChaque clé HASP à mémoire possède un Numéro d'Identificationunique vous permettant de distinguer chaque client. Vous pouvezincorporer une recherche d'un Numéro d'Identification précis avecl'API. Dans cette optique, vous devez d'abord déterminer le Numérod'Identification de la clé avec le programme HaspEdit.

Page 179: Manuel Hasp

Modifier la Mémoire d'une Clé MemoHASP ou TimeHASP-4 13-5

Pour vérifier le Numéro d'Identification d'une clé HAS P àmémoire :

♦ Choisissez l’option ID Number du menu Memory. Une fenêtrecontenant le Numéro d'Identification en format décimal ethexadécimal apparaît. le Numéro d'Identification est un entier32-bit non signé.

Modifier la Mémoire d'une Clé MemoHASP ouTimeHASP-4

Pour modifier les 248 mots de mémoire de la MemoHASP ou dela TimeHASP-4 :

1. Choisissez l’option Edit Memory du menu Memory pour ouvrirl'Editeur de Mémoire. L'Editeur de Mémoire contient une grillereprésentant la mémoire HASP. Avec l'Editeur de Mémoire, vouspouvez modifier les 56 mots de mémoire de la MemoHASP-1, et les248 mots de mémoire des clés MemoHASP-4 et TimeHASP-4.

Page 180: Manuel Hasp

13-6 Le Programme HaspEdit

La partie gauche de la grille représente le contenu de la mémoire en notationhexadécimale; la partie droite en ASCII. Une grille similaire apparaît lorsque vous modifierla mémoire des clés MemoHASP-4 ou TimeHASP-4.

2. Modifiez la mémoire. La grille contient les sections hexadécimale etASCII, vous pouvez ainsi entrer les données sous la forme que vouspréférez.

♦ Utilisez les flèches de direction ou la souris pour vous déplacerà travers la grille.

♦ Appuyez sur la touche <Tab> pour passer de la sectionhexadécimale à la section ASCII.

♦ Avec les clés MemoHASP-4 et TimeHASP-4, appuyez sur lestouches <PageUp> et <PageDown> pour changer de pagemémoire HASP.

3. Cliquez sur Write pour écrire dans la mémoire.

Page 181: Manuel Hasp

Modifier la Mémoire TimeHASP 13-7

Modifier la Mémoire TimeHASP

Pour modifier les 16 octets de la mémoire TimeHASP :

1. Choisissez l’option Edit Memory du menu Memory pour ouvrir lafenêtre de l'Editeur de Mémoire. L'Editeur de Mémoire contientune grille représentant les 16 octets de la mémoire TimeHASP.

2. Modifiez la mémoire. La grille contient les sections hexadécimale etASCII, vous pouvez ainsi entrer les données sous la forme que vouspréférez.

♦ Utilisez les flèches de direction ou la souris pour vous déplacerà travers la grille.

♦ Appuyez sur la touche <Tab> pour passer de la sectionhexadécimale à la section ASCII.

♦ Avec la TimeHASP-4, appuyez sur les touches <PageUp> et<PageDown> pour changer de page mémoire HASP.

3. Cliquez sur Write pour écrire dans la mémoire.

Page 182: Manuel Hasp

13-8 Le Programme HaspEdit

Modifier la Mémoire NetHASP

Pour modifier la mémoire NetHASP :

1. Choisissez l’option Edit Memory du menu Memory. La fenêtrequi s'ouvre contient dans sa partie supérieure la Liste desProgrammes NetHASP, et l'Editeur de Mémoire dans sa partieinférieure. L'Editeur de Mémoire contient une grille vousreprésentant les 24 mots de mémoire NetHASP.

Utilisez l'Editeur de Mémoire pour modifier la mémoire NetHASP. Le NetHASP ProgramList vous permet de personnaliser votre clé NetHASP (voir page Erreur! Signet nondéfini.).

2. Cliquez sur Edit Memory pour modifier la mémoire NetHASP enlecture/écriture.

Page 183: Manuel Hasp

Réglage de l'Horloge TimeHASP 13-9

3. Modifiez la mémoire. La grille contient les sections hexadécimale etASCII, vous pouvez ainsi entrer les données sous la forme que vouspréférez.

♦ Utilisez les flèches de direction ou la souris pour vous déplacerà travers la grille.

♦ Appuyez sur la touche <Tab> pour passer de la sectionhexadécimale à la section ASCII.

♦ Cliquez sur Write pour écrire dans la mémoire NetHASP.

Réglage de l'Horloge TimeHASPAvec les clés TimeHASP ou TimeHASP-4, HaspEdit vous permet demettre à l'heure l'horloge TimeHASP temps-réel. HaspEdit vouspermet de :

♦ Voir l'heure et la date actuelle.

♦ Modifier l'heure et la date de l'horloge TimeHASP.

Pour régler l'horloge TimeHASP :

1. Choisissez l’option Time and Date du menu. La fenêtre SetTimeHASP Clock apparaît, affichant l'heure et la date actuelle.

Page 184: Manuel Hasp

13-10 Le Programme HaspEdit

2. Entrez l'heure et la date désirée dans les champs correspondants.

♦ L'horloge TimeHASP utilise le format horaire sur 24 heures(00:00 à 23:59).

♦ Entrez la date au format américain : mm-jj-aa.

3. Cliquez sur Write pour sauvegarder l'heure et la date.

Personnalisation de NetHASPAvant de fournir votre application, utilisez le programme HaspEditpour personnaliser votre clé NetHASP. Vous personnalisez une cléNetHASP en définissant les paramètres de protection pour votre(vos)application(s).

Paramètres de Protection NetHASPVous pouvez définir trois paramètres pour chacune des applicationsprotégées par NetHASP : Numéro de Programme, Nombre de StationsLicenciées et Nombre de Lancements Autorisés.

Numéro de ProgrammeAssignez un nombre de 1 à 112 pour chaque application ou moduleque vous désirez protéger. Notez bien le nombre assigné à chaqueapplication, vous en aurez besoin pour accéder à la clé NetHASP avecl'API.

Avec le programme d'Enveloppe, vous utilisez le nombre pourindiquer quelle application vous êtes en train de protéger.

Page 185: Manuel Hasp

Personnalisation de NetHASP 13-11

Nombre de Stations LicenciéesLe nombre de stations licenciées est le nombre de stations du réseaupouvant exécuter l'application au même moment.

Définissez ce nombre pour chaque application. Sa valeur maximaledépend du modèle de clé NetHASP que vous utilisez.

Nombre de Lancements AutorisésLe nombre de lancements autorisés est le nombre total de lancementsde l'application protégée.

Le nombre de lancements est enregistré collectivement pourl'ensemble des stations du réseau. Cette option est utile si vous louezou distribuez des versions de démonstration de votre programme.

Définition des Paramètres de Protection NetHASP

Pour définir les paramètres de protection :

1. Choisissez l’option Edit Memory du menu Memory. La fenêtrequi s'ouvre contient dans sa partie supérieure la Liste desProgrammes NetHASP, et l'Editeur de Mémoire dans sa partieinférieure. L'Editeur de Mémoire contient une grille vousreprésentant les 24 mots de mémoire NetHASP. Utilisez laNetHASP Program List pour définir les paramètres de protection.

Page 186: Manuel Hasp

13-12 Le Programme HaspEdit

Le NetHASP Program List vous permet de personnaliser votre clé NetHASP Utilisezl'Editeur de Mémoire pour modifier la mémoire NetHASP(voir page 13-8).

2. Pour ajouter une nouvelle application dans la liste, cliquez sur lebouton Add. Pour modifier les paramètres d'une application déjàexistante, sélectionnez l'application et cliquez sur le bouton EditList.

3. Entrez le Numéro de Programme dans le champ ProgramNumber.

4. Entrez le Nombre de Stations Licenciées dans le champAuthorized Number of Stations.

Page 187: Manuel Hasp

Le Full Authorization System 13-13

Note: Le nombre maximum de stations licenciées apparaîtdans la NetHASP Program List. HaspEdit n'accepterapas une valeur supérieure à la valeur maximaleautorisée par la clé.

5. Entrez le nombre de lancements autorisés dans le champAuthorized Number of Activations (tapez <U> pour un nombrede lancements illimités). Après avoir appuyé sur la touche<Entrée>, les paramètres de protection apparaissent dans laNetHASP Program List.

6. Cliquez sur Write pour sauvegarder ces informations dans lamémoire NetHASP.

Le Full Authorization SystemLe Full Authorization System (FAS) est un outil puissant pour lesdéveloppeurs de logiciels qui désirent protéger plusieurs applicationsavec une seule clés HASP monoposte à mémoire. Pour plusd'informations sur le fonctionnement du système FAS, reportez-vousau chapitre 5.

Avec FAS, vous pouvez protéger jusqu'à :

♦ 16 applications avec une MemoHASP-1

♦ 112 applications avec une MemoHASP-4

♦ 8 applications avec une TimeHASP ou une TimeHASP-4

Utilisez le programme HaspEdit pour définir la liste des applicationsque vous désirez protéger avec la clé HASP.

Si vous utilisez le FAS avec la clé MemoHASP, vous pouvez limiter lenombre de lancements de l'application. Avec une clé TimeHASP ouTimeHASP-4, vous pouvez définir une date d'expiration pour chacunedes applications.

Page 188: Manuel Hasp

13-14 Le Programme HaspEdit

NoteNetHASP:

Cette section porte sur les clés MemoHASP, TimeHASP etTimeHASP-4. Avec une clé NetHASP, le FAS n'est pas uneoption, mais fait partie intégrante du système NetHASP. Enpersonnalisant votre clé NetHASP, vous mettez en place leFAS (voir page Erreur! Signet non défini.).

Définition de la Liste d'Autorisation FAS pour une cléMemoHASP

Pour définir la liste d'autorisation FAS pour une cléMemoHASP:

1. Choisissez l’option Full Authorization System du menuMemory. La fenêtre FAS Program List apparaît.

Page 189: Manuel Hasp

Le Full Authorization System 13-15

Utilisez la FAS Program List pour définir la liste d'autorisation FAS pour votre MemoHASP.L'Editeur de Mémoire contient des zones de mémoire non réservé pour le FAS (lespremiers 24 mots). Utilisez l'Editeur de Mémoire pour modifier cette zone de la mémoireMemoHASP.

2. Pour ajouter une nouvelle application dans la liste, cliquez sur lebouton Add. Pour modifier les paramètres d'une application déjàexistante, sélectionnez-la et cliquez sur le bouton Edit List.

3. Entrez le Numéro de Programme, utilisé pour protégerl'application avec l'Enveloppe, dans le champ Program Number.

4. Entrez le nombre de lancements autorisés dans le champAuthorized Number of Activations (tapez <U> pour un nombrede lancements illimités). Après avoir appuyé sur la touche<Entrée>, les paramètres de protection apparaissent dans la FASProgram List.

5. Cliquez sur Write pour sauvegarder ces informations dans lamémoire MemoHASP.

CSi vous utilisez le FAS et que vous désiriez sauvegarder desinformations dans la zone mémoire réservée pour le FAS (enutilisant l'Editeur de Mémoire standard décrit page 13-5),contactez votre distributeur HASP et demandez-lui leMemoHASP Memory Layout.

Définition de la Liste d'Autorisation FAS pour une cléTimeHASP ou TimeHASP-4

Pour définir la liste d'autorisation FAS pour une cléTimeHASP ou TimeHASP-4 :

1. Choisissez l’option Full Authorization System du menuMemory. La fenêtre TimeHASP FAS Program List apparaît.

Page 190: Manuel Hasp

13-16 Le Programme HaspEdit

2. Pour ajouter une nouvelle application dans la liste, cliquez sur lebouton Add. Pour modifier les paramètres d'une application déjàexistante, sélectionnez-la et cliquez sur le bouton Edit List.

3. Entrez le Numéro de Programme, utilisé pour protégerl'application avec l'Enveloppe, dans le champ Program Number.

4. Dans le champ Expiry Date, entrez la date du dernier lancementde cette application.

Note: ♦ Entrez la date au format américain : mm-jj-aa.

♦ entrez 0-0-0 pour une utilisation non limitée dans letemps.

♦ Les années autorisés vont de 0 à 99, où 92 à 99 faitréférence à 1992-1999, et 00 à 91 à 2000-2091.

♦ Les données sauvegardées dans la mémoire TimeHASPavec l'Editeur de Mémoire peut apparaître comme desdates invalides lorsque visualisées dans la fenêtre FASProgram List. si vous n'utilisez pas cette mémoire pour leFAS, vous pouvez ignorer le message de dates invalides.

6. Cliquez sur Write pour sauvegarde les informations dans lamémoire TimeHASP.

Page 191: Manuel Hasp

Le Full Authorization System 13-17

CSi vous utilisez le FAS et que vous désiriez sauvegarder desinformations dans la zone mémoire réservée pour le FAS (enutilisant l'Editeur de Mémoire standard décrit page 13-5),contactez votre distributeur HASP et demandez-lui leTimeHASP Memory Layout.

Page 192: Manuel Hasp

13-18 Le Programme HaspEdit

Page 193: Manuel Hasp

14-1

Chapitre 14 - Le Gestionnaire dePériphérique HASP

Le Gestionnaire de Périphérique HASP est une interface entre lesapplications protégées par le système HASP et les clés HASP. End'autres termes, les applications protégées communiquent avec lesclés HASP via le Gestionnaire de Périphérique HASP.

Le tableau 14.1 montre les applications utilisant le Gestionnaire dePériphérique HASP sous divers systèmes d'exploitation.

Page 194: Manuel Hasp

14-2 Le Gestionnaire de Périphérique HASP

Tableau 14.1: Applications utilisantle Gestionnaire de Périphérique HASP

Système d'Exploitation

Typed'Application

Windows(16-bit)

Win32s Windows 95 Windows NT

DOS optionnel optionnel requis requis

Windows(16-bit)

optionnel optionnel requis requis

Win32 requis requis requis

Lorsque la présence d'un Gestionnaire de Périphérique HASP estrequis, mais non installé, l'application protégée ne pourra pas trouverla clé HASP.

Lorsque le Gestionnaire de Périphérique HASP est optionnel, et qu'iln'est pas installé, l'application protégée communique directementavec la clé HASP. Pour augmenter les performances et éviter desconflits entre des périphériques utilisant le port parallèle (comme desimprimantes) et les accès à la clé HASP, il est recommandé d'installéle Gestionnaire de Périphérique HASP.

N'installez le Gestionnaire de Périphérique HASP que sur desordinateurs ayant une clé HASP connectée sur le port parallèle local.

NoteNetHASP:

En environnement réseau, n'installez le Gestionnaire dePériphérique HASP que sur la station à laquelle estconnectée la clé HASP.

Le Gestionnaire de Périphérique HASP est composé de plusieursgestionnaires. Les sections suivantes décrivent l'installation etl'emplacement des gestionnaires installés sous les différentsenvironnements.

Page 195: Manuel Hasp

Gestionnaire de Périphérique HASP pour Windows 14-3

Gestionnaire de Périphérique HASP pour WindowsLe Gestionnaire de Périphérique HASP pour Windows est composé ded'un seul fichier.

Fichier: hasp.386 (Gestionnaire de Périphérique VirtuelWindows)

Localisation après installation: Répertoire SYSTEM de Windows

Procédure d'Installation

♦ Exécutez le programme setup.exe (voir page 14-5).

Gestionnaire de Périphérique HASP pour Win32sLe Gestionnaire de Périphérique HASP pour Win32s est composé dedeux fichiers.

Fichier: hasp.386 (Gestionnaire de Périphérique VirtuelWindows)

Localisation après installation: Répertoire SYSTEM de Windows

Fichier: hasput16.dll (Universal Thunk DLL)Localisation après installation: Répertoire SYSTEM de Windows

Procédure d'Installation

♦ Exécutez le programme hinstall.exe (voir page 14-5).

Gestionnaire de Périphérique HASP pour Windows 95Le Gestionnaire de Périphérique HASP pour Windows 95 est composéd'un fichier.

Fichier: hasp95.vxd (Gestyonnaire de Périphérique Virtuel)Localisation après installation: Répertoire SYSTEM de Windows 95

Page 196: Manuel Hasp

14-4 Le Gestionnaire de Périphérique HASP

Procédure d'Installation

♦ Exécutez le programme hinstall.exe (voir page 14-5).

Gestionnaire de Périphérique HASP pour WindowsNT

Le Gestionnaire de Périphérique HASP pour Windows NT estcomposé de trois fichiers.

Fichier: haspnt.sys (Noyau du Gestionnaire dePériphérique)

Localisation après installation: Répertoire SYSTEM32\DRIVERS de Windows NT

Fichier: haspvdd.dll (Gestionnaire de Périphérique Virtuel)Localisation après installation: Répertoire SYSTEM32 de Windows NT

Fichier: haspdos.sys (Gestionnaire de Périphérique DOS)Localisation après installation: Répertoire SYSTEM32 de Windows NT

Note: Le Gestionnaire de Périphérique HASP supporte lessystèmes Windows NT tournant sur des ordinateurs multi-processeurs.

Procédure d'Installation

♦ Exécutez le programme hinstall.exe (voir page 14-5).

Note: ♦ Les applications Windows 32-bit Natif accèdent auNoyau du Gestionnaire de Périphérique.

♦ Les applications Windows 16 bit Natif utilisent leGestionnaire de Périphérique Virtuel qui lui-mêmeutilise le Noyau du Gestionnaire de Périphérique.

♦ Les applications DOS utilisent le Gestionnaire dePériphérique DOS. Les Gestionnaire de PériphériqueDOS utilise le Noyau du Gestionnaire de Périphérique

Page 197: Manuel Hasp

Le Programme Setup 14-5

via le Gestionnaire de Périphérique Virtuel.

Le Programme SetupLe programme Setup.exe est une application Win16 installant leGestionnaire de Périphérique pour Windows. Le lancement duprogramme Setup active le Setup Wizard, qui vous guidera durant laprocédure d'installation.

Le programme Setup reconnaît automatiquement le systèmed'exploitation utilisé et installe les bons fichiers aux bons endroits.

Vous pouvez trouver le programme setup.exe sur le CD HASP sans lerépertoire drivers\install\Win16. Avec le programme setup.exe, vousdevez fournir à vos clients tous les fichiers contenus dans le répertoiredrivers\install\Win16.

Pour installer, désinstaller ou mettre à jour le Gestionnaire dePériphérique HASP :

1. Fermez toutes les applications Windows.

2. Exécutez le programme setup.exe.

Le programme HinstallLe programme Hinstall.exe est une application Win32 permettantl'installation du Gestionnaire de Périphérique HASP sous Win32s,Windows 95 et Windows NT.

Vous pouvez trouver le programme hinstall.exe sur le CD HASP, dansle répertoire drivers\install\Win32. Vous devez fournir ce fichierhinstall.exe à vos clients.

Après le lancement du programme Hinstall, le Gestionnaire dePériphérique HASP est chargé dynamiquement sous Windows NT.

Page 198: Manuel Hasp

14-6 Le Gestionnaire de Périphérique HASP

Sous Windows 95 et Win32s, le Gestionnaire de Périphérique HASPne charge pas automatiquement, vous devez alors redémarrerl'ordinateur.

Le programme Hinstall reconnaît automatiquement le systèmed'exploitation et installe les bons fichiers aux bons endroits.

Le programme Hinstall reconnaît également le type d'ordinateur –IBM ou NEC. Cela permet à une application protégée de fonctionnersur une plate-forme IBM ou NEC sans modification.

Note: Pour utiliser le programme hinstall.exe sous Windows NT,vous devez avoir les droits Administrateur.

Pour installer le Gestionnaire de Périphérique HASP :

1. Exécutez le programme hinstall -i.

2. Sous Windows 95 et Win32s, redémarrez l'ordinateur.

Pour désinstaller le Gestionnaire de Périphérique HASP :

1. Exécutez le programme hinstall -r.

2. Sous Windows 95 et Win32s, redémarrez l'ordinateur.

Pour mettre à jour le Gestionnaire de Périphérique HASP :

1. Installez le nouveau Gestionnaire de Périphérique HASP.

2. Sous Windows 95 et Win32s, redémarrez l'ordinateur.

Note: Le programme hinstall possède de nombreuses options (voirhinstall.hlp, ou exécutez le programme hinstall -? pour plusd'informations).

Page 199: Manuel Hasp

Installation Personnalisée du Gestionnaire de Périphérique HASP 14-7

Installation Personnalisée du Gestionnaire dePériphérique HASP

Vous pouvez installer le Gestionnaire de Périphérique HASP pourWin32 selon l'une des deux méthodes suivantes :

♦ Exécutez le programme hinstall. Vous pouvez écrire un fichier decommande (fichier batch) pour effectuer l'installation et diffuser cefichier avec votre application.

♦ Installez le Gestionnaire de Périphérique HASP à partir de votreapplication en créant votre propre programme d'installation.

Vous pouvez effectuer l'installation via une DLL ou bibliothèque.L'installation personnalisée vous permet d'installer ou désinstaller leGestionnaire de Périphérique HASP à partir de votre applicationécrite en Win32 Natif.

Dans le répertoire drivers\Win32\install vous trouverez desinterfaces pour différents compilateurs. Le répertoire de chaqueinterface contient un exemple de programme d'installation nomméhidemo.c. Pour plus d'informations, reportez-vous au fichierhinstall.hlp.

Questions Fréquemment Posées (FAQ)Question: Une nouvelle version du Gestionnaire de Périphérique

HASP peut-elle fonctionner avec des anciennes versions del'Enveloppe et de l'API ?

Réponse: Oui, les nouvelles versions du Gestionnaire de Périphérique HASPsupportent les anciennes versions de l'API et de l'Enveloppe.Inversement, les nouvelles versions de l'API et de l'Envelopperequièrent les versions les plus récentes du Gestionnaire dePériphérique HASP.

Les API HASP antérieures à Mai 1995 ne peuvent utiliser le

Page 200: Manuel Hasp

14-8 Le Gestionnaire de Périphérique HASP

Gestionnaire de Périphérique HASP Driver.

Question: Comment savoir si un Gestionnaire de Périphérique HASPest installé sur l'ordinateur de mon client ?

Réponse: Exzcutez le programme hinstall /info. Hinstall affiche desinformations sur l'installation comme la date et le numéro deversion du Gestionnaire de Périphérique HASP.

Question: Le Gestionnaire de Périphérique HASP se charge-t'ildynamiquement ?

Réponse: Oui, sous Windows NT le Gestionnaire de Périphérique HASP secharge dynamiquement. Ce n'est pas le cas sous Windows 95 etWin32s; de ce fait, vous devez redémarrer l'ordinateur aprèsl'installation.

Question: Le Gestionnaire de Périphérique HASP supporte t'il lescommunications bi-directionelles ?

Réponse Oui. Le Gestionnaire de Périphérique HASP reconnaîtautomatiquement la configuration du port parallèle et adapteainsi son fonctionnement. Au cas où le Gestionnaire dePériphérique HASP ne reconnaîtrait pas le paramétrage du portparallèle, vous pouvez personnaliser l'installation desprogrammes Setup ou Hinstall en leur indiquant comment leGestionnaire de Périphérique HASP doit gérer le port parallèle.

Avec le programme Setup la personnalisation s'effectue encliquant sur le bouton Custom. Avec Hinstall, la personnalisationest effectuée à l'aide du paramètre -portmode.

Pour plus de détails sur le paramètre -portmode, veuillez vousreporter au fichier hinstall.hlp.

Page 201: Manuel Hasp

15-1

Chapitre 15 - Comment Assurer uneProtection Maximale des Logiciels

La règle d'or de la protection de logiciels avec HASP est que lasécurité offerte par le système de protection ne peut être meilleureque celle des routines qui appellent la clé et décident de permettrel'exécution du programme protégé. En d'autres termes, commel'architecture matérielle des clés HASP est trop complexe pour êtredécodée ou dupliquée, les pirates vont, en général, tenter pister lecode de protection et d'éliminer les routines de protection.

Nous vous fournissons les meilleurs outils de protection disponiblestant matériels que logiciels. Cependant, le niveau de sécurité de votreapplication est fonction de la complexité et de la pertinence del'implantation de la protection.

Aucune technique isolée ne peut arrêter les pirates. Plus vousutiliserez de pièges et de garanties, plus votre logiciel sera difficile àpirater. Pour obtenir une protection maximale avec le système HASP,utilisez une combinaison des protections par Enveloppe et par API.

Pour augmenter la résistance de votre application, si vous n'utilisezque l'API, utilisez les techniques décrites dans ce chapitre.

Utilisez des Appels MultiplesUtilisez de nombreux appels à la clé avec autant de Seed Codesdifférents . Plus il y a d'appels et de Codes de Retour à tester , plus ilest difficile de les pister et de les retirer. Il est important de placer lesappels à différents endroits du programme.

Page 202: Manuel Hasp

15-2 Comment Assurer une Protection Maximale des Logiciels

Utilisez Différents Codes GraineConstruisez, dans votre application, un tableau contenant lesdifférents Seed Codes et Codes de Retour.

Vérifiez la clé HASP de la façon suivante :

1. Choisissez un nombre aléatoire, n.

2. Appelez la routine hasp( ) avec le nème Code Graine du tableau, ettester si le Code de Retour obtenu correspond au nème Code deRetour.

Avec cette technique, chaque fois que l'application est lancée, voustestez la clé HASP avec un Code Graine différent.

Utilisez des Expressions MathématiquesVérifiez les Codes de Retour en utilisant des expressionsmathématiques.

Par exemple :

Si vous attendez le Code de Retour 26387, incorporez une expressionmathématique incluant cette valeur; comme :

Si (CodeRetour1-7)/4 = (CodeRetourAttendu1-6602)/3 Alors...

Sommes de ContrôleEffectuez une somme de contrôle de l'application pour détecter si ellea été modifiée. La méthode la plus simple consiste à :

1. Calculer la somme de contrôle.

2. La comparer avec la valeur correcte.

Page 203: Manuel Hasp

Sommes de Contrôle 15-3

3. Si les deux valeurs ne correspondent pas, générer un messaged'erreur; sinon continuer.

Malheureusement, cette méthode est vulnérable à différentesattaques.

♦ Le pirate peut modifier le code pour contourner le test.

♦ Si le pirate identifie l'algorithme de somme de contrôle, il peutmodifier le code du programme, et ajouter du code pour compenserles octets modifiés; cela renverra toujours la même valeur desomme de contrôle.

Plusieurs améliorations sont possibles :

♦ Evitez les simples additions ou les XOR. Utilisez un CRC (cyclicredundancy check - test de redondance cyclique), ou un autrealgorithme sensible à l'ordre des octets.

♦ Ne comparez pas le résultat avec une valeur précalculée. Utilisezplutôt le résultat dans une opération causant une erreur si labonne valeur n'est pas utilisée. Par exemple, stockez le résultatdans une variable, et utilisez cette variable plus tard comme uneclé de décryptage d'un certain code ou données. Cela a l'avantaged'une action retardée et la somme de contrôle attendue n'est pasexplicitement stockée dans l'application.

Page 204: Manuel Hasp

15-4 Comment Assurer une Protection Maximale des Logiciels

Cachez les Mots de Passe et les Codes de RetourCachez vos Mots de Passe et Codes de Retour dans l’applicationprotégée, pour cela :

♦ Cryptez-les.

♦ Sauvegardez-les dans différentes parties du code de votreapplication.

♦ Comparez les différentes variables dans lesquelles vous avezsauvegardé les mots de passe et les codes de retour pour éviterleurs modifications.

♦ Appelez la routine hasp( ) avec des mots de passe volontairementfaux.

Utilisez les Réponses des AppelsAprès avoir vérifié que la bonne clé HASP est connectée, utilisez lesdifférentes valeurs de retour pour effectuer différents tâches dansvotre application.

Deux options efficaces sont :

♦ Utiliser les valeurs retournées comme clés d'algorithmes decodage.

♦ Utiliser les valeurs retournées pour initialiser des variables.

Page 205: Manuel Hasp

Séparez les Etapes de Vérification 15-5

Séparez les Etapes de VérificationNe réagissez pas immédiatement aux appels de vérification. Parexemple, ne testez pas une valeur donnée pour émettre aussitôt unmessage d'erreur si le résultat est incorrect. Dans ce cas, le piratecomprendrait facilement le mécanisme que vous utilisez.

Il est préférable de :

1. Stocker la valeur dans une variable, A.

2. Tester la valeur de A quelques lignes plus loin, et définir unenouvelle variable, B, pour indiquer si vous acceptez la valeur de A.

3. Dans un autre module, tester la valeur de B.

4. Si nécessaire, afficher un message d'erreur.

Forcez les pirates à travailler à l'envers pour trouver comment B apris une valeur donnée et pourquoi le programme a échoué à cause decela. La relation avec la valeur d'origine retournée ne doit plus êtreévidente.

Utilisez des Données Dépendantes de HASPLorsque vous utilisez des données stockées dans la mémoire d'une cléHASP, vous vérifiez généralement cette valeur avant de l'utiliser.Mais cette procédure vous oblige à garder la vraie valeur dans votreapplication. La valeur est ainsi accessible aux pirates.

Pour éviter que les pirates n'accèdent à ces données, nous vousrecommandons de la lire et de l'utiliser dans votre application sansexplicitement vérifier sa validité. Si la clé HASP est présente, lavaleur sera valide; sinon, la valeur sera invalide provoquant uneerreur.

Page 206: Manuel Hasp

15-6 Comment Assurer une Protection Maximale des Logiciels

Utilisez le système PCSUtilisez le système de Sécurité par Motifs Codés pour augmenter lasécurité de votre application. Avec le système PCS, lorsque la routinede protection HASP est appelée, de nombreux processus simultanéssont exécutés à différents endroits du programme. Reportez-vous auchapitre 12 pour plus de détails.

Page 207: Manuel Hasp

16-1

Chapitre 16 - Installation de NetHASP sur unRéseau

Ce chapitre décrit les étapes d'installation de NetHASP et deconfiguration des stations du réseau au système NetHASP.

Avec l'application protégée, vous devez avoir :

♦ Une clé NetHASP.

♦ Tous les Gestionnaires de Licence NetHASP - des applications quifacilitent la communication entre l'application protégée etNetHASP.

♦ Le Gestionnaire de Périphérique HASP - une interface entre leGestionnaire de Licence NetHASP et la clé NetHASP.

♦ Les outils de test NetHASP - des outils de diagnostic pour lesystème NetHASP.

♦ Le Moniteur NetHASP - un outil vous permettant de surveiller lesGestionnaires de Licence NetHASP sur le réseau et lesapplications utilisant des licences NetHASP.

♦ Nethasp.ini - le Fichier de Configuration NetHASP, dans lequelvous pouvez modifier les paramètres par défaut de NetHASP.

♦ Nethasp.txt - ce chapitre au format texte.

Réseaux et Protocoles Supportés parNetHASP

NetHASP supporte les réseaux suivants : 3Com, Banyan Vines, D-Link, DEC Pathworks, Netware Lite, Novell 3.x, Novell 4.x, réseauWindows NT, LANtastic, LanManager, OS/2 Lan Server, et tout autreréseau utilisant les protocoles ci-dessous.

Page 208: Manuel Hasp

16-2 Installation de NetHASP sur un Réseau

NetHASP supporte les protocoles de communication réseau IPX,TCP/IP, et NetBIOS.

Support IPXNetHASP sous IPX supporte les mécanismes suivants :

♦ Novell SAP (Bindery) - mécanisme Novell permettantl'enregistrement d'applications nécessitant des annonces réseau(@@network advertising).

♦ Broadcast - le Gestionnaire de Licence NetHASP est constammentà l'écoute des stations scrutant le réseau.

♦ Fichier d'Adresse NetHASP - communication avec le Gestionnairede Licence NetHASP via un système de fichier (fichier d'adresse).

Support TCP/IPSous les environnements supportant TCP/IP, NetHASP fonctionneselon deux modes :

♦ TCP, UDP - l'adresse du Gestionnaire de Licence Net HASP estspécifié.

♦ Broadcast UDP - le Gestionnaire de Licence NetHASP estconstamment à l'écoute des stations scrutant le réseau.

Support NetBIOSNetHASP supporte différents types de NetBIOS dont MicrosoftNetBEUI.

Page 209: Manuel Hasp

Le Gestionnaire de Licence NetHASP 16-3

Le Gestionnaire de Licence NetHASPVous pouvez connecter la clé NetHASP sur n'importe quel ordinateurdu réseau. Cet ordinateur ne doit pas nécessairement être un serveurde fichier du réseau. Si le bon Gestionnaire de Licence NetHASP estactivé, les applications protégées par NetHASP vont communiqueravec la clé NetHASP.

Le Gestionnaire de Licence NetHASP est indépendant de la cléNetHASP et de l'application protégée, mais fonctionne comme un lienentre les deux.

Quelque soit l'environnement sous lequel fonctionne l'applicationprotégée - DOS, Windows, Windows 32 bits, ou OS/2 - vous pouvezactiver le Gestionnaire de Licence NetHASP de votre choix pourcommuniquer avec l'application protégée et la clé NetHASP. UnGestionnaire de Licence NetHASP peut gérer jusqu'à 250 clientsNetHASP.

Lorsque plusieurs applications sont protégées avec différentes clésNetHASP, nous vous recommandons de chaîner toutes les clés sur unseul ordinateur. Vous pouvez aussi connecter les clés sur autantd'ordinateurs, mais vous devrez lancer un Gestionnaire de LicenceNetHASP sur chacun de ces ordinateurs.

Note: Le Gestionnaire de Licence NetHASP doit rester actif aussilongtemps qu'une application protégée est enfonctionnement.

Le Gestionnaire de Licence NetHASP que vous utilisez doit êtrecompatible avec le système d'exploitation de l'ordinateur sur lequel ilest lancé. Le tableau ci-dessous montre les différents Gestionnaire deLicence NetHASP, les systèmes d'exploitation sous lesquels ilsfonctionnent et les protocoles supportés.

Page 210: Manuel Hasp

16-4 Installation de NetHASP sur un Réseau

Tableau 16.1: Protocoles supportés parles Gestionnaires de Licence NetHASP

Gestionnaire de Licence NetHASP IPX TCP/IP NetBIOS

DOS (haspserv.exe) √ √

Windows et Win32s (nhsrvwin.exe) √ √ √

Windows 95 et Windows NT (nhsrvw32.exe) √ √ √

Serveurs de fichiers Netware 386 et 486 (haspserv.nlm) √

OS/2 (nhsrvos2.exe) √

Note: Par défaut, le Gestionnaire de Licence NetHASP pourWin32s écoute les trois protocoles simultanément.

Les sections suivantes décrivent la procédure d'activation duGestionnaire de Licence NetHASP sur différentes stations et serveursde fichiers du réseau.

NetHASP sur une Station DOSLe Gestionnaire de Licence NetHASP pour DOS s'appellehaspserv.exe.

Pour charger le Gestionnaire de Licence NetHASP :

1. Connectez la clé NetHASP sur la station DOS.

2. Lancer le programme haspserv.exe. Un message apparaît, vousinformant que le Gestionnaire de Licence Net HASP est chargé. Lemessage indique également le type de protocole utilisé.

Note: Pour lancer le Gestionnaire de Licence NetHASPautomatiquement, ajoutez-le dans le fichier autoexec.bat.

Pour enlever le Gestionnaire de Licence NetHASP :

Page 211: Manuel Hasp

Le Gestionnaire de Licence NetHASP 16-5

♦ Exécutez haspserv.exe -r.

♦ ou, supprimez la ligne d'appel dans le fichier autoexec.bat etredémarrez la station.

NetHASP sur une Station Windows ou Win32sLe Gestionnaire de Licence NetHASP pour Windows est nhsrvwin.exe.

Pour charger le Gestionnaire de Licence NetHASP :

1. Connectez la clé NetHASP à la station Windows ou Win32s.

2. Lancez le programme nhsrvwin.exe. Une fenêtre apparaît, vousinformant que le Gestionnaire de Licence NetHASP est chargé. Lemessage indique également le protocole utilisé.

Note: Pour lancer automatiquement le Gestionnaire de LicenceNetHASP pour Windows, copiez son icône dans le groupe deDémarrage.

Pour enlever le Gestionnaire de Licence NetHASP :

♦ Choisissez l'option Remove dans la barre de menu duGestionnaire de Licence NetHASP.

NetHASP sur un Serveur de Fichiers sous Novell Netware 386/486Le Gestionnaire de Licence NetHASP pour serveur de fichiers NovellNetware s'appelle haspserv.nlm.

Pour charger le Gestionnaire de Licence NetHASP :

1. Connectez la clé NetHASP sur le serveur Novell.

2. Copiez le fichier haspserv.nlm dans le répertoire SYSTEM duserveur de fichiers.

3. Chargez le Gestionnaire de Licence NetHASP, en saisissant :

Page 212: Manuel Hasp

16-6 Installation de NetHASP sur un Réseau

load haspserv

L'écran du Gestionnaire de Licence NetHASP apparaît indiquant leprotocole utilisé.

Note: Pour chargez automatiquement le Gestionnaire de LicenceNetHASP, ajoutez la ligne load haspserv dans le fichierautoexec.ncf du répertoire sys:system.

Pour enlever le Gestionnaire de Licence NetHASP :

♦ Tapez unload haspserv.

NetHASP sur une Station Windows 95Le Gestionnaire de Licence Net HASP pour Windows 95 s'appellenhsrvw32.exe.

Pour charger le Gestionnaire de Licence NetHASP :

1. Connectez la clé NetHASP à la station Windows 95.

2. Installez le Gestionnaire de Périphérique HASP sur la stationWindows 95 en lançant :

hinstall -i.

3. Exécutez le programme nhsrvw32.exe. Une fenêtre apparaît vousinformant que le Gestionnaire de Licence NetHASP est chargé. Lemessage indique également le protocole utilisé.

Pour enlever le Gestionnaire de Licence NetHASP :

♦ Choisissez l'option Exit dans le menu principal du Gestionnairede Licence NetHASP.

NetHASP sur une Station Windows NTLe Gestionnaire de Licence NetHASP pour Windows NT s'appellenhsrvw32.exe.

Page 213: Manuel Hasp

Le Gestionnaire de Licence NetHASP 16-7

Pour charger le Gestionnaire de Licence NetHASP :

1. Connectez la clé NetHASP à la station Windows NT.

2. Installez le Gestionnaire de Périphérique HASP sur la stationWindows NT en lançant :

hinstall -i.

3. Si vous utilisez Windows NT version 4.0, passez l'étape 4.

Avec des versions de Windows NT antérieures à la 4.0, vous devezoptimiser la réponse du Gestionnaire de Licence NetHASP enactivant l'option @@multitâche (tasking option) .

Cette procédure permet à Windows NT d'attribuer les mêmespriorités aux processus en avant-plan et en tâche de fond, et vousassure que le Gestionnaire de Licence NetHASP fonctionneracorrectement même en tâche de fond.

a. Double-cliquez sur l'icône Système du Panneau de Contrôle.

b. Cliquez sur le bouton @@Tasking de la fenêtre Système.

c. Dans le fenêtre @@Tasking Foreground/BackgroundResponsiveness frame, cochez:

Foreground and Background Applications Equally Responsive.

d. Cliquez sur OK pour sauver les modifications.

4. Exécutez le programme nhsrvw32.exe. Une fenêtre apparaît vousinformant que le Gestionnaire de Licence NetHASP est chargé. Lemessage indique également le protocole utilisé.

Pour enlever le Gestionnaire de Licence NetHASP :

♦ Choisissez l'option Exit du menu principal du Gestionnaire deLicence NetHASP.

Chargement Automatique du Gestionnaire de Licence NetHASP

Page 214: Manuel Hasp

16-8 Installation de NetHASP sur un Réseau

Sous Windows NT, vous pouvez charger automatiquement leGestionnaire de Licence NetHASP avant la connexion réseau, grâceau programme hinstall.exe.

Hinstall installe un module HASP de chargement NT qui fonctionnecomme un service Windows NT. Ce module de chargement assurel'exécution automatique du Gestionnaire de Licence NetHASP. Avecce module, vous n'avez pas besoin d'ouvrir une session pour activer leGestionnaire de Licence NetHASP.

Pour installer le module HASP de chargement NT :

1. Ouvrez une session sur la station avec les droits Administrateur.

2. Exécutez hinstall -is.

3. Copiez le Gestionnaire de Licence NetHASP pour Windows 32bits-nhsrvw32.exe - dans le sous-répertoire SYSTEM32 du répertoire debase de Windows NT.

4. Redémarrez la machine. Le module HASP de chargement NTlancera automatiquement le Gestionnaire de Licence NetHASP.

Note: Comme le Gestionnaire de Licence NetHASP se chargeautomatiquement avant l'ouverture de session, les messagesdu module HASP de chargement NT et du Gestionnaire deLicence NetHASP n'apparaîtront pas à l'écran avantl'ouverture d'une session. Par exemple, si vous essayez decharger le Gestionnaire de Licence NetHASP sans avoir aupréalable connecté une clé NetHASP à l'ordinateur, vous neverrez pas le message d'erreur "HASP not found" ("Clé HASPnon trouvée") tant que vous n'aurez pas ouvert de session.

Pour enlever le module HASP de chargement NT :

1. Ouvrez une session avec les droits Administrateur.

2. Exécutez hinstall -rs.

3. Redémarrez l'ordinateur.

Voir le Module HASP de Chargement NT dans le Gestionnaire de Service

Page 215: Manuel Hasp

Recherche Automatique de NetHASP 16-9

Si le Module HASP de chargement NT a été correctement installé,vous pouvez le voir dans le Gestionnaire de Services de Windows NT.

Pour accéder au SCManager:

1. Dans le Panneau de Configuration, double-cliquez sur l'icôneServices. Le Module HASP de chargement NT apparaît dans laliste des Services.

2. Vérifiez que le champ Statut est vide, et que le champDémarrage contient la valeur Automatique.

NetHASP sur une Station OS/2Le Gestionnaire de Licence NetHASP pour OS/2 s’appellenhsrvos2.exe.

Pour charger le Gestionnaire de Licence NetHASP :

1. Connectez une clé NetHASP à la station OS/2.

2. Exécutez le programme nhsrvos2.exe.

Pour charger automatiquement le Gestionnaire de LicenceNetHASP au démarrage :

♦ Ajoutez la ligne suivante dans le fichier startup.cmd :

start nhsrvos2

Pour enlever le Gestionnaire de Licence NetHASP :

♦ Basculez vers le Gestionnaire de Licence NetHASP et pressez sur<Q>.

Recherche Automatique de NetHASPLe point le plus critique dans l'installation du système NetHASP estde s'assurer que le client NetHASP (la station exécutant l'application

Page 216: Manuel Hasp

16-10 Installation de NetHASP sur un Réseau

protégée) trouve le Gestionnaire de Licence NetHASP. Une session decommunication ne pourra débuter qu'après la reconnaissance duGestionnaire de Licence NetHASP.

La Recherche Automatique de NetHASP vous permet de connecter laclé NetHASP, charger le Gestionnaire de Licence NetHASP, etd'exécuter l'application protégée, sans aucune modification dusystème NetHASP ou de l'environnement dans lequel il est installé.Cependant, le mécanisme de recherche permet un paramètrage plusfin du système NetHASP avec de simples ajustements client-serveur.Cela est réalisé par la Recherche Personnalisée de NetHASP.

Les deux procédés, automatique et personnalisé, sont décrits ci-après.

La Recherche Automatique de NetHASP s'active lorsque le clientNetHASP ne trouve pas de fichier de configuration NetHASP (lefichier nethasp.ini par exemple). L'application protégée avec lesystème NetHASP utilise alors l'algorithme suivant pour rechercherle Gestionnaire de Licence NetHASP :

Début

Détection des protocoles de communication actifs;

Boucler jusqu'à trois fois sur la procédure suivante :

(1) effectuer un LOGIN NetHASP avec le protocole IPX, accorder n secondes pour réussir;Si LOGIN accepté, continuer avec le protocole IPX;sinon

(2) effectuer un LOGIN NetHASP avec le protocole TCP/IP, accorder n secondes pour réussir;Si LOGIN accepté, continuer avec le protocole TCP/IP;sinon

(3) effectuer un LOGIN NetHASP avec le protocole NetBIOS;Si LOGIN accepté, continuer avec le protocole NetBIOS;sinon

(4) retourner au début de la boucle et doubler la valeur de n;

Si tout a échoué après trois boucles, retourner une erreur NetHASP

Page 217: Manuel Hasp

Recherche Automatique de NetHASP 16-11

Début

Fin

Lors de la première boucle de recherche de NetHASP, n égale 2secondes.

Avant de lancer l'algorithme de recherche, le système NetHASPvérifié d'abord les protocoles installés, et n'effectue que les étapesadéquates. Par exemple, si le protocole TCP/IP a été détecté, seulel'étape 2 de l'algorithme précédant sera exécutée. Il sera cependantexécuté jusqu'à trois fois, en doublant la valeur de n à chaque fois.

Recherche Automatique sous IPXSous IPX, le système NetHASP utilise un mécanisme de broadcastSAP pour automatiser la recherche du Gestionnaire de LicenceNetHASP. C'est à dire que le client NetHASP broadcaste, pendantque tous les Gestionnaires de Licence IPX NetHASP actifs sont àl'écoute. Le premier à répondre au client - en acceptant le LOGINNetHASP - fournira les services NetHASP. Avec la rechercheautomatique de NetHASP sous IPX, des clients et des Gestionnairesde Licence NetHASP se trouvant sur des segments différents peuventcommuniquer ensemble.

Recherche Automatique sous TCP/IPSous TCP/IP, le système NetHASP utilise un mécanisme de broadcastUDP pour automatiser la recherche du Gestionnaire de LicenceNetHASP. C'est à dire, le client NetHASP broadcaste, tandis que tousles Gestionnaires de Licence TCP/IP NetHASP actifs sont à l'écoute.Le premier à répondre au client en acceptant un LOGIN NetHASPfournira les services NetHASP.

Page 218: Manuel Hasp

16-12 Installation de NetHASP sur un Réseau

Note: Avec la recherche automatique sous TCP/IP, les clientsNetHASP ne peuvent accéder à des Gestionnaires de LicenceNetHASP se trouvant sur d'autres segments ou sur Internet.Pour accéder à d'autres segments ou Internet, vous devezpersonnaliser le mécanisme de recherche - voir la sectionRecherche Personnalisée de NetHASP.

Recherche Automatique sous NetBIOSSous NetBIOS, le système NetHASP :

♦ ne limite pas la recherche à n secondes. Le temps de recherchereste entre 4 et 6 secondes durant chaque passage dans la boucle.

♦ détermine quels lana numbers (canaux de communication) sontopérationnels et les utilise pour la communication.

♦ utilise le nom NetBIOS NetHASP par défaut("AladinHaspV012.0").

Sous NetBIOS, le mécanisme de recherche fonctionne selon le typed'application tournant sur le client NetHASP.

Applications DOS et Win16Les applications Win16 recherchent un Gestionnaire de LicenceNetHASP sur tous les lana numbers (canaux de communication). Celaest effectué à chaque itération ( section (3) dans la boucle de rechercheci-dessus). Lorsqu'un Gestionnaire de Licence NetHASP est trouvé,quelque soit la clé NetHASP connectée, la recherche se termine.

Le Gestionnaire de Licence NetHASP sous Windows écoute sur lepremier lana number qu'il détecte.

Applications Win32Les applications Win32 recherchent une clé NetHASP sur tous leslana numbers détectés. Cela veut dire que la recherche ne s'arrêterapas lorsqu'un Gestionnaire de Licence NetHASP répondra, maisseulement lorsque le Gestionnaire de Licence NetHASP associé à labonne clé NetHASP répondra.

Page 219: Manuel Hasp

Recherche NetHASP Personnalisée 16-13

Le Gestionnaire de Licence NetHASP sous Win32 écoute sur tous leslana numbers qu'il détecte.

Comme la communication sur tous les lana numbers détectés prendtu temps, une tentative de communication sera effectuée sur un seullana number par itération. Si la communication échoue, l'itérationsuivante utilisera le lananum suivant.

Note: Si plus de trois lana numbers sont détectés, lorsquel'algorithme termine ces trois itérations, la session (3) seraexécutée une nouvelle fois en utilisant les lana numbers nonvérifiés.

Recherche NetHASP PersonnaliséeSelon votre environnement, vous voudrez ou aurez besoin depersonnaliser le mécanisme de recherche de NetHASP. Cela se faitpar l'intermédiaire de mots clés définis dans le fichier deconfiguration de NetHASP (i.e. le fichier nethasp.ini). Le fichiernethasp.ini est lu par le client NetHASP (l'application protégée) pourpersonnaliser le mécanisme de recherche. Si le client NetHASP trouveun fichier nethasp.ini, il utilisera les informations qu'il contient.Sinon, le mécanisme standard de recherche automatique de NetHASPsera utilisé.

Le client NetHASP recherche le fichier nethasp.ini dans lesrépertoires suivants :

Tableau 16.2: Ordre de recherche du fichier nethasp.ini

Type d’Application Ordre de Recherche

DOS Répertoire courant → Map de recherche Netware

Windows Répertoire courant → Répertoire de Windows → Répertoire System deWindows → Répertoire du fichier exécutable → Path → Map de rechercheNetware

Page 220: Manuel Hasp

16-14 Installation de NetHASP sur un Réseau

Win32 Répertoire du fichier exécutable → Répertoire courant → Répertoire Systemde Windows → Répertoire de Windows → Path

Les sections suivantes décrivent les mots clés utilisés dans le fichiernethasp.ini pour une configuration de base du mécanisme derecherche de NetHASP. Tous les mots clés du fichier nethasp.ini nesont pas décrit dans ces sections. Un exemple de fichier nethasp.ini,que vous pouvez utiliser pour paramètrer finement le systèmeNetHASP, peut être trouvé à l'annexe C, y compris une brèvedescription de tous ses mots clés.

Informations Générales sur la Recherche PersonnaliséeVous pouvez modifier la valeur initiale de n, la première période derecherche de l'algorithme NetHASP; la valeur par défaut étant 2secondes.

Pour modifier la valeur initiale de n :

♦ Dans la section [NH_COMMON], définissez

NH_SESSION = <secondes>

où <secondes> est la valeur initiale désirée de la période derecherche.

Le fait de mettre le mot clé NH_SESSION dans la sectionNH_COMMON permet de l'appliquer à tous les protocoles. Pourdéfinir une valeur pour chacun des protocoles, définissez la valeur deNH_SESSION dans la section de chaque protocole.

Recherche Personnalisée sous IPXLa recherche personnalisée sous IPX dépend de l'application. Lessections suivantes décrivent 4 options personnalisées pour lesapplications Win16, et 2 pour les applications Win32.

Broadcast (Applications DOS et Win16)

Page 221: Manuel Hasp

Recherche NetHASP Personnalisée 16-15

1. Chargez le Gestionnaire de Licence NetHASP avec le paramètre-ipx.

2. Modifiez le fichier nethasp.ini comme suit :

♦ Dans la section [NH_COMMON], définissez NH_IPX =Enabled

♦ Dans la section [NH_IPX], définissez NH_USE_BROADCAST= Enabled

♦ Dans la section [NH_IPX], définissez NH_USE_BINDERY =Disabled

3. Copiez le fichier nethasp.ini modifié dans un répertoire accessiblepar l'application.

Cette configuration est celle par défaut. Elle est également utiliséepar la Recherche Automatique (itération (1) dans l'algorithme). Elleindique au système NetHASP d'utiliser le mécanisme de broadcastSAP pour rechercher le Gestionnaire de Licence NetHASP.

Bindery / Broadcast (Applications DOS et Win16)

1. Chargez le Gestionnaire de Licence NetHASP avec le paramètre-ipx.

2. Modifiez le fichier nethasp.ini comme suit :

♦ Dans la section [NH_COMMON], définissez NH_IPX =Enabled

♦ Dans la section [NH_IPX], définissez NH_USE_BROADCAST= Enabled

♦ Dans la section [NH_IPX], définissez NH_USE_BINDERY =Enabled

3. Copiez le fichier nethasp.ini modifié dans un répertoire accessiblepar l'application.

Cette configuration indique au système NetHASP de rechercher leGestionnaire de Licence NetHASP dans la bindery Novell. Si la

Page 222: Manuel Hasp

16-16 Installation de NetHASP sur un Réseau

bindery n'est pas supportée, ou si le Gestionnaire de LicenceNetHASP ne peut être trouvé, le système NetHASP utilisera lemécanisme de broadcast pour mener à terme la recherche.

Bindery / Fichier d’Adresse (Applications DOS et Win16)

1. Chargez le Gestionnaire de Licence NetHASP avec le paramètre-ipx.

2. Modifiez le fichier nethasp.ini comme suit :

♦ Dans la section [NH_COMMON], définissez NH_IPX =Enabled

♦ Dans la section [NH_IPX], définissez NH_USE_BROADCAST= Disabled

♦ Dans la section [NH_IPX], définissez NH_USE_BINDERY =Enabled

3. Copiez le fichier nethasp.ini modifié dans un répertoire accessiblepar l'application.

Cette configuration indique au système NetHASP de rechercher leGestionnaire de Licence NetHASP dans la bindery Novell. Si labindery n'est pas supportée, ou si le Gestionnaire de LicenceNetHASP ne peut être trouvé, le système NetHASP utilisera lemécanisme de fichier d'adresse pour mener à terme la recherche, i.e.recherche l'adresse du Gestionnaire de Licence NetHASP dans lefichier newhaddr.dat.

Fichier d’Adresse (Applications DOS et Win16)

1. Chargez le Gestionnaire de Licence NetHASP avec le paramètre-ipx.

2. Modifiez le fichier nethasp.ini comme suit :

♦ Dans la section [NH_COMMON], définissez NH_IPX =Enabled

♦ Dans la section [NH_IPX], définissez NH_USE_BROADCAST= Disabled

Page 223: Manuel Hasp

Recherche NetHASP Personnalisée 16-17

♦ Dans la section [NH_IPX], définissez NH_USE_BINDERY =Disabled

3. Copiez le fichier nethasp.ini modifié dans un répertoire accessiblepar l'application.

Cette configuration indique au système NetHASP de recherche leGestionnaire de Licence NetHASP en utilisant le mécanisme defichier d'adresse (recherche l'adresse du Gestionnaire de LicenceNetHASP looks for the NetHASP dans le fichier newhaddr.dat).

Broadcast (Applications Win32)

1. Chargez le Gestionnaire de Licence NetHASP avec le paramètre-ipx.

2. Modifiez le fichier nethasp.ini comme suit :

♦ Dans la section [NH_COMMON], définissez NH_IPX =Enabled

♦ Dans la section [NH_IPX], définissez NH_USE_BROADCAST= Enabled

3. Copiez le fichier nethasp.ini modifié dans un répertoire accessiblepar l'application.

Il s'agit de la configuration par défaut. . Elle est également utiliséepar la Recherche Automatique (itération (1) dans l'algorithme). Elleindique au système NetHASP d'utiliser le mécanisme de broadcastSAP pour rechercher le Gestionnaire de Licence NetHASP.

Fichier d’Adresse (Applications Win32)

1. Chargez le Gestionnaire de Licence NetHASP avec le paramètre-ipx.

2. Modifiez le fichier nethasp.ini file comme suit :

♦ Dans la section [NH_COMMON], définissez NH_IPX =Enabled

Page 224: Manuel Hasp

16-18 Installation de NetHASP sur un Réseau

♦ Dans la section [NH_IPX], définissez NH_USE_BROADCAST= Disabled

3. Copiez le fichier nethasp.ini file modifié dans un répertoireaccessible par l'application.

Cette configuration indique au système NetHASP de recherche leGestionnaire de Licence NetHASP en utilisant le mécanisme defichier d'adresse (recherche l'adresse du Gestionnaire de LicenceNetHASP looks for the NetHASP dans le fichier newhaddr.dat).

Notes pour le protocole IPX♦ NH_USE_BINDERY est équivalent à l'ancien mot clé

NH_USE_SAP. Vous pouvez utiliser l'un ou l'autre.

♦ Les applications Win32 ne peut pas utiliser la bindery Novell. Dece fait, le mot clé NH_USE_BINDERY est inutilisé pour cesapplications.

♦ Par défaut, un fichier d'adresse NetHASP (newhaddr.dat) est créedans le répertoire du Gestionnaire de Licence NetHASP. Lorsquevous utilisez HASPSERV.NLM, le fichier d'adresse est créé dansle répertoire racine du serveur. Le client NetHASP recherche cefichier d'adresse dans les répertoires suivants :

Tableau 16.3: Ordre de recherche du fichier newhaddr.dat

Application Ordre de recherche

DOS Répertoire courant → Map de recherche Netware

Windows Répertoire courant → Répertoire de Windows → Répertoire Systemde Windows → Répertoire du fichier exécutable → Path → Map derecherche Netware

Win32 Répertoire du fichier exécutable → Répertoire courant → RépertoireSystem de Windows → Répertoire de Windows → Path

Page 225: Manuel Hasp

Recherche NetHASP Personnalisée 16-19

En ajoutant les mots clé suivants dans fichier nethasp.ini dans lesoptions du Fichier d'Adresse Win16 et Win32, vous pouvezpréciser le répertoire où se trouve le fichier d'adresse.

NH_DATFILE_PATH = <chemin>

Recherche Personnalisée sous TCP/IPLes sections suivantes décrivent trois options personnalisées sousTCP/IP.

Broadcast UDP1. Chargez le Gestionnaire de Licence NetHASP avec le paramètre

-tcpip.

2. Modifiez le fichier nethasp.ini comme suit :

♦ Dans la section [NH_COMMON], définissez NH_TCPIP =Enabled

♦ Dans la section [NH_TCPIP], définissez NH_TCPIP_METHOD= UDP

♦ Dans la section [NH_TCPIP], définissezNH_USE_BROADCAST = Enabled

3. Copiez le fichier nethasp.ini ainsi modifié dans un répertoireaccessible à l'application.

Il s'agit de la configuration par défaut. Elle est également utilisée parla Recherche Automatique (itération (2) dans l'algorithme). Elleindique au système NetHASP d'utiliser le mécanisme de broadcastpour rechercher le Gestionnaire de Licence NetHASP.

Notez qu'avec cette configuration, les clients NetHASP ne peuventaccéder à des Gestionnaires de Licence NetHASP se trouvant surd'autres segments ou sur Internet.

Page 226: Manuel Hasp

16-20 Installation de NetHASP sur un Réseau

UDP1. Chargez le Gestionnaire de Licence NetHASP avec le paramètre

-tcpip.

2. Modifiez le fichier nethasp.ini comme suit :

♦ Dans la section [NH_COMMON], définissez NH_TCPIP =Enabled

♦ Dans la section [NH_TCPIP], définissez NH_TCPIP_METHOD= UDP

♦ Dans la section [NH_TCPIP], définissez NH_SERVER_ADDR= <adresse IP du Gestionnaire de Licence NetHASP, ou le nomd'hôte du Gestionnaire de Licence NetHASP>

♦ Dans la section [NH_TCPIP], définissezNH_USE_BROADCAST = Disabled

3. Copiez le fichier nethasp.ini ainsi modifié dans un répertoireaccessible à l'application.

Cette configuration indique au client NetHASP de rechercher unGestionnaire de Licence NetHASP avec l'adresse IP ou le nomspécifiée. Cette option permet au système NetHASP de changer desegment.

TCP1. Chargez le Gestionnaire de Licence NetHASP avec le paramètre

-tcpip.

2. Modifiez le fichier nethasp.ini comme suit :

♦ Dans la section [NH_COMMON], définissez NH_TCPIP =Enabled

♦ Dans la section [NH_TCPIP], définissez NH_TCPIP_METHOD= TCP

♦ Dans la section [NH_TCPIP], définissez NH_SERVER_ADDR= <adresse IP du Gestionnaire de Licence NetHASP, ou le nomd'hôte du Gestionnaire de Licence NetHASP>

Page 227: Manuel Hasp

Recherche NetHASP Personnalisée 16-21

3. Copiez le fichier nethasp.ini ainsi modifié dans un répertoireaccessible à l'application.

Cette configuration indique au client NetHASP de rechercher unGestionnaire de Licence NetHASP avec l'adresse IP ou le nomspécifiée. Cette option permet au système NetHASP de changer desegment.

Note: Cette option active l'appel automatique sur les ordinateursconfigurés en connexion réseau en dial-up. Il s'agit d'un effetsecondaire connu de la prise de session TCP sur de telsordinateurs. Si vous n'utilisez le protocole TCP/IP que pourdes connexions en dial-up, vous devez utiliser l'une des deuxoptions précédante, ou choisir un protocole différent.

Notes sur TCP/IP♦ NetHASP ne passe pas à travers la plupart des firewalls ou

filtreurs de paquets. Pour supporter l'UDP, la plupart desfirewalls utilisent le filtrage de paquets, les connexions TCPpeuvent être supportées avec soit des proxies soit un filtrage despaquets. NetHASP utilise le port 475 pour TCP et UDP. Pourconfigurer votre firewall afin qu'il permette à NetHASP detravailler, veuillez consulter votre administrateur réseau.

♦ Le Gestionnaire de Licence NetHASP utilise par défaut le portnuméro 475. Si vous désirez utiliser un autre port :

1. Chargez le Gestionnaire de Licence NetHASP avec lesparamètres -tcpip et -portnum=<nombre>.

2. Modifiez le fichier nethasp.ini :

♦ Dans la section [NH_TCPIP], définissezNH_PORT_NUMBER = <nombre>

Recherche Personnalisée sous NetBIOSLes applications Win16 recherchent un Gestionnaire de LicenceNetHASP sur tous les lana numbers (canaux de communication).Lorsque un Gestionnaire de Licence NetHASP est trouvé, la recherche

Page 228: Manuel Hasp

16-22 Installation de NetHASP sur un Réseau

prend fin. Si la bonne clé NetHASP n'est pas trouvée, le Gestionnairede Licence NetHASP retournera un message d'erreur "HASP notFound" ("Clé HASP non trouvée").

Dans ce cas, vous pouvez personnaliser votre recherche en indiquantau système NetHASP de communiquer sur un autre lana number,afin de trouver le Gestionnaire de Licence NetHASP avec la bonne clé.Cela peut être fait en modifiant le fichier nethasp.ini :

Pour communiquer sur un autre lana number :

♦ Dans la section [NH_COMMON], définissez NH_NETBIOS =Enabled

♦ Dans la section [NH_NETBIOS], définissez NH_USE_LANANUM= <lana number>

L'algorithme de recherche NetHASP exécutera l'itération (3) dans laboucle de recherche, en communiquant toujours sur le lana numberspécifié.

Note sur NetBIOSLe protocole NetBEUI ne permet pas de changer de segment. Si vousexécutez une application protégée en environnement NetBEUI, danslequel le Gestionnaire de Licence NetHASP et les clients NetHASPsont sur des segments distincts, les clients NetHASP ne trouverontpas le Gestionnaire de Licence NetHASP. Dans ce cas, vous devrezcharger le Transport compatible IPX/SPX avec NetBIOS et ledéfinir comme protocole par défaut, afin de permettre lacommunication entre segments.

Installation NetHASP - Référence RapideLa méthode la plus rapide d'installer NetHASP sur votre système estde connecter la clé, de charger le Gestionnaire de Licence NetHASP,et d'exécuter l'application protégée. Cependant, si vous désirezpersonnaliser le système NetHASP, vous pouvez vous référer aux

Page 229: Manuel Hasp

Installation NetHASP - Référence Rapide 16-23

trois tableaux suivants qui vous guideront à travers l'installationpersonnalisée de NetHASP.

Chacun de ces trois tableaux se réfère à un protocole réseau précis.Pour chaque type d'application, les mots clés pertinents du fichiernethasp.ini sont précisés. Les commentaires décrivent la méthode derecherche du Gestionnaire de Licence NetHASP par le clientNetHASP.

IPX

Tableau 16.4: Paramétrage de NetHASP sous IPX

Application NH_USE_BROADCAST

NH_USE_BINDERY Commentaires

DOSetWin16

Enabled Disabled Le client NetHASP utilise unBroadcast SAP (méthode pardéfaut).

DOSetWin16

Enabled Enabled Le client NetHASP utilise unNovell Bindery. Si cela échoue, ilutilise un Broadcast SAP.

DOSetWin16

Disabled Enabled Le client NetHASP utilise unNovell Bindery. Si cela échoue,il utilise un fichier d'adresse.

DOSetWin16

Disabled Disabled Le client NetHASP utilise unfichier d'adresse.

Win32 Enabled N/A Le client NetHASP utilise unBroadcast SAP.

Win32 Disabled N/A Le client NetHASP utilise unfichier d'adresse.

Page 230: Manuel Hasp

16-24 Installation de NetHASP sur un Réseau

TCP/IP

Tableau 16.5: Paramétrage de NetHASP sous TCP/IP

Application NH_TCPIP_METHOD

NH_SERVER_ADDR

NH_USE_BROADCAST

Commentaires

Win16etWin32

UDP N/A Enabled Le client NetHASP utilise unBroadcast UDP (méthodepar défaut). Paschangement de segmentpossible.

Win16etWin32

UDP Adresse ou Nomd'Hôte

Disabled Le client NetHASPrecherche le Gestionnaire deLicence NetHASP avecl'adresse IP spécifiée. Peutchanger de segment.

Win16etWin32

TCP Adresse ou Nomd'Hôte

N/A Le client NetHASPrecherche le Gestionnaire deLicence avec l'adressespécifiée. Peut changer desegment et passer lesfirewalls. Active le dial-upInternet.

Page 231: Manuel Hasp

Installation NetHASP - Référence Rapide 16-25

NetBIOS

Tableau 16.6: Paramétrage de NetHASP sous NetBIOS

Application NH_USELANANUM Commentaires

Toute Application Lananumber Le client NetHASP recherche le Gestionnaire deLicence NetHASP sur le lananumber spécifié.

Page 232: Manuel Hasp

16-26 Installation de NetHASP sur un Réseau

Page 233: Manuel Hasp

Chapitre 17 - Outils NetHASPCe chapitre décrit les utilitaires NetHASP qui vous permettent devérifier le système NetHASP chez vos clients. Nous vousrecommandons de les envoyer à vos clients en même temps que votreapplication protégée.

Les Outils de Test NetHASPLes outils de test NetHASP appellent la routine hasp( ) en utilisanttous les services de l'API NetHASP, et sont ainsi d'excellent outils dediagnostic à utiliser chez le client.

Les outils de test fournis avec NetHASP sont :

♦ testnet.exe pour DOS

♦ wtestnet.exe pour Windows

♦ w32test.exe pour Win32

Par défaut, les applications de test recherchent une clé NetHASP dedémonstration. Pour votre convenance, nous fournissons le codesource de chaque application de test.

Page 234: Manuel Hasp

17-2 Outils NetHASP

Moniteur NetHASPLe Moniteur NetHASP est un outil Windows permettant d’afficher laliste :

♦ Des Gestionnaires de Licence NetHASP sur le réseau

♦ Des utilisateurs utilisant une application protégée ayant effectuéun LOGIN NetHASP sur le Gestionnaire de Licence NetHASP

Note: ♦ Tous les Gestionnaires de Licence NetHASP (excepté leGestionnaire de Licence pour OS/2) gèrent le MoniteurNetHASP.

♦ Le Moniteur NetHASP agit comme n'importe quel clientNetHASP. Il affiche seulement les Gestionnaires deLicence NetHASP accessibles depuis la station surlaquelle il est lancé.

Page 235: Manuel Hasp

Moniteur NetHASP 17-3

Lancement du Moniteur NetHASPExécutez le programme setup.exe se trouvant dans le répertoireMonitor; la fenêtre du moniteur NetHASP apparaît.

Visualisation des Gestionnaires de Licence NetHASP par ProtocoleLa liste Protocols affiche les protocoles disponibles sur la station oùest exécuté le Moniteur NetHASP. A partir de cette liste desprotocoles, il est possible de voir l'ensemble des Gestionnaires deLicence NetHASP du réseau utilisant le protocole sélectionné.

Note: Le Moniteur NetHASP supporte les protocoles NetBIOS,IPX, et TCP/IP.

Page 236: Manuel Hasp

17-4 Outils NetHASP

Pour voir les Gestionnaires de Licence NetHASP utilisant unprotocole donné :

♦ Double cliquez sur le protocole choisi dans la liste Protocols.

♦ Ou, sélectionnez un protocole et appuyez sur la touche <F5>.

Le nom du protocole apparaît dans le champ Selected Protocol, etles informations sur les Gestionnaires de Licence NetHASP utilisantce protocole apparaissent dans la liste NetHASP License Manager.

Note: Les informations dans la liste NetHASP License Managerpeuvent apparaître sous forme condensée. Pour voir lesinformations dans leur intégralité, sélectionnez un objet etappuyez sur la touche <F7>.

Visualisation des Utilisateurs NetHASP

Pour afficher la liste des utilisateurs d’un Gestionnaire deLicence NetHASP donné :

♦ Double cliquez sur le Gestionnaire de Licence NetHASP vouludans la zone NetHASP Servers ou appuyez sur la touche <F6>.Les informations sur les utilisateurs de ce Gestionnaire de LicenceNetHASP apparaissent dans la liste NetHASP Users.

Note: Les informations dans la liste NetHASP Users peuventapparaître sous forme condensée. Pour voir les informationsdans leur intégralité, sélectionnez un objet et appuyez sur latouche <F7>.

Pour voir un résumé des informations affichées dans la listeNetHASP Users :

♦ Appuyez sur la touche <F8> pour ouvrir la fenêtre NetHASPStatistics.

Page 237: Manuel Hasp

Moniteur NetHASP 17-5

Aide du Moniteur NetHASPPour plus d’informations sur les champs et fonctions du MoniteurNetHASP, reportez-vous à l'aide en ligne du Moniteur NetHASP.

Pour accéder à l'aide :

Choisissez l’option Help du menu principal.

Page 238: Manuel Hasp

17-6 Outils NetHASP

Page 239: Manuel Hasp

A-1

Annexe A - API et Langage AssembleurSi vous désirez appeler les clés HASP directement à partir du langageAssembleur, utilisez les tableau suivants pour passer les paramètresdans les registres.

Faites un appel à la routine haspreg( ).

Note: La routine haspreg( ) est définie comme far proc.

Les tableaux suivants illustrent les appels à la routine haspreg( ) pourles différentes clés HASP fonctionnant sur port parallèle.

Tableau A.1: Appels à la routine haspreg( ) avec lesservices HASP de base

Service Appel Retour

IsHasp BHBL

← 1← LptNum

AX: 0 – HASP non trouvée1 – HASP trouvée

HaspCode AXBHBLCXDX

← Seed Code← 2← LptNum← Password1← Password2

AX: Return Code 1BX: Return Code 2CX: Return Code 3DX: Return Code 4

HaspStatus BHBLCXDX

← 5← LptNum← Password1← Password2

AX: Taille de la MémoireBX: Type de clé HASPCX: LptNum Actuel

Tableau A.2: Appels à la routine haspreg() avec les services MemoHASP

Service Appel Retour

ReadWord BH ← 3 BX: Données

Page 240: Manuel Hasp

A-2 API et Langage Assembleur

Service Appel Retour

BLCXDXDI

← LptNum← Password1← Password2← Address

CX: Etat

WriteWord BHBLCXDXDISI

← 4← LptNum← Password1← Password2← Address← Data

CX: Etat

HaspID BHBLCXDX

← 6← LptNum← Password1← Password2

AX: IDLowBX: IDHighCX: Etat

Page 241: Manuel Hasp

A-3

Service Appel Retour

ReadBlock BHBLCXDXDISIESAX

← 50← LptNum← Password1← Password2← Start Address← Block Length← Buffer Segment← Buffer Offset

CX: Etat

WriteBlock BHBLCXDXDISIESAX

← 51← LptNum← Password1← Password2← Start Address← Block Length← Buffer Segment← Buffer Offset

CX: Etat

Table A.3: Appels à la routine haspreg() avec les services TimeHASP

Service Appel Retour

SetTime BHBLCXDXDISIAX

← 70← LptNum← Password1← Password2← Seconde← Minute← Heure

CX: Etat

GetTime BHBLCXDX

← 71← LptNum← Password1← Password2

AX: SecondeBX: MinuteCX: EtatDX: Heure

Page 242: Manuel Hasp

A-4 API et Langage Assembleur

Service Appel Retour

SetDate BHBLCXDXDISIAX

← 72← LptNum← Password1← Password2← Jour← Mois← Année

CX: Etat

GetDate BHBLCXDX

← 73← LptNum← Password1← Password2

AX: JourBX: MoisCX: EtatDX: Année

WriteByte BHBLCXDXDISI

← 74← LptNum← Password1← Password2← Address← Data

CX: Etat

ReadByte BHBLCXDXDI

← 75← LptNum← Password1← Password2← Address

BX: DonnéesCX: Etat

WriteBlock BHBLCXDXDISIESAX

← 76← LptNum← Password1← Password2← Start Address← Block Length← Buffer Segment← Buffer Offset

CX: Etat

Page 243: Manuel Hasp

A-5

Service Appel Retour

ReadBlock BHBLCXDXDISIESAX

← 77← LptNum← Password1← Password2← Start Address← Block Length← Buffer Segment← Buffer Offset

CX: Etat

GetHaspID BHBLCXDX

← 78← LptNum← Password1← Password2

AX: IDLowBX: IDHighCX: Etat

Tableau A.4: Appels à la routine haspreg() avec les services NetHASP

Service Appel Retour

LastStatus BH ← 40 AX: Net StatusBX: System Error

HaspCode AXBHBLCXDX

← Seed Code← 41← ProgNum← Password1← Password2

AX: Return Code 1BX: Return Code 2CX: Return Code 3DX: Return Code 4

LOGIN AXBHBLCXDX

← Seed Code← 42← ProgNum← Password1← Password2

AX: Return Code 1BX: Return Code 2CX: Return Code 3DX: Return Code 4

Page 244: Manuel Hasp

A-6 API et Langage Assembleur

Service Appel Retour

LOGOUT BHBLCXDX

← 43← ProgNum← Password1← Password2

ReadWord BHBLCXDXDI

← 44← ProgNum← Password1← Password2← Address

BX: DonnéesCX: Etat

WriteWord BHBLCXDXDISI

← 45← ProgNum← Password1← Password2← Address← Data

CX: Etat

HaspID BHBLCXDX

← 46← ProgNum← Password1← Password2

AX: IDLowBX: IDHighCX: Etat

IdleTime AXBHBLCXDX

← Idle Time← 48← ProgNum← Password1← Password2

ReadBlock BHBLCXDXDISIESAX

← 52← ProgNum← Password1← Password2← Start Address← Block Length← Buffer Segment← Buffer Offset

CX: Etat

Page 245: Manuel Hasp

A-7

Service Appel Retour

WriteBlock BHBLCXDXDISIESAX

← 53← ProgNum← Password1← Password2← Start Address← Block Length← Buffer Segment← Buffer Offset

CX: Etat

SetConfigFilename BHSIESAX

← 86← Buffer Size← Buffer Segment← Buffer Offset

SetServerByName BHSIESAX

← 96← Buffer Size← Buffer Segment← Buffer Offset

Page 246: Manuel Hasp

A-8 API et Langage Assembleur

Page 247: Manuel Hasp

B-1

Annexe B - Le Gestionnaire Résident HASPS’il existe une interface HASP pour votre compilateur, vous pouvezpasser cette annexe.

Le Gestionnaire Résident HASP est une application DOS résident enmémoire (TSR) que votre application protégée vas appeler par le biaisd'interruptions. Le Gestionnaire Résident HASP sert à protéger lesapplications DOS qui ne peuvent être protégées l'API HASP standard.

Le Gestionnaire Résident fournit les même services HASP que l'API.Vous pouvez insérer des appels dans votre application aussi souventque vous le désirez, et décider comment l'application doit réagir si laclé n'est pas trouvée.

Note: Le passage de paramètres est effectué directement par lesregistres du CPU.

CConsultez le sous-répertoire resident du répertoire DOSAPIpour y trouver des exemples d'applications démontrant lesappels au Gestionnaire Résident HASP.

Le Gestionnaire Résident nécessite environ 28Ko de RAM. Vos clientsdoivent charger ce Gestionnaire Résident avant le lancement del'application protégée, cela permet au Gestionnaire Résident de resteren mémoire.

Si votre application entre en conflit avec d'autres applicationsutilisant des interruptions, vous pouvez changer l'interruption duGestionnaire Résident.

L'interruption par défaut est INT 63h, définie comme uneinterruption utilisateur dans la documentation DOS. si vous devezspécifier une autre interruption, choisissez un nombre qui n'interfèrepas avec le fonctionnement normal de l'ordinateur.

Page 248: Manuel Hasp

B-2 Le Gestionnaire Résident HASP

Pour charger le Gestionnaire Résident avec une interruption précise,,lancez-le de la manière suivante :

haspres [Numéro d'Interruption]

où [Numéro Interruption] est un nombre hexadécimal compris entre 0et FF.

Rappelez-vous que votre client doit exécuter le Gestionnaire Résidentavant le lancement de l'application protégée. Incluez un fichier batchcomme celui qui suit pour simplifier l'exécution du programme parvotre client :

haspres [Numéro d'Interruption] Charge le Gestionnaire RésidentHASP avec l'interruption par défaut(63h) ou avec celle de votre choix.

<Application> Lance votre application

haspres [Numéro d'Interruption] -r Lorsque votre application estterminée, retirez le GestionnaireRésident HASP de la mémoire.

Page 249: Manuel Hasp

C-1

Annexe C - Fichier de ConfigurationNetHASP

NetHASP permet l’utilisation d’un fichier de configuration contenantles paramètres et autres configurations particulières de l'applicationprotégée. Si l'application trouve un Fichier de ConfigurationNetHASP, elle le lira et utilisera les informations qu'il contient. Dansle cas contraire, elle utilisera les valeurs par défaut.

Le Fichier de Configuration NetHASP s'appelle par défautnethasp.ini. Une copie du fichier nethasp.ini est comprise avec lesoutils HASP, ainsi qu'avec chaque API HASP.

L'application protégée recherche le Fichier de ConfigurationNetHASP lors du premier appel à un service NetHASP, dans lesrépertoire suivants :

Page 250: Manuel Hasp

C-2 Fichier de Configuration NetHASP

Tableau C.1: Ordre de recherche du fichier nethasp.ini

Type d’Application Ordre de Recherche

DOS Répertoire courant → Map de recherche Netware

Windows Répertoire courant → Répertoire de Windows → Répertoire System deWindows → Répertoire du fichier exécutable → Path → Map de rechercheNetware

Win32 Répertoire du fichier exécutable → Répertoire courant → Répertoire Systemde Windows → Répertoire de Windows → Path

Le Fichier de Configuration est composé de quatre sections, chaquesection étant optionnelle :

♦ [NH_COMMON]

♦ [NH_IPX]

♦ [NH_NETBIOS]

♦ [NH_TCPIP]

La section [NH_COMMON] contient les paramètres globaux pour toutesconfigurations des sections FILE. Si vous modfiez un mot clé dans uneautre section, il surchargera ce mot clé dans cette section uniquement.

Chaque section contient des mots clé Généraux et Spécifiques à uneSection. Vous pouvez utiliser les mots clés Généraux dans toutes lessections du fichier de configuration. Les mots clés Spécifiques à uneSection ne sont disponibles que dans une section précise.

Page 251: Manuel Hasp

C-3

Note: ♦ Les noms ne sont pas sensibles à la casse.

♦ Les commentaires sont précédez d'un point virgule (;).

♦ Toutes les lignes du Fichier de Configuration NetHASPfournit avec le logiciel HASP sont précédée d'un pointvirgule. Pour activer une ligne, supprimez le pointvirgule.

♦ Les configurations de l'API et de l'Enveloppe sontprioritaires par rapport aux paramètres du fichier deconfiguration.

Vous trouverez ci-après une description détaillée de toutes lessections du Fichier de Configuration NetHASP.

Page 252: Manuel Hasp

C-4 Fichier de Configuration NetHASP

[NH_COMMON]

Mots Clé Spécifiques à la Section

Mot Clé: NH_IPX =Valeurs Possibles: Enabled, DisabledDescription: Utilise le protocole IPX.

Mot Clé: NH_NETBIOS =Valeurs Possibles: Enabled, DisabledDescription: Utilise le protocole NetBIOS.

Mot Clé: NH_TCPIP =Valeurs Possibles: Enabled, DisabledDescription: Utilise le protocole TCP/IP.

Mot Clé: NH_MACHINE =Valeurs Possibles: IBM, NECDescription: Définit le type d'ordinateur sur lequel l'application protégée s'exécutera.Valeurs par Défaut: IBM

Mots Clé Généraux

Mot Clé: NH_SESSION =Valeurs Possibles: <Number>Description: Définit la durée maximale durant laquelle l'application protégée essaiera

de se connecter au Gestionnaire de Licence NetHASP.Valeurs par Défaut: 2 secondes

Mot Clé: NH_SEND_RCV =Valeurs Possibles: <Nombre>Description: Définit la durée maximale pour que le Gestionnaire de Licence NetHASP

envoie et recoive un paquet.Valeurs par Défaut: 1 seconde

Page 253: Manuel Hasp

C-5

[NH_IPX]

Mots Clé Spécifiques à la Section

Mot Clé: NH_USE_BINDERY =Valeurs Possibles: Enabled, DisabledDescription: Utilise IPX avec bindery. Ignoré avec l'API Win32. Cette option remplace

l'ancienne option nommée NH_USE_SAP.Valeurs par Défaut: Disabled

Mot Clé: NH_USE_BROADCAST =Valeurs Possibles: Enabled, DisabledDescription: Utilise le mécanisme de Broadcast IPX.Valeurs par Défaut: Enabled

Mot Clé: NH_BC_SOCKET_NUM =Valeurs Possibles: <Nombre>Description: Définit le numéro de socket pour le mécanisme de Broadcast. Ce nombre

doit être au format hexadécimal.Valeurs par Défaut: 7483H

Mot Clé: NH_USE_INT =Valeurs Possibles: 2F_NEW, 7A_OLDDescription: 2F_NEW signifie que le protocole IPX n'utilisera que l'interruption 2Fh.

7F_OLD signifie que le protocole IPX n'utilisera que l'interruption 7Ah.Valeurs par Défaut: 2F_NEW

Mot Clé: NH_SERVER_NAME =Valeurs Possibles: <Nom1>, <Nom2>,...Description: Communique avec le Serveur NetHASP dont le nom est indiqué.

Maximum : 6 noms comprenant jusqu'à 7 caractères.

Mot Clé: NH_SEARCH_METHOD =Valeurs Possibles: Localnet, InternetDescription: Détermine si l'application protégée ne communique avec le Gestionnaire

de Licence NetHASP qu'en réseau local, ou avec n'importe quelGestionnaire de Licence NetHASP sur le réseau Internet.

Valeurs par Défaut: Internet

Page 254: Manuel Hasp

C-6 Fichier de Configuration NetHASP

Mot Clé: NH_DATFILE_PATH =Valeurs Possibles: <Chemin>Description: Définit le lieu du fichier d'adresse du Gestionnaire de Licence NetHASP.

Mots Clé Généraux

Mot Clé: NH_SESSION =Valeurs Possibles: <Nombre>Description: Définit la durée maximale durant laquelle l'application protégée essaiera

de se connecter au Gestionnaire de Licence NetHASP.Valeurs par Défaut: 2 secondes

Mot Clé: NH_SEND_RCV =Valeurs Possibles: <Nombre>Description: Définit la durée maximale pour que le Gestionnaire de Licence NetHASP

envoie et recoive un paquet.Valeurs par Défaut: 1 seconde

Page 255: Manuel Hasp

C-7

[NH_NETBIOS]

Mots Clé Spécifiques à la Section

Mot Clé: NH_NBNAME =Valeurs Possibles: <Nom>Description: Attribue un nom au Gestionnaire de Licence NetHASP.

Maximum: 1 nom comportant jusqu'à 8 caractères.

Mot Clé: NH_USELANANUM =Valeurs Possibles: <Nombre>Description: Attribue un lana number à utiliser comme canal de communication.

Mots Clé Généraux

Mot Clé: NH_SESSION =Valeurs Possibles: <Nombre>Description: Définit la durée maximale durant laquelle l'application protégée essaiera

de se connecter au Gestionnaire de Licence NetHASP.Valeurs par Défaut: 2 secondes

Mot Clé: NH_SEND_RCV =Valeurs Possibles: <Nombre>Description: Définit la durée maximale pour que le Gestionnaire de Licence NetHASP

envoie et recoive un paquet.Valeurs par Défaut: 1 seconde

Page 256: Manuel Hasp

C-8 Fichier de Configuration NetHASP

[NH_TCPIP]

Note: NetHASP ne supporte pas le protocole TCP/IP sous DOS.

Mots Clé Spécifiques à la Section

Mot Clé: NH_SERVER_ADDR =Valeurs Possibles: <Adresse1>, <Adresse2>Description: Définit l'adresse IP de tous les Gestionnaires de Licence NetHASP que

vous désirez chercher.Des adresses illimitées et des lignes multiples sont possibles.Les formats d'adresse possibles peuvent être par exemple :Adresses IP : 192.114.176.65Nom d'Hôte Local : ftp.aladdin.co.il

Mot Clé: NH_SERVER_NAME =Valeurs Possibles: <Nom1>, <Nom2>,...Description: Communique avec le Serveur NetHASP dont le nom est indiqué.

Maximum : 6 noms comprenant jusqu'à 7 caractères.

Mot Clé: NH_PORT_NUMBER =Valeurs Possibles: <Number>Description: Définit le numéro du port TCP/IP (optionnel).Valeurs par Défaut: 475

Mot Clé: NH_TCPIP_METHOD =Valeurs Possibles: TCP, UDPDescription: Envoie un paquet TCP ou un paquet UDP.Valeurs par Défaut: UDP

Mot Clé: NH_USE_BROADCAST =Valeurs Possibles: Enabled, DisabledDescription: Utilise le mécanisme de Broascast UDP.Valeurs par Défaut: Enabled

Page 257: Manuel Hasp

C-9

Mots Clé Généraux

Mot Clé: NH_SESSION =Valeurs Possibles: <Nombre>Description: Définit la durée maximale durant laquelle l'application protégée essaiera

de se connecter au Gestionnaire de Licence NetHASP.Valeurs par Défaut: 2 secondes

Mot Clé: NH_SEND_RCV =Valeurs Possibles: <Nombre>Description: Définit la durée maximale pour que le Gestionnaire de Licence NetHASP

envoie et recoive un paquet.Valeurs par Défaut: 1 seconde

Page 258: Manuel Hasp

C-10 Fichier de Configuration NetHASP

Page 259: Manuel Hasp

D-1

Annexe D - Paramètres du Gestionnaire deLicence NetHASP

Le tableau D.1 contient tous les paramètres disponibles pour lesdifférents Gestionnaires de Licence NetHASP. Le tableau D.2explique comment utiliser ces paramètres.

Tableau D.1: Gestionnaires de Licence NetHASP et leurs paramètres

Paramètres haspserv .exe nhsrvwin .exe haspserv .nlm nhsrvw32 .exenhsrvos2.exe

nhdosj.exe nhswinj.exe

-? u u u

-addrappend u u u u u u

-addrpath u u u u u u

-help u u u

-ibm u u u u u

-ibm36 u u u u u

-ipx u u u u u

-ipxnosap u u u u u u

-localnet u u u u u u

-maxlananum u

-nbname u u u u u u

-nec u u

-net u

-netbios u u u u u

-nethaspnbname u u u u u u

Page 260: Manuel Hasp

D-2 Paramètres du Gestionnaire de Licence NetHASP

Paramètres haspserv .exe nhsrvwin .exe haspserv .nlm nhsrvw32 .exenhsrvos2.exe

nhdosj.exe nhswinj.exe

-openmin u

-portnum u u u

-r u u

-saptofile u

-srvname u u u u u u

-tcp/ip u u u

-uselananum u u u u u

-userlist u u u

Page 261: Manuel Hasp

D-3

Tableau D.2: Explication des paramètres du Gestionnaire de Licence NetHASP

Paramètres Explication

-? Affiche la liste des paramètres disponibles.

-addrappend N'écrit pas par dessus le fichier nethaddr.dat. Ajoute l'adresse du Gestionnaire de LicenceNetHASP à la suite des adresses contenues dans le fichier d'adresses.

-addrpath=<chemin> Spécifie le chemin de sauvegarde du fichier newhaddr.dat. Par défaut, le Gestionnaire deLicence NetHASP place le fichier newhaddr.dat dans le répertoire d'où il est lancé.

-help Affiche la liste des paramètres disponibles.

-ibm Valeur par défaut. Utilisez ce paramètre avec des PC IBM pour rechercher une clé NetHASPstandard.

-ibm36 Utilisez ce paramètre avec des PC IBM pour rechercher une clé NetHASP36 et ensuite une cléNetHASP standard.

-ipx Indique au système NetHASP d'utiliser le protocole IPX avec SAP.

-ipxnosap Indique au système NetHASP d'utiliser uniquement le protocole IPX (sans SAP). Avec leGestionnaire de Licence pour Win32, vous pouvez toujours charger d'autres protocoles enutilisant soit les paramètres -tcpip ou -netbios.

Lorsque vous utilisez ce paramètre, le Gestionnaire de Licence NetHASP crée un fichier nomménewhaddr.dat. Ce fichier contient l'adresse du nœud de la station exécutant le Gestionnaire deLicence NetHASP. Lorsque vous chargez le Gestionnaire de Licence NetHASP avec ceparamètre, seules les applications protégées ayant accès au fichier newhaddr.dat pourrontcommuniquer avec le Gestionnaire de Licence NetHASP.

-localnet Utilisez ce paramètre si vous désirez que le Gestionnaire de Licence NetHASP ne gère que lesstations se trouvant dans son réseau local.

Si des demandes proviennent de stations hors du réseau local, le Gestionnaire de LicenceNetHASP retournera l'erreur 140.

-nbname=<nom> Assigne un nom NetBIOS au Gestionnaire de Licence NetHASP. Ce paramètre est identique auparamètre -nethaspnbname.

-nec Utilisez ce paramètre avec des ordinateurs NEC pour rechercher une clé NetHASP36.

-net Ne diffuse l'adresse du Gestionnaire de Licence NetHASP qu'à un numéro de réseau localdonné.

Page 262: Manuel Hasp

D-4 Paramètres du Gestionnaire de Licence NetHASP

Paramètres Explication

-netbios Force le système NetHASP à n'écouter que le protocole NetBIOS. Avec le Gestionnaire deLicence NetHASP pour Win32, vous pouvez toujours charger d'autres protocoles à l'aide desparamètres -tcpip ou -ipxnosap.

-nethaspnbname=<nom>

Assigne un nom NetBIOS au Gestionnaire de Licence NetHASP. Même paramètre que-nbname.

-openmin Charge le Gestionnaire de Licence NetHASP en fenêtre minimisée. Par défaut, la fenêtre estmaximisée.

-portnum=<nombre> Si vous utilisez le protocole TCP/IP, vous pouvez utiliser ce paramètre pour indiquer auGestionnaire de Licence NetHASP d'écouter le port indiqué. Le numéro de port par défaut est475.

-r Enlève le Gestionnaire de Licence NetHASP.

-saptofile Lorsque vous utilisez ce paramètre, le Gestionnaire de Licence NetHASP crée un fichiernewhaddr.dat. Ce fichier contient l'adresse du nœud de la station exécutant le Gestionnaire deLicence NetHASP.

-srvname=<nom>[,nom]

Assigne un ou plusieurs noms au Gestionnaire de Licence NetHASP. Vous pouvez assignerjusqu'à six noms.

-tcpip Force le système NetHASP à n'écouter que le protocole TCP/IP. Avec le Gestionnaire deLicence pour Win32, vous pouvez toujours charger d'autres protocoles avec les paramètres-ipxnosap ou -netbios.

-uselananum=<x>[,<x>]

Indique au Gestionnaire de Licence NetHASP d'écouter sur les lana numbers indiqués.

-userlist Limite le nombre maximum d'applications protégées.

Page 263: Manuel Hasp

E-1

Annexe E - Adaptation de NetHASP

Définition des Stations Autorisées sous IPX au Réseau Cette section décrit les paramètres supplémentaires duGestionnaire de Licence NetHASP et les mots clés du fichiernethasp.ini que vous pouvez utiliser pour ajuster le système NetHASPà votre environnement réseau.

Pour n'autoriser que certaines stations à accéder au systèmeNetHASP sous protocole IPX :

1. Chargez le Gestionnaire de Licence NetHASP avec le paramètre -ipxnosap.

Cela permet de diffuser l'adresse du Gestionnaire de LicenceNetHASP dans le fichier d'adresse NetHASP newhaddr.dat.

2. Modifier le fichier nethasp.ini comme suit :

♦ Dans la section [NH_COMMON], définissez NH_IPX =Enabled

♦ Dans la section [NH_IPX], définissez NH_USE_BROADCAST= Disabled

♦ Dans la section [NH_IPX], définissez NH_USE_BINDERY =Disabled

Ces paramètre indiquent à l'application protégée tournant sur lesstations autorisées de chercher le fichier d'adresse et d'y lire l'adressedu Gestionnaire de Licence NetHASP.

3. Copiez l'application protégée et le fichier nethasp.ini dans le mêmerépertoire. Assurez-vous que seules les stations autorisées, etuniquement celles-ci, lancent l'application à partir de ce répertoire.

Page 264: Manuel Hasp

E-2 Adaptation de NetHASP

Définition des Stations Autorisées sous TCP/IPIl existe deux méthodes de définition des stations autorisées sousTCP/IP. Vous pouvez définir les stations autorisées à se connecter àun Gestionnaire de Licence NetHASP, ou bien indiquer leGestionnaire de Licence NetHASP que les stations autorisées doiventrechercher.

Spécification des Stations grâce au Fichier nhsrv.iniLes Gestionnaires de Licence NetHASP pour Windows et Win32peuvent lire un fichier de configuration : nhsrv.ini. vous pouvezmodifier ce fichier pour indiquer les stations que le Gestionnaire deLicence NetHASP gérera sous TCP/IP.

Pour spécifier les stations autorisées, modifiez le fichiernhsrv.ini comme suit :

♦ Dans le section [NH_SERVER], définissez NH_IP_LIMIT =<ipaddr> [,<ipaddr....]

où <ipaddr> peut avoir des valeurs aux formats suivants :

♦ 10.1.2.3 - le Gestionnaire de Licence NetHASP ne gérera queles stations avec l'adresse ip indiquée

♦ 10.1.2.* - le Gestionnaire de Licence NetHASP ne gérera queles stations dont l'adresse ip correspond au masque indiqué,i.e. 10.1.2.0 à 10.1.2.255

♦ 10.1.*.*- le Gestionnaire de Licence NetHASP ne gérera que lesstations dont l'adresse ip correspond au masque indiqué, i.e.10.1.0.0 à 10.1.255.255

♦ 10.1.2.3-5 - le Gestionnaire de Licence NetHASP ne gérera queles stations avec l'adresse ip 10.1.1.3, 10.1.1.4 et 10.1.1.5

Le Gestionnaire de Licence NetHASP recherche le fichier nhsrv.inidans les répertoires suivants :

Page 265: Manuel Hasp

E-3

Tableau E.1: Ordre de recherche du fichier nhsrv.ini

Type d’Application Ordre de Recherche

Windows Répertoire courant → Répertoire de Windows → Répertoire System deWindows → Répertoire du fichier exécutable → Path → Map de rechercheNetware

Win32 Répertoire du fichier exécutable → Répertoire courant → Répertoire Systemde Windows → Répertoire de Windows → Path

Pour n'autoriser que certaines stations à accéder à NetHASPsous protocole TCP/IP :

1. Modifiez le fichier nhsrv.ini et définissez les stations autorisées.

2. Copiez le fichier nhsrv.ini dans un répertoire accessible auGestionnaire de Licence NetHASP.

Spécification des Stations grâce au Fichier nethasp.iniVous pouvez modifier le Ficher de Configuration NetHASP pourindiquer au Gestionnaire de Licence NetHASP les stations àrechercher.

Pour spécifier les stations à rechercher au Gestionnaire deLicence NetHASP :

1. Modifiez le fichier nethasp.ini :

♦ Dans la section [NH_TCPIP], définissezNH_SERVER_ADDRESS= <adresse du Gestionnaire deLicence NetHASP>

2. Copiez le fichier nethasp.ini dans un répertoire accessible qu'auxstations autorisées.

Page 266: Manuel Hasp

E-4 Adaptation de NetHASP

Définition des Stations Autorisées sous NetBIOS

Pour n'autoriser que certaines stations à accéder à la cléNetHASP sous protocole NetBIOS :

1. chargez le Gestionnaire de Licence NetHASP avec le paramètre-nbname pour définir un nom de votre choix (jusqu'à 8 caractères).Cela définit le nom NetBIOS du Gestionnaire de Licence NetHASP.

Par exemple, pour lancer haspserv.exe et définir le nom NetBIOSde la station comme étant firstsrv, entrez :

haspserv -nbname = firstsrv

2. Modifiez le fichier nethasp.ini :

♦ Dans le section [NH_COMMON], définissez NH_NETBIOS =Enabled

♦ Dans la section [NH_NETBIOS], définissez NH_NBNAME =firstsrv

Cela lie la station au nom NetBIOS.

3. Copiez l'application protégée et le fichier nethasp.ini dans un mêmerépertoire. Assurez-vous que seules les stations autorisées, etuniquement celles-ci, lancent l'application à partir de ce répertoire.

Note: Vous ne pouvez pas définir deux stations avec le même nomNetBIOS. Si vous désirez lancer le Gestionnaire de LicenceNetHASP sur plusieurs stations, vous devez définir un nomNetBIOS différent pour chaque Gestionnaire de LicenceNetHASP.

Adaptation de la durée du TimeoutLe Gestionnaire de Licence NetHASP ne peur gérer plus d'unerequête à la fois. La durée du timeout détermine le temps que met

Page 267: Manuel Hasp

E-5

une application protégée pour essayer d'accéder au Gestionnaire deLicence NetHASP avant d'abandonner.

Sur la plupart des réseaux, la valeur par défaut du timeout estsuffisante, vous ne devez modifier cette valeur que si la clé NetHASPest connectée à une station lente ou très occupée.

Pour définir la durée du timeout :

♦ Dans la section appropriée du fichier nethasp.ini, définissez :

NH_SESSION = <m>

NH_SEND_RCV = <n>

où m et n sont exprimés en secondes. Par défaut, m vaut 2secondes et n 1 seconde.

Définition du Nombre d'Applications ProtégéesGérées

Gestionnaire de Licence NetHASP pour DOSLe Gestionnaire de Licence NetHASP alloue de la mémoire pour gérer250 applications protégées (environ 4 Ko). Si nécessaire, vous pouvezlimiter la mémoire utilisée en modifiant cette valeur par défaut.

Pour modifier la quantité de mémoire allouée par défaut :

♦ Chargez le Gestionnaire de Licence NetHASP comme suit :

haspserv -userlist = n

où n est le nombre maximum d'applications protégées.

Page 268: Manuel Hasp

E-6 Adaptation de NetHASP

Gestionnaire de Licence NetHASP pour Win32Le Gestionnaire de Licence NetHASP pour Win32 peut gérer plus de250 applications protégées.

Pour modifier la quantité de mémoire allouée par défaut :

♦ Chargez le Gestionnaire de Licence NetHASP comme suit :

nhsrvw32 -userlist = n

où n est le nombre d'applications protégées à gérer.

Page 269: Manuel Hasp

E-7

Réseaux Locaux et InterconnectésCette section décrit des réseaux composés de plusieurs réseauxinterconnectés utilisant le protocole IPX.

Avec le système NetHASP, le terme de réseau local est très vaste. LeGestionnaire de Licence NetHASP et le client NetHASP (l'applicationprotégée) considèrent le réseau local différemment. Le Gestionnairede Licence NetHASP appelle réseau local tous les segmentsdirectement connectés au Gestionnaire de Licence NetHASP. Le clientNetHASP client appelle réseau local le segment actuel.

Un réseau interconnecté est un groupe de deux ou plus réseaux locauxconnectés entre eux.

L'exemple ci-dessous montre comment vous pouvez configurer leclient NetHASP et le Gestionnaire de Licence NetHASP pourfonctionner en réseau local ou interconnecté.

Adaptation du Gestionnaire de Licence NetHASPLe réseau interconnecté de notre exemple comprend deux serveurs defichiers : File Server 1 et File Server 2. Le serveur File Server 1possède deux segments numérotés 111 et 222. Le serveur File Server2 possède également deux segments numérotés 333 et 444.

Page 270: Manuel Hasp

E-8 Adaptation de NetHASP

Figure E.1: Réseaux locaux et interconnectés

Par défaut, le Gestionnaire de Licence chargé sur le File Server 1 oule File Server 2 gère l'ensemble du réseau interconnecté. Cela signifieque si vous lancez le Gestionnaire de Licence NetHASP sansparamètre, il gérera les segments 111, 222, 333 et 444 du réseau.

Ø Si vous désirez limité le Gestionnaire de Licence NetHASP auxstations du réseau local géré par le serveur File Server 1 (stationssur les segments 111 et 222) :

Sur le serveur File Server 1, chargez haspserv.nlm avec leparamètre -localnet comme suit :

load haspserv -localnet

Désormais, le Gestionnaire de Licence NetHASP ne gérera plus lesstations des segments 333 et 444.

Ø Si vous ne désirez gérer que les stations du segments 222 avec leGestionnaire de Licence NetHASP :

Sur le serveur File Server 1, chargez le Gestionnaire de LicenceNetHASP avec le paramètre supplémentaire -net, comme suit :

load haspserv -localnet -net 222

Page 271: Manuel Hasp

E-9

Désormais, le Gestionnaire de Licence NetHASP ne gérera que lesstations du segment 222, et non plus celles des segments 111, 333et 444.

Adaptation du Client NetHASPPar défaut, une application protégée recherche le Gestionnaire deLicence NetHASP sur le réseau interconnecté.

Si vous désirez que votre application ne recherche le Gestionnaire deLicence NetHASP que sur son réseau local :

♦ Modifiez le fichier nethasp.ini comme suit :

♦ Dans la section [NH_COMMON], définissez NH_IPX =Enabled

♦ Dans la section [NH_IPX], définissez NH_SEARCH_METHOD= Localnet

Si l'application protégée fonctionne sur une station du segment 222,l'application ne trouvera le Gestionnaire de Licence NetHASP que surle segment 222. L'application ne recherchera pas un Gestionnaire deLicence NetHASP qui est actif sur un autre réseau local.

Page 272: Manuel Hasp

E-10 Adaptation de NetHASP

Page 273: Manuel Hasp

F-1

Annexe F - HASP sous OS/2Utilisez l'API HASP pour protéger les applications en OS/2 natif.

L'API HASP pour OS/2 contient un répertoire distinct pour chaquecompilateur supporté par HASP. Chaque répertoire contient un sous-répertoire 16bit ou 32bit, ou bien les deux. Ces derniers contiennentles fichiers objets HASP 16-bit et 32-bit. Le répertoire 16bit inclut unsous-répertoire dll avec tous les fichiers nécessaire à la générationd'une DLL HASP.

NoteNetHASP:

Actuellement, NetHASP ne supporte pas les fichiers objets32-bit. Pour protéger votre application avec NetHASP,utilisez les fichiers objets 16-bit ou la DLL.

Installation de HASP sous OS/2Pour accéder aux clés HASP, les applications protégées liées à desfichiers objets 16-bit, doivent s'exécuter dans des segments IO-privileged. Dans de tels cas, ajouter la ligne suivante dans le fichierconfig.sys OS/2 :

IOPL = YES

Pour supporter les applications liées à des fichiers objets HASP 32-bit, vous devez installer le Gestionnaire de Périphérique HASP pourOS/2 : haspos2.sys. Le Gestionnaire de Périphérique HASP permetl'accès aux clés HASP sur des ordinateurs isolés.

Pour installer le Gestionnaire de Périphérique HASP:

♦ Ajoutez la ligne suivante dans le fichier config.sys OS/2:

DEVICE=<chemin>\HASPOS2.SYS

où <chemin> est le chemin d'accès complet au Gestionnaire dePériphérique HASP.

Page 274: Manuel Hasp

F-2 HASP sous OS/2

Reconfiguration du Port Parallèle pourPartager le Port

Si l'imprimante et la clé HASP sont connectées sur le mêmeport parallèle, reconfigurez le port comme suit :

1. Dans le Gestionnaire de Programme OS/2, utilisez le bouton droitde la souris sur l'icône Imprimante.

2. Choisissez l'option Réglage.

3. Choisissez l’onglet Sortie. Une page indiquant tous les ports LPTet COM s’affiche.

4. Double cliquez sur le port LPT sur lequel sont connectés la cléHASP et l'imprimante. La fenêtre de Paramétrage du PortParallèle apparaît.

5. Cochez l'option Partager l'accès dans le bas de la fenêtre.

6. Cliquez sur OK.

Page 275: Manuel Hasp

G-1

Annexe G - HASP36 et NetHASP36HASP36 est se qui se fait de mieux en matière de système deprotection matérielle pour les applications tournant sur desordinateurs PC NEC japonais.

La clé HASP36 se connecte sur le port parallèle des ordinateurs NEC.Si vous distribués des logiciels au Japon, HASP36 peut vous aider àaugmenter vos revenus en empêchant la diffusion de copies illégale devotre application.

La gamme de clés HASP36 est entièrement compatible avec les autresproduits HASP. Cela signifie que vous pouvez facilement adaptervotre application protégée avec une clé HASP36 pour fonctionner surles PC occidentaux ou japonais.

La protection avec les clés HASP36 est similaire à la protection avecclés HASP. Les différences sont détaillées dans cette annexe.

Page 276: Manuel Hasp

G-2 HASP36 et NetHASP36

La Gamme HASP36

Tableau G.1 Clés de la gamme HASP36

Clés HASP Mémoire Interneen Lecture /.Ecriture

HASP36 aucune

MemoHASP36-1 56 mots (112 octets)

MemoHASP36-4 248 mots (496 octets)

NetHASP36 248 mots (496 octets)

Installation de HASP36Les clés HASP36 se connectent sur le port parallèle via le câble del'imprimante. Si le câble de l'imprimante n'est pas disponible, vouspouvez utiliser un adaptateur. Vous pouvez connecter les clésHASP36 sur les ports parallèles Centronics 14, 20 et 36 broches desordinateurs NEC en utilisant différents types de câbles. Avec unadaptateur, vous pouvez connecter les clés HASP36 à un portparallèle 25 broches d'un ordinateur IBM PC.

Page 277: Manuel Hasp

G-3

Protection par EnveloppeLe programme de protection par Enveloppe utilisé dépend du typed'application à protéger et de l'environnement de travail. Consultez letableau G.2 pour déterminer le programme d'Enveloppe que vousdevez utiliser.

Tableau G.2: Programmes d’Enveloppe pour HASP36

Programmed’Enveloppe

Type d'Application à Protéger Environnement de Travail

nhspinst.exe DOS DOS japonais sur NEC

vhspinst.exe DOS DOS/V sur IBM

haspinst.exe DOS DOS sur IBM

nwhinst.exe Windows DOS japonais sur NEC

vwhinst.exe Windows DOS/V sur IBM

whinst.exe Windows DOS sur IBM

W32hinst.exe Win32 Systèmes Win32 sur IBM et NEC

Identification de l’OrdinateurLes programmes d'Enveloppe possèdent un champ Target Computerpermettant d'indiquer le type d'ordinateur sur lequel va s'exécuterl'application protégée. Dans les programmes d'Enveloppe japonaise, lavaleur par défaut est NEC. L'autre valeur possible est IBM. Pourpréciser le type d'ordinateur en mode batch, utilisez le paramètre-ibm ou -nec.

Page 278: Manuel Hasp

G-4 HASP36 et NetHASP36

HaspEditIl existe différents programmes HaspEdit fonctionnant sur desordinateurs et environnements différents. Consultez le tableau G.3pour déterminer le programme HaspEdit que vous devez utiliser.

Tableau G.3: Programmes HaspEdit pour HASP36

Programmes HaspEdit Environnement de Travail

nhspedit.exe DOS japonais sur NEC

vhspedit.exe DOS/V sur IBM

haspedit.exe DOS sur IBM

whedit.exe Windows et Windows japonais sur IBM

nwhedit.exe Windows japonais sur NEC

Protection par APIUtilisez la routine hasp( ) pour incorporer la protection par API dansvotre application. Le tableau G.4 indique les services disponibles pourchacune des clés de la gamme HASP36.

Tableau G.4: Clés HASP36 et les services API correspondants

Clés HASP36 Services API Correspondants

HASP36 HASP de base

MemoHASP36-1 HASP de base et MemoHASP

MemoHASP36-4 HASP de base et MemoHASP

NetHASP36 NetHASP

Page 279: Manuel Hasp

G-5

Le Paramètre LptNumLe paramètre LptNum est utilisé lors des appels à la routine hasp( )avec les services HASP de base ou les services MemoHASP. Ceparamètre indique à la routine hasp( ) la famille de clé HASP àrechercher : HASP ou HASP36. Le paramètre LptNum indiqueégalement sur quel port parallèle rechercher la clé.

Utilisez le tableau suivant pour déterminer la valeur à assigner auparamètre LptNum lors de la recherche d'une clé HASP36. Nous vousrecommandons d'effectuer une recherche automatique de la clé surtous les ports parallèles de l'ordinateur. Dès que l'application trouveune clé HASP, la recherche s'arrête.

Tableau G.5: Définition du LptNum avec HASP36

Ports Recherchés LptNum sur NEC LptNum sur IBM PC

Tous les Ports (Automatique) 60 50

Port Parallèle NEC 61 —

LPT1 seulement — 51

LPT2 seulement — 52

LPT3 seulement — 53

03BCH seulement — 151

0378H seulement — 152

0278H seulement — 153

Note: Actuellement, les ordinateurs NEC n’ont qu’un seul portparallèle. Une recherche automatique avec le LptNum à 60assure une compatibilité avec les futurs ports parallèles.

Vous n'avez besoin que d'une seule clé HASP36 pour faire tourner vosapplications protégées sur les NEC et les IBM PC. Assignez

Page 280: Manuel Hasp

G-6 HASP36 et NetHASP36

seulement au paramètre LptNum une valeur lui indiquant sur quelport parallèle et quel type de clé rechercher.

Gestionnaire de Périphérique HASPDurant l'installation, le Gestionnaire de Périphérique HASPreconnaît automatiquement le type d'ordinateur (IBM ou NEC). Celapermet à une application protégée de migrer d'une plate-forme IBMvers une plate-forme NEC sans modification du programme. LeGestionnaire de Périphérique HASP convertit automatiquement leparamètre LptNum de IBM à NEC (voir tableau G.5).

Attention

Une application que vous protégez pour fonctionner sur IBM PC, ne peut être lancéesur un ordinateur NEC que si vous utilisez le Gestionnaire de Périphérique HASP.Le Gestionnaire de Périphérique HASP convertit automatiquement la valeur deLptNum en fonction de la plate-forme. Si vous n'installez pas le Gestionnaire dePériphérique HASP sur les ordinateurs NEC, assurez-vous d'appeler la routinehasp( ) avec LptNum définit à 60 ou 61. Toute autre valeur de LptNum provoqueraun plantage de l'ordinateur.

Page 281: Manuel Hasp

G-7

Gestionnaires de Licence NetHASPLe tableau G.6 contient la liste des Gestionnaires de LicenceNetHASP que vous pouvez utiliser avec NetHASP36.

Tableau G.7: Gestionnaires de Licence NetHASP pour NetHASP36

Gestionnaires de Licence NetHASP Environnement de Travail

nhsdosj.exe DOS sur NEC

nhswinj.exe Windows sur NEC

nhsrvwnt.exe Windows 95 et Windows NT sur IBM ou NEC

haspserv.nlm Serveurs de fichier Netware 386 et 486 sur IBM ou NEC

nhsrvos2.exe OS/2 sur IBM ou NEC

Page 282: Manuel Hasp

G-8 HASP36 et NetHASP36

Page 283: Manuel Hasp

H-1

Annexe H - Mots de Passe deDémonstration

Lorsque vous commandez des clés HASP, on vous assigne un CodeDéveloppeur unique et des Mots de Passe HASP uniques.. Vousrecevez ces mots de passe avec votre première série de clés.

Les Tableaux H.1 et H.2 montrent les mots de passe que vous pouvezutiliser avec les clés de démonstration présentent dans les Kit deDéveloppement.

Tableau H.1: Mots de Passe des clés de démonstrationHASP à mémoire

Code Développeur PremierMot de Passe

SecondMot de Passe

DEMOMA 15417 9632

DEMOMB 29875 28774

DEMOMC 29313 23912

Page 284: Manuel Hasp

H-2 Mots de Passe de Démonstration

Tableau H.2: Mots de Passe des clés de démonstration HASP-3

Code Développeur PremierMot de Passe

SecondMot de Passe

DEMO3A 5932 25657

DEMO3B 20580 22012

DEMO3C 10038 15697

Page 285: Manuel Hasp

I-1

Annexe I - Support TechniqueLa première partie de cette annexe présente les problèmesfréquemment rencontrés avec les clé HASP. Les parties suivantesvous aideront à résoudre les différents problèmes auxquels vous ouvos clients pourriez être confrontés.

Malgré tous les efforts déployés pour assurer la meilleure qualité etcompatibilité, les clés HASP, comme tout périphérique PC, peuvent nepas fonctionner avec certaines configurations suite à un équipementdéfectueux ou une mauvaise installation.

De plus, comme les clés HASP sont connectées sur l'ordinateur, ellespeuvent être accusées de provoquer des dysfonctionnements dus enfait à d'autres composants d'une configuration particulière.

Si l'un de vos clients vous fait part d'un problème, vérifiez les pointsde la liste ci-après. La plupart des problèmes peuvent être réglésgrâce à la liste suivante.

♦ La carte parallèle et la clé HASP sont-elles correctementconnectées au port parallèle ?

♦ Le PC est-il infecté par un virus qui pourrait empêcherl'application de fonctionner correctement ?

♦ Le problème se reproduit-il avec une autre clé HASP? Si non,replacez la clé défectueuse par une nouvelle.

♦ Une imprimante est-elle connectée sur le même port que le cléHASP ? Si oui, fonctionne-t'elle correctement ? (Une impressioncorrecte ne signifie pas que le port fonctionne correctement à100%.)

♦ Si la clé HASP est connectée sur le même port d'une imprimante,déconnectez l'imprimante et vérifier si la clé fonctionnecorrectement. S'il y a des problèmes d'impression, essayerd'utiliser un autre câble de connexion et si possible une autreimprimante.

Page 286: Manuel Hasp

I-2 Support Technique

♦ Si possible, essayez d’utiliser (ou d’installer) un second portparallèle pour la clé HASP, pour éviter tout problème causé parl'imprimante. Si ce n'est pas possible, essayez de remplacer lacarte parallèle d'origine.

♦ Essayez d'utiliser l'application protégée sur un autre PC de mêmemodèle.

Page 287: Manuel Hasp

I-3

Problèmes et SolutionsProblème: La clé HASP est connectée mais l'application protégée

renvoie une erreur “Clé HASP non trouvée”.

Solution: Bien que de nombreux efforts déployés pour assurer le meilleurniveau de communication, dans de rares occasions, un appel à laclé HASP peut ne pas être transmis correctement. Nous vousrecommandons d'appeler la routine hasp( ) avec un serviceplusieurs fois avant de conclure que la clé n'est pas présente.N'agissez en conséquence que si toutes les réponses indiquentl'absence de la clé.

Problème: Le programme d'Enveloppe pour DOS ne peut être utilisépour protéger les fichiers exécutables pouvant être liés àd'autres applications.

Solution: Cela est particulièrement vrai pour la commande “chain” desanciens compilateurs BASIC, de même que pour la commande“execute” du Turbo Pascal V 3.0. Dans les autres cas, vouspouvez protéger le fichier principal (le fichier qui exécute leschaînages) excepté s'il est lui-même rappelé.

N'oubliez pas que si vous ne pouvez pas utiliser le programmed'Enveloppe, vous pouvez toujours utiliser l'API (voir chapitre 6).

Problème: Vous obtenez des erreurs de l'imprimante lorsque vousessayez d'imprimer à partir d'une application protégée.

Solution: Cela est dû à un conflit entre l'imprimante et l'accès à la cléHASP.

Pour éviter les conflits entre la clé HASP et d'autrespériphériques parallèles (comme des imprimantes), installez leGestionnaire de Périphérique HASP. Voir chapitre 14 pour plusd'informations.

Page 288: Manuel Hasp

I-4 Support Technique

Problème: Une clé HASP est connectée à l'impriamnte et Windowsindique que l'imprimante est inaccessible ou qu'il y a unconflit de périphérique.

Solution: 1. Choisissez le Groupe Principal du Gestionnaire deProgramme.

2. Choisissez l'icône Panneau de Configuration.

3. Cliquez sur 386 Etendu.

4. Sélectionnez LPT1 dans la zone Device Contention et cliquezsur Never Warn.

5. Répétez l'opération 4 pour les ports LPT2 et LPT3.

6. Cliquez sur OK.

Problème: Vous essayez d'utiliser le programme hinstall.exe pourinstaller le Gestionnaire de Périphérique HASP sousWindows NT mais vous obtenez l'erreur 9121.

Solution: Vous obtenez l’erreur 9121 sous Windows NT si vous essayezd’installer le programme hinstall sans les droits Administrateur.

Problème: Vous essayez d'exécuter une application protégée par uneclé MemoHASP sous Windows NT ou Windows 95, maisl'application ne peut trouver la clé.

Solution: Vérifiez les points suivants :

♦ Assurez-vous que le Gestionnaire de Périphérique HASP estinstallé.

♦ Si le problème persiste avec le Gestionnaire de PériphériqueHASP chargé, exécutez :

hinstall -info

Page 289: Manuel Hasp

I-5

Hinstall affiche le numéro de version, la date d'installation et letype d'ordinateur. contactez votre représentant HASP etfournissez-lui ces informations.

Page 290: Manuel Hasp

I-6 Support Technique

Problème: Votre application protégée avec une clé MemoHASP estexécutée sous Windows NT. Vous avez indiqué à votreclient d'installer le Gestionnaire de Périphérique HASPen lançant : hinstall -is

Maintenant, chaque fois que le client redémarre rsontordinateur, il affiche le message: “HASP Loader Serviceunable to load the NetHASP License Manager.”

Solution: En exécutant hinstall -is, vous avez installé le Gestionnaire dePériphérique HASP et également le Gestionnaire de LicenceNetHASP pour Win32, nhsrvwnt.exe. Comme le programmenhsrvwnt.exe n'a pas été copié dans le répertoire SYSTEM32, lemodule de chargement ne peut charger automatiquement leGestionnaire de Licence NetHASP et affiche ce message.

Il y a manières de résoudre ce problème :

♦ Copiez le programme nhsrvwnt.exe dans le répertoireSYSTEM32.

♦ Désactivez le Gestionnaire de Licence NetHASP. Vous n'avezpas besoin du Gestionnaire de Licence NetHASP étant donnéque vous utilisez une clé MemoHASP et non une cléNetHASP. Pour désactiver le chargement automatique duprogramme nhsrvwnt.exe exécutez :

hinstall -rs

Page 291: Manuel Hasp

I-7

Problème: Votre application est protégée par une clé NetHASP etl'Enveloppe. Bien que toutes les licences ne soient pasutilisées, des utilisateurs supplémentaires ne peuventlancer l'application. Ils obtiennent l'erreur “too manyusers” ("trop d'utilisateurs") lorsqu'ils essaient.

Solution: Une application protégée uniquement par une clé NetHASP etl'Enveloppe ne fait pas de LOGOUT NetHASP. Lorsqu'uneapplication se termine, elle reste listée dans la Table deConnexion, ne libérant ainsi pas sa licence.

Pour enlever l'application de la Table de Connexion, et ainsilibérer une licence, utilisez l'API pour effectuer un LOGOUTNetHASP.

Problème: Vous protégez une application utilisable soit sur PC isolésous en environnement réseau avec une clé MemoHASP etNetHASP. Maintenant, vous découvrez qu'une station deplus que le nombre de licences accordées exécutentl'application.

Solution: Ce arrive car l'application essaie d'abord de trouver une cléMemoHASP sur le port local. si les Codes Développeur des clésMemoHASP et NetHASP sont les mêmes, une applicationexécutée sur la station possédant la clé NetHASP trouvera la cléNetHASP locale. L'application traitera cette clé NetHASP localecomme une clé monoposte et ne sera pas enregistrée dans laTable de Connexion NetHASP. De ce fait, l'application neconsomme pas de licence.

Pour éviter cette situation, assurez-vous que les clésMemoHASP et NetHASP ont des Codes Développeur différents.

Page 292: Manuel Hasp

I-8 Support Technique

Problème: Votre application Win32 protégée par une clé NetHASPfonctionne correctement sur des stations sous Windowsfor Workgroups, mais provoque des erreurs LastStatusNetHASP 1 lorqu'elle foncitonne sous Win32s.

Solution: Copiez le fichier hasput16.dll dans le répertoire de l'application.vous pouvez trouver le fichier hasput16.dll dans le répertoiredrivers des logiciels HASP.

Problème: Dans les trois situations suivantes, l'erreur 15 survientlorsque vous exécutez votre application Windows 16-bit :

♦ Le Gestionnaire de Licence NetHASP nhsrvwnt.exe estchargé sur une station Windows NT.

♦ L'application tourne sur une station Windows forWorkgroups.

♦ Le protocole actif est NetBIOS.

Solution: Cette erreur survient car les protocoles réseau du Gestionnairede Licence NetHASP et du client NetHASP ne sont passynchronisés.

Page 293: Manuel Hasp

I-9

Pour synchroniser les protocoles :

1. Assurez-vous que le transport IPX/SPX compatible NetBIOSest le protocole par défaut sur le Gestionnaire de LicenceNetHASP (voir “Paramétrage du Protocole par Défaut” auchapitre 16).

2. Assurez-vous que le transport IPX/SPX compatible NetBIOSest également le protocole par défaut sur les stationsWindows for Workgroups (voir Paramétrage du Protocole parDéfaut” au chapitre 16).

3. Modifiez le Fichier de Configuration NetHASP comme suit :

♦ Dans la section [NH_COMMON], définissezNH_NETBIOS=Enabled

4. Copiez le Fichier de Configuration NetHASP dans lerépertoire de l'application.

Problème: Votre application Win32 protégée par NetHASP,fonctionnant sous Windows 95 avec le protocole IPX,renvoie une erreur LastStatus NetHASP 4.

Solution: Actuellement, de tels applications utilisent IPX sans SAP. Pouraccéder au Gestionnaire de Licence NetHASP, l'application doitaccéder au fichier newhaddr.dat pour obtenir l'adresse duGestionnaire de Licence NetHASP. Si l'application protégée nepeut accéder à ce fichier d'adresse, elle renvoie l'erreurLastStatus 4.

Pour plus d'informations sur l'accès au fichier d'adresse,reportez-vous au chapitre 16, “Adapter NetHASP au protocoleIPX sans SAP”.

Page 294: Manuel Hasp

I-10 Support Technique

Problème: Votre application Windows protégée par NetHASPrenvoie l'erreur LastStatus NetHASP 21.

Solution: Les DOS extender et les applications Windows requièrentenviron of 8 Ko de mémoire DOS. L'API NetHASP requiert 1 Kode mémoire DOS.

L'erreur LastStatus NetHASP 21 survient lorsque la quantité demémoire DOS est inférieure à 1 Ko et, de ce fait insuffisantepour le système NetHASP. Dans ce cas, non seulementNetHASP, mais d'autres applications Windows sont désactivées.

Pour résoudre ce problème, déchargez quelques programmesrésidents ou former des applications Windows. Utilisez la mêmesolution pour toute application n'ayant pas assez de mémoirepour s'exécuter.

Problème: L'accès au port parallèle provoque un plantage del'ordinateur.

Solution: A chaque port parallèle des IBM PC est associé un des portssuivants: 3BCh, 378h ou 278h.

Des cartes réseau utilisent généralement les ports 10h ou 20haprès leur adresse de base.

Lorsque le port d'une carte réseau se superpose à celui d'un portparallèle, l'accès à ce port parallèle peut provoquer un plantagede l'ordinateur. Par exemple: une impression, l'accès à une clé deprotection ou à un périphérique connecté sur le port parallèlepeuvent provoquer un plantage de l'ordinateur.

Il est alors nécessaire de modifier l'adresse de base de la carteréseau.

Il existe deux manières de changer l'adresse debase d'unecarte réseau :

♦ Sur certaines cartes réseau il est possible de modifierl'adresse de base par des jumpers. Reportez-vous à la

Page 295: Manuel Hasp

I-11

documentation de votre carte réseau.

♦ sur les nouvelles cartes, le changement d'adresse se fait àl'aide d'un logiciel de configuration livré avec la carte.

Problème: Votre application fonctionne sur une station dont lesdrivers réseau ne sont pas chargés. La station planteaprès que l'application ait effectué un LOGIN NetHASP.

Solution: Cela arrive lorsque le Fichier de Configuration NetHASP activeun protocole spécifique. Le système NetHASP essaie d'utiliser ceprotocole sans vérifier s'il est réellement présent. Si la station nepossède pas les drivers du protocole, elle plante.

La solution consiste à détruire le Fichier de ConfigurationNetHASP. Ou, si vous avez besoin du Fichier de ConfigurationNetHASP, chargez les drivers réseau.

Problème: Votre application protégée par NetHASP fonctionne surune station sous Windows for Workgroups, sur un réseauNovell, avec le protocole IPX, et retourne une erreur 3.

Solution: Les type de trames du fichier net.cfg et de la configurationréseau de Windows ne sont identiques. Vérifiez le type de tramedans le fichier net.cfg et définissez un type de trame Windowsidentique.

Pour définir le type de trame sous Windows :

1. Choisissez l’option Configuration Réseau du Panneau deConfiguraiton.

2. Double cliquez sur Transport IPX/SPX CompatibleNetBIOS.

3. Sélectionnrez Type de Trame.

4. Dans la liste, choisissez la trame désirée et cliquez surDéfinir.

Page 296: Manuel Hasp

I-12 Support Technique

5. Cliquez sur OK.

6. Redémarrez votre ordinateur.

RésuméAssurez-vous d'utiliser la dernière version des logiciels HASP. Pourobtenir les dernières versions, contactez votre représentant HASP.

Si le problème persiste, vérifiez si nos exemples et programmes detest fonctionnent. Ensuite, contactez votre représentant HASP.

Page 297: Manuel Hasp

J-1

Annexe J - Spécifications Techniques

Général

Matériau du boîtier plastique .........................................................................................................ABS

Température de fonctionnement................................................................ 0° - 55° C (32° - 131° F)

Température de stockage ......................................................................-25° - 70° C (-13° - 158° F)

Taux d'humidité...................................................................................... 0 - 100 % sans condensation

Norme 1950 UL-6C61................................................................................................................ 94-V0

Plage de tensions de fonctionnement ASIC ......................................................................... 1,8 - 5,5V

Chaînage ................................................................................................................... jusqu'à 10 unités

Nombre d'accès en écriture de la mémoire HASP .................................................. au moins 100,000

Rétention des données dans la mémoire HASP........................................................ au moins 10 ans

Page 298: Manuel Hasp

J-2 Spécifications Techniques

HASP-3, MemoHASP, NetHASP

Dimensions ................................................................................................................ 39 x 53 x 17 mm

Poids............................................................................................................................................~33 g

Connecteurs ................................................................................................................................DB25

Lignes utilisées ...........................................................................................D0-D7, INIT, ATFDXT, PE

Mémoire Lecture /. Ecriture

HASP-3 ........................................................................................................................ aucune

MemoHASP-1 ......................................................................................................... 112 octets

MemoHASP-4............................................................................. 496 octets

NetHASP ................................................................................................................. 496 octets

Piles / alimentation externe....................................................................................................... aucune

TimeHASP

Dimensions ................................................................................................................ 52 x 53 x 16 mm

Poids............................................................................................................................................~50 g

Connecteurs ................................................................................................................................DB25

Lignes utilisées ...........................................................................................D0-D7, INIT, ATFDXT, PE

Mémoire Lecture / Ecriture

TimeHASP................................................................................................................. 16 octets

TimeHASP-4 ........................................................................................................... 512 octets

Compteurs horloge TimeHASP............................................heure, minute, second, année, mois, jour

Précision horloge TimeHASP ......................................................................................2 heures par an

Durée de vie de la pile ...............................................................................................................3+ ans

Page 299: Manuel Hasp

J-3

HASP36, MemoHASP36, NetHASP36

Dimensions .........................................................................................46 (62 avec attaches) x 68 x 20

Poids............................................................................................................................................~45 g

Connecteurs ................................................................................................................................DB36

Lignes utilisées ...............................................................................................................D0-D7, BUSY

Mémoire Lecture / Ecriture

HASP36........................................................................................................................ aucune

MemoHASP36-1 ..................................................................................................... 112 octets

MemoHASP36-4.......................................................................... 496 octets

NetHASP36 ............................................................................................................. 496 octets

Piles / alimentation externe....................................................................................................... aucune

Page 300: Manuel Hasp

J-4 Spécifications Techniques

Page 301: Manuel Hasp

i

Index

AAccès à HASP 13-1–13-17Adaptation

durée du timeout E-5NetHASP E-1–E-8; E-1–E-9

Anti-debogage 5-47API 2-5; 2-6; 4-2; 6-1–6-13

avec le langage Assembleur A-1–A-6codes d'état 11-1–11-7HASP36 G-4–G-6services de base 7-1–7-5services MemoHASP 8-1–8-7services NetHASP 10-1–10-20TimeHASP services 9-1–9-13

Appel à la routine hasp( ) 6-10Apple Macintosh Voir MacintoshApplications de démo Voir Exemple

d'applicationsApplications de démo, création 5-43Applications Windows, instances multiples

10-10; 10-10ASIC 1-5; 1-8; 2-1

CCarte PC HASP Voir HASPCardCartes réseau I-10Cascading See Daisy-chainingChaining See Daisy-chainingChamp Application Expiry Date 5-16Champ Application Program Number 5-15Champ Automatic Virus Detection 5-33Champ Background HASP Checks 5-17Champ Check HASP Intervals 5-17Champ Edit Error Messages 5-34–5-36Champ Encrypt Program File 5-18Champ Encrypt Protected File 5-32Champ Encryption Key 5-18Champ Encyrption Key 5-32

Champ Executable Type 5-10Champ Full Authorization System 5-14Champ Full Authorization System 5-27Champ HASP Passwords 5-10Champ HASP Protection Mode 5-31Champ HASP-3 Passwords 5-26Champ Install HASP Envelope 5-18Champ Install Pattern Code Security 5-19Champ Loader Filename 5-29Champ NetHASP Configuration File 5-13; 5-

33Champ NetHASP Passwords 5-10; 5-25Champ Number of Activations, NetHASP 5-

12Champ Number of Application Activations 5-

16Champ Number of Licenses, NetHASP 5-11Champ Output Filename 5-24Champ Program File to Protect 5-24Champ Program Number 5-25; 5-44Champ Program Number 5-11Champ Protect with HASP ID Number 5-26Champ Protected Filename 5-10Champ Random File Size 5-33Champ Special Overlays Mode 5-28–5-29Champ Target Computer 5-10Champ Unprotected Filename 5-9Champ Use HASP ID Number 5-17Chargeur NT 16-8Checking

ID Number 8-4Circuit Intégré Spécifique Voir ASICClés 15-1

démonstration 2-2; H-1–H-2mémoire 2-1monoposte 2-1

Clés de démonstration 2-2; H-1–H-2Codage 5-18Code Batch Voir Code DéveloppeurCode de Retour

calcul 6-12

Page 302: Manuel Hasp

ii

Code Développeur 2-1; I-7Code Développeur H-1Codes

Développeur Voir Code DéveloppeurRetour Voir Codes de RetourSeed Voir Seed Codes

Codes de Reourvérification 7-3

Codes de Retour 15-1; 15-2dissimulation 15-4negatif 6-12vérification 10-5; 13-3–13-4

Codes de Sortie 5-20; 5-34Codes d'erreur Voir Codes d'EtatCodes d'état

API 11-1–11-7LastStatus NetHASP 11-4–11-7

Codes Graine 15-2Compilateurs, support 4-2; 6-11Configuration

type de trame I-11Conflit de Périphérique 14-2; I-4Conflits entre les périphériques parallèles,

éviter I-3Connexion

HASP36 G-2NetHASP 16-3

Contrôle de l'accès à NetHASP E-1–E-5Crash, relancement après 10-8

DDataHASP 2-8Date d'expiration, définition 13-13Date d'expiration, paramétrage 5-43Dates See Clock

invalides 13-16Dates invalides 13-16Définition

date d'expiration 13-13Fichier de Configuration NetHASP 10-19nom du Gestionnaire de Licence NetHASP

10-20Définition des stations autorisées E-1–E-5DLL

HASP 4-2protection 6-12

DLLsHASP 6-1

DOS, mémoire requise I-10

EEcriture dans la mémoire 8-3; 8-6; 9-7; 9-9;

10-12; 10-17enregistrement 3-4; 3-7Envelope

avec NetHASP I-7protection répétée avec 5-22

Enveloppe 5-1–5-47avec HASP36 G-3espace disque supplémentaire requis 5-3ligne de commande 5-36–5-42messages d'erreur 5-20messages d'erreur 5-34–5-36pour DOS I-3protection successives avec 5-4temps de chargement 5-47

Erreursclé HASP non trouvée I-3; I-4erreur 1 I-8erreur 15 I-8erreur 21 I-10erreur 3 I-11erreur 4 I-9erreur 9121 I-4

Espace Disque Requis 5-3Etat, vérification du LastStatus NetHASP

10-4Exécutables, enchaînés I-3Exemple d'applications

démonstration de l'API 6-1Gestionnaire Résident HASP B-1PCS 12-5

Expiration de Expiry date, paramétrage 5-16

FFAS 5-42–5-44; 13-13–13-17

liste d'autorisation 5-44; 13-14; 13-15

Page 303: Manuel Hasp

iii

Fichier de ConfigurationEnveloppe 5-33NetHASP 16-1–C-9

Fichier de Configuration NetHASP 16-1–C-9définition du nom 10-19

Fonction de Sécurité 6-10Fonctionnalités de Sécurité 1-5

GGamme HASP PC 1-7–1-9Gesitonnaire de Périphérique HASP I-4Gestionaire de Périphérique HASP 16-1Gestionnaire de Licence Voir Gestionnaire de

Licence NetHASPparamètres D-1–D-4

Gestionnaire de Licence NetHASP 3-2; 10-20;16-3–16-9avec réseaux locaux et interconnectés E-6–

E-9chargement automatique 16-8problème de chargement I-6

Gestionnaire de périphérique VoirGestionnaire de Périphérique HASP

Gestionnaire de Périphérique HASPdésinstallation 14-7installation 14-6installation personnalisée 14-7mise à jour 14-7pour Win32s 14-3pour Windows 95 14-4pour Windows NT 14-4

Gestionnaire de Périphérique HASP 14-1–14-8; I-6pour Windows 14-3pour Windows NT I-4programme d'installation 14-6–14-7

Gestionnaire Résident 6-1–B-2Gestionnaire Résident HASP 6-1–B-2GetDate 9-6GetHaspID 9-13GetTime 9-4

HHASP 1-1–1-9

accès 13-1–13-17clés à mémoire 2-1DLL 6-1gamme 1-7–1-9installation 4-3interfaces 4-2; 6-1logiciel 4-1–4-3mises à jour I-12problèmes I-1–I-12termes généraux 2-1–2-4

HASP Passwords 2-6HASP-3 1-7HASP36 1-8; G-1–G-7

gamme G-2installation G-2

HASPCard 1-8HaspCode 7-3–7-4; 10-5–10-6HaspEdit 6-2; 13-1–13-17

lancement 13-1pour HASP36 G-4

HaspID 8-4–8-5; 10-13haspinst.exe 5-2; 5-3HaspStatus 7-4–7-5Heure Voir HorlogeHinstall 14-6–14-7; 16-8; I-4hinstall.exe 14-6Horloge

réglage de la date 9-5réglage de la date 13-9–13-10réglage de l'heure 9-3; 13-9–13-10vérification de la date 9-6; 13-9vérification de l'heure 9-4; 13-9

IIBM 5-10; 5-27; 14-6; G-3; G-6ID Number

checking 8-4Idle time 5-46IdleTime 3-7; 10-14–10-15install.exe 4-3Installation

Page 304: Manuel Hasp

iv

HASP 4-3HASP sous OS/2 F-1–F-2HASP36 G-2NetHASP 16-1–16-25

Instances multiples, d'applications Windows10-10; 10-10

Interfaces 4-2; 6-1Interruption, définition B-2IPX protocol 16-23IsHasp 7-2

KKit de Développement HASP H-1

LLancement d’application, limitation 5-43; 13-

13Lancements d’une application, limitation 5-

12; 5-16Langage Assembleur et API A-1–A-6Langages

support 4-2; 6-11LastStatus 10-4

codes 11-4–11-7erreur 1 I-8erreur 21 I-10erreur 4 I-9

Lecture de la mémoire 8-2; 8-5; 9-8; 9-11; 10-16

Licence I-7Limitation

applications gérées E-6lancement d'application 13-13lancements d'application 5-43lancements d'une application 5-12; 5-16licences 5-11

Liste d'autorisation, FAS 5-44Location de logiciel 5-43Logiciel

HASP 4-1–4-3HASP pour OS/2 F-1HASP36 G-3; G-4protection 1-12

Logicielsmise à jour I-12

LOGIN 3-3; 3-6; 10-7–10-8; I-11LOGOUT 3-3; 5-46; 10-9–10-10; I-7LptNum 6-3; G-6

MMacintosh, support 1-9Mécanisme de broadcast SAP 16-15; 16-17Mécanisme de Broadcast UDP 16-2MemoHASP 1-7

et FAS 13-14–13-15mémoire 13-15modifier la mémoire 13-5–13-6services 6-5; 8-1–8-7; A-2

MemoHASP/TimeHASP Passwords 5-26MemoHASP36 1-8MemoHASP36-1 1-8MemoHASP36-4 1-8Mémoire

clés 2-1écriture 8-3; 8-6; 10-12; 10-17écriture 9-7; 9-9Editeur 13-8lecture 8-2; 8-5; 9-8; 9-11lecture 10-16modification 13-5–13-6; 13-7; 13-8–13-9NetHASP réservée 6-13; 10-12; 10-18réservée MemoHASP 13-15réservée TimeHASP 13-17

Memory 2-4–2-5Messages d'erreur 5-20; 5-34–5-36Messages, Clé HASP non trouvée I-3; I-4Mode Ligne de Commande 5-36–5-42Mode TCP 16-2Mode UDP 16-2Modification, recherche 5-33Modifier la mémoire

MemoHASP 13-5–13-6NetHASP 13-8–13-9TimeHASP 13-7TimeHASP-4 13-5–13-6

Module HASP de chargement NT 16-8Moniteur 17-2

Page 305: Manuel Hasp

v

Moniteur NetHASP 16-1; 17-2–17-5aide 17-5lancement 17-3

monitor.exe 17-3Monoposte clés 2-1Mot clé

Général C-2Spécifique à une Section C-2

Motifs, PCS 12-5Mots clé généraux C-2Mots clé spécifiques à une section C-2Mots de Passe Voir Mots de Passe HASPMots de Passe de Démonstration H-1–H-2Mots de Passe HASP 13-3; H-1

dissimulation 15-4Mots de Passe HASP 2-2

NNEC 5-10; 5-27; 14-6; G-1; G-3; G-6NetHASP 1-7; 3-1–3-7

adaptation à un réseau E-1–E-8codes LastStatus 11-4–11-7connexion 16-3Contrôle d'accès E-1–E-9erreur 1 I-8erreur 21 I-10erreur 4 I-9et l'Enveloppe I-7Gestionnaire de Licence 16-1installation 16-1–16-25Liste des Programmes 10-12; 10-18LOGIN 3-3; 3-6; 10-7; I-11LOGOUT 3-3; 5-46; 10-9; I-7mémoire 6-13modèles 3-4modifier la mémoire 13-8–13-9on OS/2 stations 16-9outils de test 16-1paramètres de protection 13-10–13-11personnalisation 13-10–13-13recherche automatique 16-10–16-13Serveur Voir Gestionnaire de Licence

NetHASPservices 6-7–6-9; 10-1–10-20; A-5–A-6

sur Novell 16-5–16-6sur port parallèle local 7-5sur station DOS 16-4–16-5sur station Win32s 16-5sur station Windows 16-5sur une sation Windows 95 16-6sur une Station Windows NT 16-7–16-8Table de Connexion 3-3; 3-7; 10-8; 10-9;

10-15; 10-15utilisateurs 17-4

NetHASP License Managerviewing 17-3

nethasp.ini C-1; E-4nethasp.txt 16-1NetHASP36 1-8; G-1–G-7Netware, serveur de fichiers 16-5–16-6Networks

using HASP-3 and MemoHASP on 2-7NH_COMMON C-2; C-4NH_IPX C-5–C-6NH_NETBIOS C-7NH_TCPIP C-7–C-9nhsrv.ini E-2Novell, serveur de fichiers 16-5–16-6Numéro de Programme 13-10Numéro d'Identification

calcul 6-12et protection par API 6-2protection par API et 6-6protection par Enveloppe et 5-17; 5-26vérification 9-13; 13-4

OOrdinateurs japonais “VoirOS/2 F-1–F-2OS/2 stations 16-9Outils de diagnostic 16-1Outils de test 16-1Overlays 5-28

PParamétrage

date d'expiration 5-43

Page 306: Manuel Hasp

vi

Paramètragenombre de lancements 5-12nombre de licences 5-11

ParamètresEnveloppe 5-36–5-42Gestionnaire de Licence NetHASP D-1hinstall 14-7protection NetHASP 13-10–13-11routine hasp( ) 6-2; 7-1

Paramètres en Ligne de Commande VoirParamètres

Partage du port F-2PC-CardHASP 1-8PCMCIA 1-8PCS

et hasp( ) 12-5et l'Enveloppe 5-6; 12-5et l'Enveloppe 5-19

PersonnalisationInstallation du Gestionnaire de

Périphérique HASP 14-7NetHASP 13-10–13-13

Plantageordinateur I-10

Port parallèlereconfiguration F-2

Ports parallèle I-10vérification 7-4

Ports parallèles 6-3–6-4Power Macintosh Voir MacintoshProblèmes I-1–I-12Problèmes d'impression I-2; I-3; I-4Programme d'Enveloppe DOS

champ Full Authorization System 5-27champ HASP-3 Passwords 5-26champ NetHASP Passwords 5-25champ Output Filename 5-24champ Program Number 5-25champ Protect with HASP ID Number 5-

26champ Special Overlays Mode 5-28

Programme d'Enveloppe DOSchamp Automatic Virus Detection 5-33champ Encrypt Protected File 5-32champ Encryption Key 5-32

champ HASP Protection Mode 5-31champ Loader Filename 5-29champ MemoHASP/TimeHASP Passwords

5-26champ NetHASP Configuration File 5-33champ Program File to Protect 5-24champ Random File Size 5-33champ Target Computer 5-27écran Edit Error Messages 5-34utilisation 5-22

Programme d'Enveloppe Win16champ Full Authorization System 5-27champ HASP Protection Mode 5-31champ HASP-3 Passwords 5-26champ MemoHASP/TimeHASP Passwords

5-26champ NetHASP Configuration File 5-33champ Output Filename 5-24champ Program File to Protect 5-24champ Program Number 5-25champ Target Computer 5-27écran Edit Error Messages 5-34NetHASP Passwords 5-25Protect with HASP ID Number 5-26

Programme d'Enveloppe Win16champ Encrypt Protected File 5-32champ Encryption key 5-32utilisation 5-22

Programme d'Enveloppe Win32 5-4–5-20champ Application Expiry Date, FAS 5-16champ Application Program Number, FAS

5-15champ Background HASP Checks 5-17champ Check HASP at Intervals 5-17champ Encrypt Program File 5-18champ Encryption Key 5-18champ Executable Type 5-10champ Full Authorization System 5-14champ HASP Passwords 5-10champ Install HASP Envelope 5-18champ Install PCS 5-19champ NetHASP Configuration File,

NetHASP 5-13champ NetHASP Passwords 5-10

Page 307: Manuel Hasp

vii

champ Number of Activations, NetHASP5-12

champ Number of Application Activations,FAS 5-16

Champ Number of License, NetHASP 5-11Champ Program Number, NetHASP 5-11champ Protected Filename 5-10champ Target Computer 5-10champ Unprotected Filename 5-9champ Use HASP ID Number 5-17onglet Error Messages 5-20utilisation 5-5–5-8

Proteciton Easy 5-31Protection 1-1–1-2

API 2-5; 2-6; 6-1–6-13application Win32 5-3Applications DOS et Win16 5-21de plusieurs applications 13-13de plusieurs applications 13-10d'une DLL 6-12Enveloppe 5-1–5-47Enveloppe HASP36 G-3Ligne de Commande 5-36–5-42methods 2-5–2-6paramètres, NetHASP 13-10–13-11pour PC en réseau et isolés I-7pour stations en réseau et isolées 6-9référence rapide 1-12sur réseau et postes isolés 5-45

Protection Full 5-31Protocole IPX

Bindery 16-15; 16-16Broadcast 16-15; 16-17Fichier d'adresse 16-16; 16-17Fichier d'adresse 16-16recherche personnalisée 16-14–16-19Support NetHASP 16-2

Protocole NetBIOS 16-25définition des stations autorisées E-4nom de station E-4Support NetHASP 16-2synchronisation, protocoles I-8

Protocole TCP/IPBroadcast UDP 16-19définition des stations autorisées E-2

et hasp( ) 6-9Support NetHASP 16-2TCP 16-20UDP 16-20

Protocolessynchronisation I-8

ProtocolsSupport NetHASP 16-2

RReadBlock 8-5–8-6; 9-11–9-12; 10-16ReadByte 9-8ReadWord 8-2–8-3; 10-11Recherche

de modification 5-33de virus 5-33

Recherche automatiquealgorithme 16-10avec NetHASP 16-10–16-13sous IPX 16-11sous NetBios 16-12–16-13sous TCP/IP 16-11

Recherche personnaliséeavec NetHASP 16-13–16-22sous IPX 16-14–16-19sous NetBIOS 16-21–16-22sous TCP/IP 16-19–16-21

Recherche Personnalisée de NetHASP 16-13–16-22

Recherche, ports parallèle G-4–G-6Recherche, ports parallèles 6-3–6-4Reconfiguration, port parallèle F-2Réglage

date de l'horloge 9-5; 13-9–13-10heure de l'horloge 9-3; 13-9–13-10

Relancement, après un crash 10-8Remote Update System 2-8Réseau

adaptation de NetHASP E-1–E-8; E-1installation de NetHASP 16-1–16-25

Réseauxinterconnectés E-6–E-9locaux E-6–E-9NetHASP 3-1–3-7

Page 308: Manuel Hasp

viii

support 16-1Réseaux interconnectés E-6–E-9Réseaux locaux E-6–E-9Return Codes 2-2–2-3Routime hasp( )

appels multiples 15-1Routine hasp( ) 6-2–6-3; 7-1

et TCP/IP 6-9temps requis pour un appel 6-10

Routine hasp( ) 8-1Routine hasp( ) et PCS 12-5Routine hasp( ) I-3Routine haspreg( ) A-1RUS 2-8

SSCManager 16-9Scrambling 5-32Sécurité, amélioration 12-1–12-6; 15-1–15-6Seed Codes 2-2–2-3; 15-1Service 1 7-2Service 2 7-3–7-4Service 3 8-2–8-3Service 4 8-3–8-4Service 40 10-4Service 41 10-5–10-6Service 42 10-7–10-8Service 43 10-9–10-10Service 44 10-11Service 45 10-12Service 46 10-13Service 48 10-14–10-15Service 5 7-4–7-5Service 50 8-5–8-6Service 51 8-6–8-7Service 52 10-16Service 53 10-17–10-18Service 6 8-4–8-5Service 70 9-3Service 71 9-4Service 72 9-5Service 73 9-6Service 74 9-7Service 75 9-8

Service 76 9-9–9-10Service 77 9-11–9-12Service 78 9-13Service 85 10-19Service 96 10-20Service Control Manager 16-9Services

base 6-4; 7-1–7-5de base A-1MemoHASP 6-5; 8-1–8-7; A-2NetHASP 6-7–6-9; 10-1–10-20; A-5–A-6TimeHASP 6-6; 9-1–9-13; A-2–A-5

Services de base 6-4; 7-1–7-5; A-1SetConfigFilename 10-19SetDate 9-5SetServerByName 10-20SetTime 9-3Setting

Tasking Option 16-7Sommes de Contrôle 15-2–15-3Spécification du port G-4–G-6Spécification du Port Parallèle 6-3–6-4Spécifications J-1–J-3Spécifications techniques J-1–J-3Station Windows NT 16-7–16-8Stations autorisées, définition E-1Stations de travail 1-9Stations disponibles 10-14Stations DOS 16-4–16-5Stations libres 3-7Stations Win32s 16-5Stations Windows 16-5Stations Windows 95 16-6Support

protocoles 16-2réseaux 16-1

Support Technique I-1–I-12Synchronisation

protocoles I-8

TTable de connexion 3-3; 3-7; 10-8; 10-9; 10-

15; 10-15Tasking Option 16-7

Page 309: Manuel Hasp

ix

TCP/IP protocol 16-24Temps de chargement 5-47testnet.exe 17-1TimeHASP 1-8

et FAS 13-15–13-17mémoire 13-17modifier la mémoire 13-7réglage avec HaspEdit 13-9–13-10services 6-6; 9-1–9-13; A-2–A-5

TimeHASP-4 1-8; 6-5et FAS 13-15–13-17modifier la mémoire 13-5–13-6

Traçage du Code 6-10Types de trame I-11

UUtilitaires 4-1

VVérification

clé HASP spécifique 7-4Codes de Retour 7-3; 10-5; 13-3–13-4date de l'horloge 9-6; 13-9

état du dernier appel 10-4heure de l'horloge 9-4; 13-9Numéro d'Identification 9-13; 13-4port parallèle 7-4présence de la clé HASP 7-2Type de clé HASP 7-4

Vérification de HASP en tâche de fond 5-17;5-47

Virus, recherche 5-33Visualisation

Gestionnaires de Licence NetHASP 17-3–17-4

Utilisateurs NetHASP 17-4

Ww32hinst.exe 5-2; 5-3w32test.exe 17-1whinst.exe 5-2; 5-3WriteBlock 8-6–8-7; 9-9–9-10; 10-17–10-18WriteByte 9-7WriteWord 8-3–8-4; 10-12wtestnet.exe 17-1