Upload
roberto-medrano
View
302
Download
6
Tags:
Embed Size (px)
Citation preview
HASP4 _Guide.fh9 2/12/2001 11:55 Page 1
Composite
C M Y CM MY CY CMY K
Version 11 H
ASP
® P
rogram
mer’s G
uid
e
Securing the
global
vi l lage
Guía del Programador
0 3 7 8 2à03782!ä
Printed in Israel 11/2001 © Aladdin Know
ledge Systems Ltd. HASP
® is a registered trademark of Aladdin Know
ledge Systems Ltd.
All other product names are tradem
arks or registered trademarks of their respective ow
ners.
F o r f u r t h e r i n f o : w w w. e A l a d d i n . c o m / H A S PInternational T: +972-3-636-2222 F: +972-3-537-5796, [email protected] America T: 1-800-562-2543, 1-847-818-3800, F: 1-847-818-3810, [email protected] T: +44-1753-622266 F: +44-1753-622262, [email protected] T: +49-89-89-42-21-0 F: +49-89-89-42-21-40, [email protected] T: +31-30-688-0800 F: +31-30-688-0700, [email protected] T: +33-1-41-37-70-30 F: +33-1-41-37-70-39, [email protected] T: +972-3-636-2222 F: +972-3-537-5796, [email protected] T: +55-21-235-2499 F: +55-21-236-0768, [email protected] T: +81-426-60-7191 F: +81-426-60-7194, [email protected] T: +7-095-923-0588 F: +7-095-928-6781, [email protected] T: +34-91-375-99-00 F: +34-91-754-26-71, [email protected] T: +86-10-6526-9920 F: +86-10-6526-9921, [email protected]
HASP4 _Guide.fh9 2/12/2001 11:55 Page 2
Composite
C M Y CM MY CY CMY K
Guía del Programador
Versión 11
HASP4 Programmer’s Guide i
COPYRIGHTS AND TRADEMARKSThe HASP® system and its documentation are copyrighted (C) 1985 to present by Aladdin Knowledge Systems Ltd. All rights reserved.
HASP®, MacHASP® and MemoHASP® are registered trademarks of Aladdin Knowledge Systems Ltd.
NetHASP™, TimeHASP™, HASP36™, MemoHASP36™, NetHASP36™, USBHasp™, and AladdinCARD™ are trademarks of Aladdin Knowledge Systems Ltd.
All other trademarks, brands, and product names used in this guide are trademarks of their respective owners.
ii © Aladdin Knowledge Systems, 2002
LIMITED WARRANTY, LIMITATION OF REMEDIES AND LIABILITY
Aladdin Knowledge Systems Ltd. (“Aladdin”) warrants for a period of twelve (12) months after date of purchase its software
and the HASP® key as set forth in the Developer's License Agreement.
Aladdin's sole obligation in the event of a breach of this warranty, and the limitation on its liability for damages to any party, are as set forth in the Developer's License Agreement.
EXCEPT AS STATED ABOVE, THERE IS NO OTHER WARRANTY, EXPRESSED OR IMPLIED, REGARDING ALADDIN'S PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
All attempts have been made to make the information in this document complete and accurate. Aladdin is not responsible for any direct or indirect damages or loss of business resulting from inaccuracies or omissions. The specifications in this document are subject to change without notice.
HASP4 Programmer’s Guide iii
ALADDIN KNOWLEDGE SYSTEMS LTD. DEVELOPER'S LICENSE AGREEMENT
IMPORTANT INFORMATION - PLEASE READ THIS AGREEMENT CAREFULLY BEFORE OPENING THE PACKAGE AND/OR USING THE CONTENTS THEREOF AND/OR BEFORE DOWNLOADING OR INSTALLING THE SOFTWARE PROGRAM. ALL ORDERS FOR AND USE OF THE HASP PRODUCTS (including without limitation, the Developer's Kit, libraries, utilities, diskettes, CD_ROM,
HASP® keys, the software component of Aladdin's HASP and the Developer's Guides) (hereinafter "Product") SUPPLIED BY ALADDIN KNOWLEDGE SYSTEMS LTD. (or any of its affiliates - either of them referred to as "ALADDIN") ARE AND SHALL BE, SUBJECT TO THE TERMS AND CONDITIONS SET FORTH IN THIS AGREEMENT.
BY OPENING THE PACKAGE CONTAINING THE PRODUCTS AND/OR BY DOWNLOADING THE SOFTWARE (as defined hereunder) AND/OR BY INSTALLING THE SOFTWARE ON YOUR COMPUTER AND/OR BY USING THE PRODUCT, YOU ARE ACCEPTING THIS AGREEMENT AND AGREEING TO BE BOUND BY ITS TERMS AND CONDITIONS.
IF YOU DO NOT AGREE TO THIS AGREEMENT OR ARE NOT WILLING TO BE BOUND BY IT, DO NOT OPEN THE PACKAGE AND/OR DOWNLOAD AND/OR INSTALL THE SOFTWARE AND PROMPTLY (at least within 7 days from the date you received this package) RETURN THE PRODUCTS TO ALADDIN, ERASE THE SOFTWARE, AND ANY PART THEREOF, FROM YOUR COMPUTER AND DO NOT USE IT IN ANY MANNER WHATSOEVER. UPON RETURNING THE PRODUCT WITH A COPY OF THE SALES RECIPT TO ALADDIN YOU WILL RECEIVE A REFUND.
iv © Aladdin Knowledge Systems, 2002
1. Title & Ownership THIS IS A LICENSE AGREEMENT AND NOT AN AGREEMENT FOR SALE. The software component of Aladdin's HASP Product Development Kit, including any revisions, corrections, modifications, enhancements, updates and/or upgrades thereto, (hereinafter in whole or any part thereof defined as: "Software"), and the related documentation, ARE NOT FOR SALE and are and shall remain in Aladdin's sole property. All intellectual property rights (including, without limitation, copyrights, trade secrets, trademarks, etc.) evidenced by or embodied in and/or attached/connected/related to the Product, (including, without limitation, the Software code and the work product performed in accordance with Section 2 hereunder) are and shall be owned solely by Aladdin. This License Agreement does not convey to you an interest in or to the Software but only a limited right of use revocable in accordance with the terms of this License Agreement. Nothing in this Agreement constitutes a waiver of Aladdin's intellectual property rights under any law.
2. LicenseSubject to payment of applicable license fees, Aladdin hereby grants to you, and you accept, a personal, nonexclusive and fully revocable limited License to use the Software, in executable form only, as described in the Software accompanying user documentation and only according to the terms of this Agreement:
(i) you may install the Software and use it on computers located in your place of business, as described in Aladdin's related documentation;
(ii) you may merge and link the Software into your computer programs for the sole purpose described in the Developer's Guide; however, any portion of the Software merged into another computer program shall be deemed as derivative work and will continue to be subject to the terms of this Agreement; and
HASP4 Programmer’s Guide v
(iii) you are permitted to make a reasonable number of copies - but not more than three (3) - of the Software solely for development and backup purposes. The Software shall not be used for any other purposes.
3. Sub-Licensing After merging the Software in your computer program(s) according to section 2 above, you may sub-license, pursuant to the terms of this Agreement, the merged Software and resell the
hardware components of the HASP® keys which you purchased from Aladdin, to distributors and/or users. Preceding such a sale and sub-licensing, you shall incorporate by reference in your contracts with such distributors and/or users, and otherwise provide for all distributors and/or users to be bound by, the warranties, disclaimers, and license terms specified by Aladdin in this Agreement.
4. Prohibited UsesExcept as specifically permitted in Sections 1, 2 and 3 above, you agree not to
(i) use, modify, merge or sub-license the Software or any other of Aladdin's products except as expressly authorized in this Agreement and in the Developer's Guide; and
(ii) sell, license (or sub-license), lease, assign, transfer, pledge, or share your rights under this License with/to anyone else; and
(iii) modify, disassemble, decompile, reverse engineer, revise or enhance the Software or attempt to discover the Software's source code; and
(iv) place the Software onto a server so that it is accessible via a public network; and
vi © Aladdin Knowledge Systems, 2002
(v) use any back-up or archival copies of the Software (or allow someone else to use such copies) for any purpose other than to replace an original copy if it is destroyed or becomes defective. If you are a member of the European Union, this agreement does not affect your rights under any legislation implementing the EC Council Directive on the Legal Protection of Computer Programs. If you seek any information within the meaning of that Directive you should initially approach Aladdin.
5. Limited WarrantyAladdin warrants, for your benefit alone, that
(i) the Software, when and as delivered to you, and for a period of three (3) months after the date of delivery to you, will perform in substantial compliance with the Developer's Guide, provided that it is used on the computer hardware and with the operating system for which it was designed; and
(ii) that the HASP® key, for a period of twelve (12) months after the date of delivery to you, will be substantially free from significant defects in materials and workmanship.
6. Warranty Disclaimer ALADDIN DOES NOT WARRANT THAT ANY OF ITS PRODUCT(S) WILL MEET YOUR REQUIRMENTS OR THAT ITS OPERATION WILL BE UNINTERRUPTED OR ERROR-FREE. TO THE EXTENT ALLOWED BY LAW, ALADDIN EXPRESSLY DISCLAIMS ALL EXPRESS WARRANTIES NOT STATED HERE AND ALL IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. NO ALADDIN'S DEALER, DISTRIBUTOR, RESELLER, AGENT OR EMPLOYEE IS AUTHORIZED TO MAKE ANY MODIFICATIONS, EXTENSIONS, OR ADDITIONS TO THIS WARRANTY. If any modifications are made to the Software or to any other part of the Product by you during the
warranty period; if the media and the HASP® key is subjected to
HASP4 Programmer’s Guide vii
accident, abuse, or improper use; or if you violate any of the terms of this Agreement, then the warranty in Section 5 above, shall immediately be terminated. The warranty shall not apply if the Software is used on or in conjunction with hardware or program other than the unmodified version of hardware and program with which the Software was designed to be used as described in the Developer's Guide.
7. Limitation of RemediesIn the event of a breach of the warranty set forth above, Aladdin's sole obligation shall be, at Aladdin's sole discretion:
(i) to replace or repair the Product, or component thereof, that does not meet the foregoing limited warranty, free of charge;
(ii) to refund the price paid by you for the Product, or component thereof. Any replacement or repaired component will be warranted for the remainder of the original warranty period or 30 days, whichever is longer. Warranty claims must be made in writing during the warranty period and within seven (7) days of the observation of the defect accompanied by evidence satisfactory to Aladdin. All Products should be returned to the distributor from which they were purchased (if not purchased directly from Aladdin) and shall be shipped by the returning party with freight and insurance paid. The Product or component thereof must be returned with a copy of your receipt.
8. Exclusion Of Consequential DamagesThe parties acknowledge, that the Product is inherently complex and may not be completely free of errors. ALADDIN SHALL NOT BE LIABLE (WHETHER UNDER CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE) TO YOU, OR ANY THIRD PARTY (INCLUDING, WITHOUT LIMITATION, YOUR DISTRIBUTORS AND USERS OF YOUR SOFTWARE PROGRAM) FOR ANY LOSS OR DAMAGE (INCLUDING INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES), INCLUDING, WITHOUT LIMITATION, ANY LOSS OR DAMAGE TO BUSINESS
viii © Aladdin Knowledge Systems, 2002
EARNINGS, LOST PROFITS OR GOODWILL AND LOST OR DAMAGED DATA OR DOCUMENTATION, SUFFERED BY ANY PERSON, ARISING FROM AND/OR RELATED WITH AND/OR CONNECTED TO ANY USE OF THE SOFTWARE AND/OR ANY COMPONENT OF THE PRODUCT, EVEN IF ALADDIN IS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
9. Limitation Of LiabilityIN THE EVENT THAT, NOTWITHSTANDING THE TERMS OF THIS AGREEMENT, ALADDIN IS FOUND LIABLE FOR DAMAGES BASED ON ANY DEFECT OR NONCONFORMITY OF ITS PRODUCT(S), ITS TOTAL LIABILITY FOR EACH DEFECTIVE PRODUCT SHALL NOT EXCEED THE PRICE PAID TO ALADDIN FOR SUCH DEFECTIVE PRODUCT.
10. No Other WarrantiesExcept as specifically provided herein, Aladdin makes no warranty or representation, either express or implied, with respect to its products as described in the preamble of this agreement, including its quality, performance, merchantability or fitness for a particular purpose.
11. TerminationYour failure to comply with the terms of this Agreement shall terminate your license and this Agreement. Upon termination of this License Agreement by Aladdin:
(i) the License granted to you in this Agreement shall expire and you, upon termination, shall discontinue all further use (including without limitation sub-licensing) of the Software and other licensed Product(s); and
HASP4 Programmer’s Guide ix
(ii) you shall promptly return to Aladdin all tangible property representing Aladdin's intellectual property rights and all copies thereof and/or shall erase/delete any such information held by it in electronic form. Sections 1, 4, 6, 7, 8, 9, 10, 11 and 12 shall survive any termination of this Agreement.
12. Governing Law & JurisdictionThis Agreement shall be construed and governed in accordance with the laws of Israel (except for conflict of law provisions) and only the courts in Israel shall have jurisdiction in any conflict or dispute arising out of this Agreement. The application of the United Nations Convention of Contracts for the International Sale of Goods is expressly excluded. The failure of either party to enforce any rights granted hereunder or to take action against the other party in the event of any breach hereunder shall not be deemed a waiver by that party as to subsequent enforcement of rights or subsequent actions in the event of future breaches.
13. Third Party SoftwareIf the Product contains any software provided by third parties, such third party's software is provided "As Is" without any warranty of any kind and Sections 2, 3, 4, 6, 8, 9-13 of this Agreement shall apply to all such third party software providers and third party software as if they were Aladdin and the Product respectively.
14. MiscellaneousThis Agreement represents the complete agreement concerning this License and may be amended only by a written agreement executed by both parties. If any provision of this Agreement is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
I HAVE READ AND UNDERSTOOD THIS LICENSE AGREEMENT AND AGREE TO BE BOUND BY ALL OF THE TERMS.
x © Aladdin Knowledge Systems, 2002
CE ComplianceThe HASP product line complies with the CE EMC Directive and related standards*. HASP products are marked with the CE logo and a HASP CE conformity card is included in every shipment or upon demand.
*EMC directive 89/336/EEC and related standards EN 55022, EN 50082-1.
FCC ComplianceFCC authorities have determined that HASP is not a Class B Computing Device Peripheral and therefore does not require FCC regulation.
Y2K ComplianceThe HASP product line is Year 2000 (Y2K) compliant. Y2Kcompliance means that HASP products will record, store, processand present calendar dates falling on or after January 1, 2000 inthe same manner, and with the same functionality, as it records,stores, processes, and presents calendar dates falling on orbefore December 31, 1999.
We supply a Y2K compliance card with every shipment or upondemand.
UL CertificationThe HASP product line successfully completed UL 94 Tests for Flammability of Plastic Materials for Parts in Devices and Appliances. HASP products comply with UL 1950 Safety of Information Technology Equipment regulations.
HASP4 Programmer’s Guide xi
ISO 9002 CertificationThe HASP product line is designed and manufactured by Aladdin Knowledge Systems, Inc., an ISO 9002-certified company. Aladdin's quality assurance system is approved by the International Organization for Standardization (ISO), ensuring that Aladdin products and customer service standards consistently meet specifications in order to provide outstanding customer satisfaction.
Certificate of ComplianceUpon request, Aladdin Knowledge Systems, Inc. will supply a Certificate of Compliance to any software developer who wishes to demonstrate that the HASP product line conforms to the specifications stated. Software developers can distribute this certificate to the end user along with their programs.
xiii
Contenido
Lista de Tablas........................................................................................ xix Acerca de la Guía del Programador HASP ...................................... xxi
Parte 1 - Inicio a HASP ........................................................................... 1
Introducción…........................................................................ 3 Acerca de HASP................................................................... 3 Ventajas del Sistema HASP .................................................. 4 Llaves de Protección HASP ................................................... 8 La Familia HASP ................................................................ 29 Kit de Evaluación HASP ...................................................... 11 Kit de Iniciación HASP ........................................................ 11
Conceptos Básicos de HASP.................................................. 13
¿Cómo trabaja HASP?......................................................... 14 Identificación de la llave HASP ............................................. 15 Métodos de Protección HASP.............................................. 19 El Full Authorization System (FAS) ...................................... 20 Preguntas Frecuentes (FAQ)................................................ 22
Instalación de HASP …… ....................................................... 25
Software HASP…................................................................. 25 Protección de Software – Referencia Rápida…........................ 28 Instalación de HASP bajo Windows …................................... 29 Instalación de HASP bajo Mac ….......................................... 32 Instalación de HASP bajo Linux …....................................................................35
Contenido
xiv
Parte 2: Uso de las Herramientas HASP........................................ 41
Protección con la Envelope HASP ........................................ 43
Acerca de la Envelope HASP ................................................. 44 Inicio a la Envelope HASP...................................................... 45 Protección de una aplicación…................................................46 Protección de Archivos de Datos Win32 .................................. 47 Grabación de los Parámetros FAS.......................................... 51 Parámetros de la Envelope..................................................... 53 Parámetros de línea de Comando de la Envelope ..................... 65 Información adicional de HASP4 Net ....................................... 70 Preguntas Frecuentes (FAQ).................................................. 71
Acceso a las llaves con HASP Edit ……..................................73
HASP Edit para Windows ….. .................................................74 HASP Edit para Mac ….. ........................................................97 Preguntas Frecuentes (FAQ) …............................................. 104
Ayuda para usuarios finales …............................................. 107 Creación de informes .. ......................................................... 108 Diagnósticos de llaves HASP … ............................................ 109
Parte 3: Uso del API de HASP........................................................... 113 Protección con el API de HASP …. ...................................... 115
Preparación para el uso del API............................................ 116 Utilizando el API.................................................................. 117 Servicios HASP................................................................... 122 La Protección en entorno de PCs y para Redes ...................... 127 Utilidad de Test HASP …...................................................... 128 Preguntas Frecuentes (FAQ)................................................ 129
Estrategias de Protección … ................................................ 133 Ataques a la protección de software ...................................... 134 Trucos y consejos …............................................................ 135
Servicios Básicos HASP........................................................ 143 Servicio 1: IsHasp................................................................. 146 Servicio 5: HaspStatus......................................................... 147
Contenido
xv
Servicio 60: HaspEncodeData............................................... 149 Servicio 61: HaspDecodeData………...................................... 150
Servicios de HASP4 Memoria............................................... 151
Servicio 3: ReadWord .......................................................... 154 Servicio 4: WriteWord .......................................................... 155 Servicio 6: HaspID ............................................................... 156 Servicio 50: ReadBlock ........................................................ 157 Servicio 51: WriteBlock........................................................ 158
Servicios de HASP4 Time..................................................... 159
Servicio 70: SetTime............................................................ 162 Servicio 71: GetTime............................................................ 163 Servicio 72: SetDate............................................................ 164 Servicio 73: GetDate............................................................ 165 Servicio 74: WriteByte ......................................................... 166 Servicio 75: ReadByte.......................................................... 167 Servicio 76: WriteBlock........................................................ 168 Servicio 77: ReadBlock ........................................................ 169 Servicio 78: HaspID ............................................................. 170
Servicios de HASP4 Net ………………………………. ...............171
Uso de los servicios HASP4 Net ... ........................................ 172 Servicio 40: LastStatus ........................................................ 176 Servicio 42: Login ................................................................ 177 Servicio 43: Logout .............................................................. 179 Servicio 44: ReadWord......................................................... 181 Servicio 45: WriteWord ........................................................ 182 Servicio 46: HaspID ............................................................. 183 Servicio 48: IdleTime............................................................ 184 Servicio 52: ReadBlock ........................................................ 186 Servicio 53: WriteBlock........................................................ 188 Servicio 85: SetConfigFilename............................................. 190 Servicio 88: HaspEncodeData……………………...................... 191 Servicio 89: HaspDecodeData……………. .............................. 193 Servicio 96: SetServerByName ............................................. 195 Servicio 104: HaspQueryLicense…………… ........................... 196
Contenido
xvi
Códigos de Status del API de HASP..................................... 197
Códigos de Status para todas las llaves HASP ...................... 197 Códigos de Status para las llaves HASP4 Time ...................... 199 Códigos de Status para las llaves HASP4 Net … .................... 200
Parte 4 - Uso de HASP en una Red ............................................... 207
Conceptos Básicos de HASP4 Net........................................ 209 ¿Qué es HASP4 Net?.......................................................... 209 ¿Cómo trabaja HASP4 Net ................................................... 210 Preparación de la protección.. ............................................... 212 Uso de HASP4 Net ….. ........................................................ 213 Distribución de HASP4 Net .. ................................................ 215 Protocolos soportados, plataformas y sistemas operativos …... 217 Preguntas Frecuentes (FAQ)................................................ 218
Protección de aplicaciones con HASP4 Net …..................... 221 Opciones de HASP Envelope para HASP4 Net . ..................... 222 Servicios del API para HASP4 Net .. ...................................... 223
Administración de licencias de HASP4 Net . ........................ 227 ¿Cómo trabaja el Administrador de Licencias HASP? .. ........... 228 Administrador de Licencias HASP para Windows ................... 229 Administrador de Licencias HASP para Mac .. ........................ 232 Administrador de Licencias HASP para Servidores Novell … .... 235 Personalización del Administrador de Licencias HASP . .......... 236
Configuración de clientes HASP4 Net . ................................ 247 Secuencia de búsqueda del archivo de configuración . ............. 247 Secciones del archivo de configuración .................................. 248 Palabras clave ..................................................................... 249
Monitorización de Licencias HASP4 Net . ............................ 257 Distribución del Monitor Aladdin ............................................ 257 Instalación del Monitor Aladdin . ............................................ 258 Opciones del Monitor Aladdin . .............................................. 258 Propiedades del Administrador de Licencias HASP . ............... 259 Chequeo de llaves HASP .. ................................................... 260 Inicio y detención del Administrador de Licencias HASP como
servicio ............................................................................. 262
Contenido
xvii
Adaptación de HASP4 Net a la red ...................................... 263 Definición del rango de estaciones bajo IPX . .......................... 263 Definición del rango de estaciones bajo TCP/IP ...................... 264 Definición del rango de estaciones bajo NetBIOS . .................. 266 Adaptación de Timeout . ....................................................... 267
Parte 5 - Uso del Sistema de Actualización Remota (RUS). .....269
Sistema de Actualización Remota . ......................................271 Instalación de RUS (sistema de actualización remota) .............272 Creación de las utilidades RUS ..............................................275 La utilidad Vendor .................................................................277 La utilidad Customer .............................................................286
API Win32 del Sistema de Actualización Remota . ...............291 Instalación de RUS (sistema de actualización remota) .............292 Funciones suministradas en la DLL Vendor . ...........................293 Funciones suministradas en la DLL Client . .............................297 Valores Devueltos .................................................................299 Utilidad de personalización ....................................................301
Soluciones a Problemas . ...................................................................303 Lista de chequeos ….............................................................304 Problemas y soluciones ........................................................305
Passwords de Demos HASP .............................................................313
Especificaciones Técnicas ................................................................315
Glosario ……….......................................................................................319
Indice ……………...................................................................................325
xix
Lista de Tablas
Modelos HASP ..................................................................................................... 8 Herramientas de instalación del Device Driver ................................................... 29 Parámetros de línea de comando para aksusbd (Mac) .......................................... 33 Parámetros de línea de comando para aksparlnx.o (Linux) .................................. 37 Parámetros de línea de comando para aksusbd (Linux)........................................ 39 Opciones de la pestaña Main de la Envelope HASP ............................................. 54 Opciones de la pestaña Options de la Envelope HASP.......................................... 57 Opciones de la pestaña DataHASP de la Envelope HASP ..................................... 62 Motores de la Envelope HASP............................................................................. 65 Parámetros de la Envelope HASP ....................................................................... 65 Panel Key Access History ................................................................................. 111 Parámetros para las llaves HASP monopuesto .................................................. 118 Parámetros para las llaves HASP4 Net............................................................. 118 Valores PortNum y Puertos de búsqueda .......................................................... 119 Modelos HASP y Servicios Relacionados............................................................ 122 Servicios Básicos HASP .................................................................................... 123 Servicios de HASP4 Memory............................................................................. 124 Servicios de HASP4 Time ................................................................................. 125 Servicios de HASP4 Net.................................................................................... 126 Servicios y Parámetros Básicos HASP............................................................... 144 Servicios y Parámetros de HASP4 Memoria...................................................... 152 Servicios y Parámetros de HASP4 Time............................................................ 160 Servicios y Parámetros de HASP4 Net.............................................................. 173 Códigos de Status para todas las llaves HASP.................................................... 197 Códigos de Status para las llaves HASP4 Time.................................................. 199 Códigos de Status para las llaves HASP4 Net ….................................................200 Códigos de Aviso para las llaves HASP4 Net ......................................................204 Plataformas soportadas por HASP4 Net . ...........................................................217 Protocolos de HASP4 Net . ................................................................................217 Parámetros para HASP4 Net con la Envelope HASP . ........................................223 Servicios API de HASP4 Net..............................................................................224 Parámetros del Administrador de Licencias HASP . ...........................................236 Códigos de error de la instalación API del Administrador de Licencias HASP. ....244 Orden de Búsqueda del Archivo de Configuración ..............................................248
Lista de Tablas
xx
Información del Administración de Licencias HASP . .........................................259 Información de la llave HASP . ..........................................................................260 Información HASP ............................................................................................261 Tabla de Programas ..........................................................................................261 Tabla de Logins. ................................................................................................261 Parámetros de línea de comando de la utilidad Vendor ......................................282 Códigos de error de la utilidad Vendor ...............................................................284 Parámetros de línea de comando de la utilidad Customer ..................................289 Códigos de error de la utilidad Customer............................................................290 Passwords de las llaves HASP Demo de Memoria...............................................313 Passwords de las llaves Demo HASP4 Std ..........................................................313 Especificaciones generales para todas las llaves HASP .......................................315 Especificaciones para HASP4 Std, HASP4 M1, HASP4 M4, HASP4 Net..............316 Especificaciones para HASP4 Time ....................................................................316 Especificaciones para los modelos USB...............................................................317 HASP PC-Card...................................................................................................317 AladdinCARD ISA ..............................................................................................318 AladdinCARD PCI ..............................................................................................318
xxi
Acerca de la Guía del Programador HASP4
La Guía del Programador HASP está diseñada para ayudar al
desarrollador de software a proteger su aplicación de la forma que más se
adecue a sus necesidades.
La primera parte, “Inicio a HASP” (página 1) es una introducción al
sistema de protección de software HASP, repasa la familia de llaves
HASP, y guía a través del software de instalación HASP. Esta parte es
de interés independientemente de la llave y el método de protección que
esté utilizando.
La segunda parte, “Uso de las Herramientas HASP” (página 41), le
ayuda a usar las utilidades HASP, para Windows y Mac, que le permiten
proteger su software fácilmente, programar sus llaves HASP para la
distribución y ayudar a sus clientes. Esta parte es interés
independientemente de la llave y el método de protección que esté
utilizando.
La tercera parte, “Uso del API de HASP” (página 113), introduce a los
métodos de protección con el API de HASP y estrategias. Incluye
detallada descripción de todos los servicios del API de HASP. Esta parte
es de interés únicamente si desea proteger su software añadiendo
llamadas en el código fuente de su aplicación al API de HASP.
La cuarta parte, “Uso de HASP en una red” (página 207), introduce al
sistema HASP4 Net y sus herramientas. Esta parte es de interés si
protege su software para redes utilizando llaves HASP4 Net.
Acerca de la Guía del Programador HASP4
xxii
La quinta parte, “Uso del Sistema de Actualización Remota (RUS)”
(página 269), le ofrece información sobre las herramientas y APIs que le
permiten actualizar remotamente las llaves HASP de sus clientes.
Para ayudarle a entender el sistema HASP con mayor profundidad, se
incluye un apartado de Preguntas Frecuentes (FAQ) al final de la
mayoría de los capítulos. Para su comodidad, un amplio glosario ofrece
explicaciones concisas acerca de la terminología HASP.
En los apéndices encontrará información sobre especificaciones técnicas,
passwords de las llaves Demos HASP y Soluciones a posibles Problemas.
1
Parte 1
Inicio a HASP
Este capítulo describe el sistema de protección HASP. Ofrece una
perspectiva genérica del hardware y el software HASP y le guía a través de la
instalación del software HASP.
El capítulo “Introducción” (página 3) comenta las ventajas y prestaciones de
seguridad del sistema HASP enumerando las distintas llaves hardware
HASP, y las plataformas y sistemas operativos soportados.
El capítulo “Conceptos Básicos” (página 13) explica los conceptos básicos del
sistema HASP y describe el contenido de los Kits HASP.
El capítulo “Instalación de HASP” (página 25) ofrece una visión del software
HASP, los principales pasos en la protección de software y los procesos
básicos de instalación para diversos sistemas operativos.
3
Parte 1 – Capítulo 1
Introducción
Bienvenidos a HASP de Aladdin – el sistema profesional de protección de software. Este
capítulo describe el sistema de protección HASP, sus prestaciones de seguridad y sus
ventajas. Presenta a la familia de llaves de protección HASP y describe el contenido de
los Kits de Evaluación y de Inicio.
Acerca de HASP
HASP es un sistema basado en hardware que protege el software de un uso
ilegal evitando los accesos y ejecuciones no autorizados de las aplicaciones
protegidas.
Durante la sesión de trabajo, la aplicación protegida comprueba la presencia
de la llave HASP conectada al PC. Si la respuesta devuelta por la HASP es
la adecuada y se identifica el algoritmo HASP correcto, la aplicación se
ejecuta. Si la respuesta es incorrecta, la aplicación puede dejar de funcionar,
cambiar a modo “demo”, o limitar determinadas prestaciones.
La integración de HASP es fácil, obteniéndose un nivel de seguridad
extremadamente alto. Cuando su aplicación está protegida, sólo se puede
activar cuando la llave HASP suministrada originalmente con su software
está conectada al PC.
Introducción Parte 1 - Capítulo 1
4
Ventajas del Sistema HASP
Sustancial Flexibilidad para el Programador
El sistema HASP ofrece la más amplia gama de productos, soluciones y
prestaciones en la industria de la protección del software incluyendo
soluciones de memoria, redes y en tiempo real para múltiples plataformas
hardware.
Máxima Facilidad de Uso
Una corta curva de aprendizaje y unas API(Application programming
interfaces) estándar para todos los productos aseguran una rápida y sencilla
incorporación del software de HASP a su aplicación.
Soporte para amplio rango de entornos de programación
El sistema HASP dispone de interfaces para la mayoría de compiladores y
lenguajes de programación que le permiten entregar su aplicación protegida
con HASP en los sistemas operativos más relevantes
.
Soporte para un amplio rango de sistemas operativos.
Los sistemas operativos soportados son: Windows 3.x, Windows 95, 98, ME,
2000, NT, Linux, Mac OS 8.6, Mac OS 9.x, MacOS X.
Solución Multi-plataforma
HASP (versión USB) ofrece una solución independiente de la plataforma de
trabajo. Una llave HASP puede utilizarse para proteger aplicaciones
Windows, Mac y Linux, ahorrándole tiempo de desarrollo en la integración de
la protección, además de logística y costes de envíos
Inicio a HASP Introducción
5
Características de Seguridad HASP
Chip ASIC completamente personalizado
Las llaves HASP (excepto los modelos USB) se basan en un chip propietario
y personalizado ASIC (Application Specific Integrated Circuit).
Los 2800-transistores, 1.2-micras HASP ASIC, de diseño propio de los
ingenieros de Aladdin, previenen de la ingeniería inversa y hace el hardware
de HASP virtualmente imposible de reproducir.
Los modelos USB son los únicos que incorporan un microcontrolador
avanzado que suministra inherentemente un alto nivel de seguridad.
Avanzadas prestaciones de codificación en el hardware
Las avanzadas facilidades de codificación y decodificación incorporadas en el
hardware HASP permiten una unión más estrecha entre el hardware y el
software que se está protegiendo. Funciones inteligentes en la misma llave
permiten que determinadas funciones críticas del software sean
dependientes de la presencia de la llave correcta, de otra forma no
funcionarían correctamente.
Cualquier información utilizada por el software puede ser codificada en
cualquier punto del software. La información codificada es una función de los
datos enviados a la llave y un único y específico “código de programador” de
cada cliente. Esto significa que esta característica ofrece una protección muy
superior a los simples chequeos periódicos de la presencia de la llave.
Avanzados Algoritmos de Protección y Tecnología Anti-Debugging.
El software de HASP utiliza algoritmos de arquitectura propietaria de
protección de códigos, además de la tecnología anti-debugging más avanzada
de la industria. Las especiales características anti-pirateo incorporadas en
el software HASP generan obstáculos prácticamente infranqueables para
piratas potenciales.
Introducción Parte 1 - Capítulo 1
6
Comunicación Encriptada.
Todas las comunicaciones entre la aplicación y la llave HASP es encriptada
aleatoriamente para proteger el lazo de unión vital entre ellas. Esto previene
la emulación del hardware de la llave.
Beneficios para su Cliente
La protección HASP beneficia tanto a usted como a su cliente. Las siguientes
son algunas de las razones de por qué la protección del software es buena
para sus clientes:
Calidad-precio del Software.
Dado que la protección con HASP aumenta sus ventas y sus beneficios, usted
puede invertir más dinero en la mejora de su desarrollo y soporte de su
producto. A cambio, sus clientes “de pago” pueden disfrutarán de
aplicaciones a menor precio, productos más avanzados, desarrollos más
rápidos de nuevas versiones y una mayor calidad en el soporte técnico.
Protección del Contrato de Licencia.
La protección de software ayuda a mantener la integridad de su contrato de
licencia de su software. HASP es el medio menos traumático y molesto de
asumir el cumplimiento del contrato. Asegura que los clientes no tienen que
convertirse en la policía de sus propios empleados o arriesgarse a incumplir
el contrato de la licencia.
Protege la inversión de los usuarios legítimos.
HASP protege a los usuarios finales legítimos de las prácticas injustas de
usuarios finales deshonestos que utilizan software que no han pagado y se
aprovechan de los recursos de su valioso soporte técnico.
Servicio y Soporte Mundial
Múltiples Posibilidades de Producción.
Posibilidades de Producción en tres continentes aseguran un suministro
rápido y puntual cuando se hace necesaria una capacidad de respuesta.
Inicio a HASP Introducción
7
Servicio y Soporte local en más de 40 países.
Con 8 oficinas internacionales y más de 40 distribuidores locales, dispone
del soporte HASP virtualmente dónde y cuándo se necesite.
Aladdin Consulting
Para instrucciones detalladas sobre la implantación de HASP, contacte con
nuestro equipo internacional de consultores. Ellos pueden asesorarle sobre:
• Integración de la producción y distribución HASP en su empresa.
• Análisis de la mejor estrategia de protección para su aplicación.
• Ayuda en el diseño de algoritmos y mejor integración de la protección
HASP en su software.
Introducción Parte 1 - Capítulo 1
8
Llaves de Protección HASP
Las llaves HASP están disponibles para diferentes puertos en diferentes
modelos.
Tabla 1.1 Modelos HASP
Modelo
HASP
Capacidad de
Memoria
Opciones Full
Authorization
System
Prestaciones Tipos de
Llave
HASP4 Std. No No disponible Codificación/
Decodificación
Paralelo,
USB
HASP4 M1 112 bytes 16 aplicaciones Codificación/
Decodificación
HASP ID
Paralelo
USB
HASP4 M4 496 bytes 112 aplicaciones Codificación/
Decodificación
HASP ID
Paralelo,
USB
PC-Card
HASP4 Time 496 + 16 bytes 8 aplicaciones fecha
expiración
Codificación/
Decodificación
HASP ID,
reloj tiempo real
Paralelo,
USB
HASP4 Net5 496 bytes 112 aplicaciones en
5 estaciones
Codificación/
Decodificación
HASP ID, acceso red
Paralelo,
USB
HASP4 Net10 496 bytes 112 aplicaciones en
10 estaciones
Codificación/
Decodificación
HASP ID, acceso red
Paralelo,
USB
HASP4 Net20 496 bytes 112 aplicaciones en
20 estaciones
Codificación/
Decodificación
HASP ID, acceso red
Paralelo,
USB
Inicio a HASP Introducción
9
Modelo
HASP
Capacidad de
Memoria
Opciones Full
Authorization
System
Prestaciones Tipos de
Llave
HASP4 Net50 496 bytes 112 aplicaciones en
50 estaciones
Codificación/
decodificación
HASP ID, acceso red
Paralelo,
USB
HASP4
Net100
496 bytes 112 aplicaciones en
100 estaciones
Codificación/
decodificación
HASP ID, acceso red
Paralelo,
USB
HASP4 NetU 496 bytes 112 aplicaciones en
ilimitado número de
estaciones
Codificación/
decodificación
HASP ID, acceso red
Paralelo,
USB
Tipos de Llaves HASP4 para diferentes puertos Las llaves HASP4 están disponibles en versiones de puerto paralelo, USB y PC-Card con idéntica funcionalidad.
• Llaves HASP4 paralelo que se conectan sobre el puerto paralelo y
únicamente pueden proteger aplicaciones que se activen en PCs. • Llaves HASP4 USB son llaves multi-plataforma que se conectan sobre
puertos USB y pueden utilizarse para proteger aplicaciones que se activen en plataformas PC y Mac.
• HASP4 PC-Cards son avanzadas tarjetas de protección de software que se insertan en slots PC-Card (PCMCIA) que se encuentran en la mayoría de notebook PCs.
Modelos HASP4
HASP4 Standard
La solución de protección con mejor relación precio-efectividad que ofrece
Aladdin. HASP4 usa el mismo componente ASIC y características en su
arquitectura que los productos más avanzados, HASP4 Std. ofrece una
solución a bajo coste extremadamente segura y fiable.
Introducción Parte 1 - Capítulo 1
10
HASP4 Std. Está disponible para puerto paralelo y puerto USB.
HASP4 M1 y HASP4 M4 – las llaves de protección de software más
versátiles y seguras disponibles
HASP4 M1 y M4 combinan el alto nivel de seguridad inherente a HASP4 con
la flexibilidad de hasta 496 bytes de memoria de lectura/escritura y un único
número ID para cada llave. La memoria HASP4 y sus posibilidades de
actualización sobre el terreno, permiten plantearse nuevas estrategias de
venta como suscripciones, demos, probar antes de comprar, alquiler o leasing
de software para hasta 112 aplicaciones – todo en una sola llave.
HASP4 M1 está disponible para el puerto paralelo y el puerto USB. HASP4
M4 está disponible para el puerto paralelo, el puerto USB y cómo PC-Card.
HASP4 Time – Protección de software con reloj de tiempo real
HASP4 Time contiene un reloj de tiempo real interno, que indica la hora
exacta (horas, minutos y segundos) y la fecha (día, mes y año). Diseñado
específicamente para permitir alquiler o leasing de software, HASP4 Time
también permite que cobre a sus clientes por uso y mantenimiento del
software. Basada en HASP4 M4, HASP4 Time contiene 512 bytes de
memoria interna segura de lectura/escritura y un número ID único para cada
llave. Mediante el uso de la memoria HASP4 Time puede controlar la
distribución y acceso de hasta 8 módulos de software diferentes y diferentes
paquetes de software, alquiler o leasing de software y distribución de demos
que caduquen después de una fecha específica.
HASP4 Time está disponible para el puerto paralelo y el puerto USB.
HASP4 Net
Lo último en protección de software para entornos de red diferentes. Conecte
una sola llave HASP4 Net en cualquier estación de la red para proteger su
aplicación y limitar el número de estaciones ejecutándola simultáneamente.
HASP4 Net incorpora todas las prestaciones de HASP4 M4.
Inicio a HASP Introducción
11
Kit de Evaluación HASP
El kit de evaluación HASP contiene todo lo necesario para conocer y probar el
sistema de protección HASP, e incluye lo siguiente:
Software.
El software HASP contenido en un único CD-ROM.
Hardware.
Su kit de evaluación HASP viene con una llave HASP demo. La llave demo
HASP es una HASP4 M1, HASP4 Time o HASP4 Net, dependiendo del tipo
de llave HASP que usted solicitó al pedir su kit de evaluación.
ë
La llave demo HASP que reciba debe usarse sólo para su evaluación. Cuando solicite llaves HASP, Aladdin le asigna un código de programador único que diferencia sus llaves de otras.
Documentación. Su kit de evaluación HASP incluye una copia de la Guía del programador
HASP4.
Kit de Inicio HASP
El kit de inicio HASP es similar al kit de evaluación HASP, excepto que
contiene 5 llaves HASP que son exclusivamente para su compañía (2 llaves
en el caso de HASP4 Net). Sus llaves HASP incluyen passwords HASP que
sólo usted conoce, así se asegura que sus llaves HASP están diferenciadas
del resto de llaves HASP.
Mientras que la llave demo HASP que usted recibe en un kit de evaluación
HASP debe utilizarse sólo para su prueba, las llaves HASP que recibe en el
kit de inicio pueden utilizarse para proteger la aplicación para su
distribución a sus clientes.
Con el kit de inicio HASP, ya puede empezar. Simplemente proteja sus
aplicaciones y solicite el número de llaves que necesite.
13
Parte 1 – Capítulo 2
Conceptos Básicos
Para incorporar efectivamente la protección HASP, recomendamos que se
familiarice con los conceptos y términos descritos en este capítulo.
Si está protegida con HASP4 Net, también debe leer “Conceptos Básicos de
HASP4 Net” (página 209) para familiarizarse con los términos y conceptos
específicos de HASP4 Net.
Conceptos Básicos Parte 1 - Capítulo 2
14
¿Cómo trabaja HASP? Durante la ejecución, la aplicación protegida solicita la llave HASP
conectada al PC. Si la respuesta devuelta por HASP es la adecuada y se
identifica el algoritmo HASP correcto, la aplicación se ejecuta. Si la
respuesta es incorrecta, la aplicación no se podrá cargar, puede cambiar a
modo demo, o limitar determinadas prestaciones.
Figura 2.1 Mecanismo de Protección HASP
Inicio a HASP Conceptos Básicos
15
Identificación de la Llave HASP
La protección se basa en hacer el acceso a la aplicación protegida
dependiente de la presencia de la llave HASP adecuada.
Las llaves HASP contienen información específica para su empresa, lo que
asegura la exclusividad de las llaves HASP que usted distribuye.
La presencia de la llave HASP adecuada puede comprobarse por uno de los
siguientes métodos:
• Use el motor de encriptación basado en hardware
• Use el número ID específico de cada llave
• Utilice la funcionalidad de la memoria
Uso del motor de encriptación
Cuando integra la protección HASP, usted comprueba la presencia de la
llave HASP. El sistema HASP realiza esta comprobación codificando y
decodificando datos a través de la misma HASP.
Verificar la presencia de HASP mediante la encriptación y desencriptación
de datos requiere cierta planificación. Para empezar, debe de disponer de
algunos datos que previamente haya codificado. Entonces debe enviar esos
datos a HASP utilizando el servicio DecodeData. Allí se decodifican y
entonces puede comprobar que la decodificación es correcta. Si es así,
entonces la llave HASP está presente.
Los datos decodificados pueden verficarse utilizándolos en su aplicación
protegida. Consulte “Codifique datos Internos y Externos” (página 135) para
más información sobre el uso de datos decodificados.
Puede codificar datos usando HASP Edit o el API de HASP. Para más
información consulte “Acceso a llaves con HASP Edit” (página 73) o
“Protección con el API de HASP” (página 115).
Conceptos Básicos Parte 1 - Capítulo 2
16
Figura 2.2 Decodificación de Datos para verificar la llave HASP
Información Específica para el Programador
Cuando usted hace un pedido a Aladdin, recibe llaves que contienen
información exclusiva para su compañía. Esta información se usa para
diferenciar sus llaves de las llaves de otros programadores.
Inicio a HASP Conceptos Básicos
17
Código del Programador.
El Código de programador es un código único que Aladdin asigna a cada
fabricante de software. El código de programador se quema en el componente
ASIC de HASP para prevenir su duplicación, lo que asegura una protección
total.
Cuando haga pedidos adicionales recibirá llaves HASP con el mismo código
de programador. El código de programador está referenciado con un grupo de
cinco a siete letras impresas en la etiqueta de cada HASP.
Passwords HASP
Las passwords HASP son dos enteros asignados a cada fabricante de
software. Las passwords se basan en su código de programador único.
êê Asegúrese de mantener sus passwords en un lugar seguro, pues
se utilizan para acceder a la HASP, proteger su aplicación y
usar las utilidades HASP.
Comprobación del número ID de HASP
Cada llave de memoria HASP tiene un número ID único. La aplicación
protegida puede verificar este número ID.
Las llaves HASP con Número ID le permiten distinguir entre los usuarios de
su aplicación. Comprobando el número ID de HASP en su aplicación, usted
puede decidir cómo responder si una HASP específica está o no presente.
Puede obtener el número ID de HASP mediante la utilidad HASP Edit. Para
más información consulte “Acceso a las llaves con HASP Edit” (página 73).
ë
No es posible solicitar llaves HASP con números ID específicos.
Éstos se asignan aleatoriamente durante el proceso de
fabricación, así se garantiza que no se repetirán.
Conceptos Básicos Parte 1 - Capítulo 2
18
Uso de las opciones de Memoria HASP
Todas las llaves HASP excepto HASP4 Std. contienen memoria interna de
lectura/escritura. Puede utilizar la memoria HASP para lo siguiente:
• Control de accesos a diferentes módulos de un software o diferentes
paquetes de software.
• Asignar un código único a cada usuario del software.
• Alquiler o leasing de software y distribución de demos con un contador
de ejecuciones.
• Grabar passwords, código del programa, variables de programa o
cualquier otro tipo de datos.
Para más información acerca de la memoria de lectura/escritura disponible
en las distintas llaves HASP consulte la tabla 1.1 (página 8).
Puede editar la memoria mediante HASP Edit. Para más información
consulte “Acceso a las llaves con HASP Edit” (página 73).
Inicio a HASP Conceptos Básicos
19
Métodos de Protección HASP
• Envelope HASP
• Application programming interface (API)HASP
Envelope HASP
El método de protección básico es la protección HASP Envelope. Este método
añade un escudo protector alrededor de los archivos ejecutables. La Envelope
encripta su archivo, incorpora testeos de HASP y prestaciones anti-
debugging. Después de proteger con la Envelope, la aplicación protegida no
puede funcionar sin la llave HASP correcta.
El uso de la Envelope no requiere acceder al código fuente de la aplicación, es
un método rápido y sencillo de protección. Al mismo tiempo, incorpora un
nivel muy alto de protección, haciendo virtualmente imposible desensamblar
o debuggear sus aplicaciones.
Para información acerca del uso de la Envelope HASP consulte “Protección
con la Envelope HASP” (página 43)
Application Programming Interface (API) de HASP
Si dispone del código fuente de la aplicación que desea proteger, puede linkar
el API de HASP a su aplicación. Dado que el API de HASP está protegido y
encriptado, este método también ofrece un alto grado de seguridad.
Utilice el API para insertar llamadas a HASP desde su aplicación. Con el
API, puede comprobar la presencia de la llave HASP desde cualquier punto
del programa, y decidir cómo responder si no está conectada la llave HASP
correcta. Además, puede acceder al contenido de la memoria HASP para leer,
escribir y almacenar información delicada.
Debe tener la posibilidad de acceder al código fuente para utilizar el API.
Conceptos Básicos Parte 1 - Capítulo 2
20
¿Qué Método usar?
Puede utilizar cualquiera de los dos métodos independientemente, o
combinar ambos.
Use la Envelope, cuando pretenda un proceso rápido y sencillo de protección,
o cuando no pueda acceder al código fuente.
Use el API cuando tenga acceso al código fuente y desee personalizar su
protección para añadir llamadas adicionales a la llave.
Tanto la Envelope como el API son métodos de protección muy efectivos y
potentes. Protegiendo su aplicación con cualquiera de ellos, se asegura un
nivel de protección muy alto. Sin embargo, recomendamos utilizar ambos si
es posible. Cada método trabaja de manera diferente y el uno complementa y
mejora al otro.
Incorpore el API de HASP en el código fuente de su aplicación, compile, linke
los archivos objeto o DLLs en su aplicación, y a continuación use la protección
HASP Envelope en su archivo ejecutable.
Full Authorization System (FAS) Full Authorization System es una potente herramienta que incorpora HASP
y que le permite proteger múltiples aplicaciones con una sola llave HASP de
memoria, y especificar bajo que condiciones se puede usar cada aplicación.
Opciones FAS
Con FAS, puede limitar el uso de su aplicación por medio de:
• Fijar un número de activaciones (HASP4 M1, HASP4 M4 y HASP4 Net).
Esta característica es de gran utilidad para suministrar versiones demo
de sus aplicaciones.
• Fijar una fecha de expiración (HASP4 Time).
Inicio a HASP Conceptos Básicos
21
Esta característica es de gran utilidad para el leasing y alquiler de su
software.
• Fijar el número de estaciones que pueden activar el programa
simultáneamente (HASP4 Net).
FAS es una de las opciones de la Envelope cuando está protegiendo con una
llave HASP monopuesto con memoria. Con HASP4 Net no es opcional, es
una parte integrante del sistema de protección HASP4 Net, tanto si protege
con la Envelope como con el API de HASP.
¿Cómo trabaja FAS?
Una aplicación protegida con HASP que incorpora FAS, realiza varias
comprobaciones.
• La aplicación protegida en primer lugar confirma la presencia de la llave
HASP correcta conectada al PC.
• Si la llave HASP correcta está presente, se comprueba la memoria de
HASP y verifica que la aplicación está en la lista de aplicaciones
autorizadas.
Si la aplicación está autorizada se llevan a cabo diferentes chequeos según el
modelo de llave HASP que se está utilizando:
• Con HASP4 M1 y HASP4 M4, la memoria HASP es chequeada para
comprobar que el número de ejecuciones autorizadas no ha sido agotado.
Con cada ejecución, el número de ejecuciones disminuye de uno en uno.
Cuando llega a 0, la aplicación se interrumpe con un mensaje de error.
• Con HASP4 Time, se comprueba la fecha de caducidad y se compara con
el reloj de tiempo real de la llave. Si la fecha de caducidad ya ha pasado,
se interrumpe la aplicación con un mensaje de error.
• Si está utilizando HASP4 Net, consulte “¿Cómo trabaja HASP4 Net?”
(página 210) para entender cómo FAS se integra automáticamente en el
sistema HASP4 Net.
Conceptos Básicos Parte 1 - Capítulo 2
22
Preguntas Frecuentes (FAQ)
Pregunta ¿Puedo cambiar las passwords de mi llave HASP?
Respuesta No. Para asegurar el más alto nivel de protección y evitar sistemas reversos sobre el diseño del hardware de la llave, las passwords de HASP se han quemado sobre el componente ASIC de la llave HASP durante su fabricación. Nadie puede acceder a HASP, por tanto, para leer y cambiar estas passwords.
Pregunta ¿Puedo adjudicar a cada cliente una HASP con un código o password único?
Respuesta Sí. Para este propósito, recomendamos utilizar llaves HASP con memoria, que contiene un Número ID único para cada llave. Además, usted puede programar la memoria de las llaves HASP individualmente para cada uno de sus clientes.
Pregunta ¿Es posible que otro programador posea llaves con las mismas passwords que las mías?
Respuesta No. Se suministra cada conjunto de passwords a un solo programador.
Pregunta ¿Qué ocurre cuando se agota la batería de una llave HASP4 Time?
Respuesta La batería de HASP4 Time tiene una vida de 3-5 años, que en términos de licencias de software es un plazo muy largo de tiempo. Cuando la batería se agota, HASP4 Time queda como una llave como una HASP4 M4. Y, la aplicación protegida con la Envelope deja de funcionar. La vida de la batería se alarga si la llave está conectada al PC.
Inicio a HASP Conceptos Básicos
23
Pregunta ¿Pueden utilizarse llaves HASP monopuesto en entornos de red?
Respuesta Sí. Hay dos opciones para utilizar HASP en entornos de red. La primera es conectar una llave HASP a cada estación en que la aplicación protegida deba funcionar. La segunda y más eficiente de las opciones es proteger la aplicación con HASP4 Net, un sofisticado sistema de protección diseñado especialmente para trabajar en entornos de red.
HASP4 Net permite ejecutar una aplicación protegida en varias estaciones usando una sola llave. Para saber más acerca de HASP4 Net, “Conceptos Básicos de HASP4 Net” (página 209).
Pregunta ¿Pueden conectarse varias llaves HASP una detrás de otra?
Respuesta Sí. Es posible encadenar múltiples llaves HASP sin ningún equipamiento especial.
Las llaves USB HASP son dispositivos terminadores, no es posible encadenarlas.
Pregunta ¿Y respecto a llaves de otros fabricantes?
Respuesta Las llaves HASP son totalmente transparentes. Puede conectarla antes o entre otras llaves, en caso de que sean también transparentes.
Pregunta ¿Pueden protegerse con HASP archivos de datos o aplicaciones escritas con herramientas de software como Lotus y AutoLISP?
Respuesta Sí. Existe un sistema especial para la protección de archivos de datos llamado DataHASP. DataHASP protege archivos Encriptando su contenido y autorizando el acceso sólo a los programas que se indique. DataHASP puede utilizarse con aplicaciones DOS y Win32 con todas las llaves HASP.
Para mayor información, vea “Protección con la Envelope HASP” (página 43).
Conceptos Básicos Parte 1 - Capítulo 2
24
Pregunta ¿Por qué debo utilizar una llave HASP con memoria?
Respuesta Hay tres buenas razones para elegir llaves HASP con memoria para proteger su aplicación:
• Para distribuir versiones demo de su aplicación, o alquilar su software
• Para proteger múltiples aplicaciones con una sola llave HASP
* Puede usar la memoria de HASP para almacenar datos y utilizarlos más adelante, aumentando la seguridad de su aplicación protegida.
Pregunta ¿Cómo puedo actualizar la memoria HASP después de entregar la aplicación protegida a mi cliente?
Respuesta El Sistema de Actualización Remota de HASP (Remote Update System (RUS)) permite actualizar en modo remoto la memoria de la llave HASP cuando ésta se encuentra en posesión de su cliente. Se actualiza la memoria de HASP enviando unas passwords, sea por teléfono, fax, o e-mail. Este sistema permite añadir módulos de software o actualizar un contador de ejecuciones.
Para más información, contacte con su proveedor local de HASP.
25
Parte 1 – Capítulo 3
Instalación de HASP
Este capítulo ofrece una visión del software HASP, las principales etapas de
la protección de software y los procesos básicos de instalación para los
diversos sistemas operativos.
Software HASP
El software HASP se compone de las siguientes partes:
• Drivers y daemons para acceder a las llaves HASP
• HASP Edit para preparar llaves HASP para su distribución
• Aladdin Diagnostic para asistir al usuario final
• APIs HASP y Envelope HASP para integrar la protección en la
aplicación
• Demo HASP para mostrar y probar la funcionalidad de HASP
• Administrador de Licencias HASP y Monitor Aladdin para suministrar,
administrar y monitorizar las licencias HASP4 Net
Instalación de HASP Parte 1 - Capítulo 3
26
Device Drivers y Daemons
Los Device Drivers y daemons HASP sirven como enlace entre la llave HASP
y la aplicación protegida. Tanto usted como su cliente necesitan instalar el
driver apropiado para ejecutar la aplicación protegida.
Los Device Drivers y daemons HASP están disponibles para los siguientes
sistemas operativos: Windows 95/98/ME, Windows NT/2000/XP, Mac OS 8.6,
Mac OS 9.x, Mac OS X, Linux.
También puede integrar la instalación del driver en el proceso de instalación
de su aplicación protegida.
Acceso a las llaves HASP con HASP Edit
HASP Edit es una utilidad para acceder a las llaves HASP y editar la
memoria de las llaves de memoria HASP.
Asistencia al usuario final con Aladdin Diagnostic
La utilidad Aladdin Diagnostic permite a sus clientes recoger información de
su sistema y sus llaves HASP.
Protección de Aplicaciones
Envelope HASP
Envelope HASP es una herramienta que le permite proteger su aplicación
envolviéndola en un escudo protector.
Puede usar la Envelope de HASP como herramienta de línea de comando o
desde su interfaz gráfica de usuario. Para mayor información consulte
“Protección con la Envelope HASP” (página 43).
API de HASP
El API (Application Programming Interface) de HASP le permite proteger su
aplicación insertando llamadas a las llaves HASP desde su código fuente.
Inicio a HASP Instalación de HASP
27
El directorio raíz del CD HASP está subdividido según los sistemas
operativos, entorno de desarrollo y compilador. El directorio de cada
compilador incluye lo siguiente:
• Librerías que deben linkarse a su aplicación
• Una aplicación de ejemplo que muestra el uso del API con todas las
llaves HASP
Para mayor información consulte “Protección con el API de HASP (página
115).
Demo de HASP
Utilidades que le permiten testear los servicios HASP. Para más
información consulte “Utilidades de Test HASP” (página 128).
Suministro de licencias en una red
Para información de HASP4 Net consulte “Conceptos Básicos de HASP4
Net” (página 209).
Administrador de licencias HASP
Una utilidad que comunica la aplicación protegida con la llave HASP4 Net.
Monitor Aladdin
Herramienta para el seguimiento del uso de aplicaciones protegidas y el
administrador de licencias HASP en una red.
Instalación de HASP Parte 1 - Capítulo 3
28
Protección de Software – Referencia Rápida
A continuación se indican las principales etapas normalmente implicadas en
la protección de su aplicación utilizando cualquier HASP.
Etapa 1: Instalación del HASP Device Driver o Daemon
Permite acceder a la llave HASP. Los últimos drivers pueden descargarse
desde www.ealaddin.com/support/hasp/vendor.asp .
Para información acerca de la instalación de los drivers consulte las
siguientes secciones.
Etapa 2: Uso de la utilidad HASP Edit
Le permite personalizar su protección.
Para más información acerca de HASP Edit consulte “Acceso a las llaves
HASP con HASP Edit” (página 73).
Etapa 3: Uso del API de HASP
Le permite incorporar llamadas a HASP desde la aplicación.
Para más información sobre el uso del API de HASP consulte “Protección con
el API de HASP” (página 115).
Etapa 4: Uso de la utilidad Envelope de HASP
Permite encriptar el archivo de aplicación para aumentar su seguridad.
Para información acerca de la encriptación de archivos de aplicación
“Protección con la Envelope de HASP” (página 43).
Etapa 5: Uso de la utilidad HASP Edit
Permite personalizar sus llaves para distribución con su software protegido.
Para información acerca de HASP Edit consulte “Acceso a llaves HASP con HASP Edit” (página 73) .
Inicio a HASP Instalación de HASP
29
Instalación de HASP bajo Windows
Instalación del Software HASP
Inserte el CD HASP en su unidad de CD-ROM. Se iniciará automáticamente
el proceso de instalación. Si no es así, ejecute setup.exe del directorio Setup.
Ahora siga las instrucciones de la pantalla.
Instalación del HASP Device Driver
El HASP Device Driver se instala automáticamente cuando usa el setup
general del software HASP. Ofrecemos también diferentes aplicaciones para
instalar el HASP Device Driver:
Tabla 3.1 Herramientas de Instalación del Device Driver (Windows)
Aplicación Sistema Operativo
Hinstall.exe Win32, versión de línea de comando
HDD32.EXE Win32, versión Interfaz Gráfico al usuario
HDD16.EXE Win16, versión Interfaz Gráfico al usuario
Puede encontrar estas aplicaciones en el directorio Drivers de su CD HASP.
Reconocen automáticamente el sistema operativo en uso e instalan los
archivos del driver adecuado en las ubicaciones requeridas.
Para información acerca de qué archivos se instalan consulte el archivo de
ayuda hdd.hlp.
ë
Para instalar el HASP Device Driver bajo Windows NT/2000/XP,
necesita privilegios de administrador.
El HASP Device Driver se carga dinámicamente bajo Windows 95/98/ME si
no ha sido previamente instalado en el PC.
Instalación de HASP Parte 1 - Capítulo 3
30
Tras la instalación del HASP Device Driver, las aplicaciones protegidas con
HASP con versiones del API de HASP anterior a la versión 6.1 requieren
reiniciar el sistema. El HASP device driver se carga dinámicamente tan
pronto como se accede a HASP después de haber reiniciado el sistema.
Si instala una versión actualizada del HASP device driver después de
ejecutar una aplicación protegida con HASP, debe reiniciar su sistema para
que la nueva versión del driver se cargue dinámicamente.
Personalizar la instalación del HASP device driver
Puede instalar el HASP device driver a cliente de dos maneras:
• Ejecute hinstall.exe o HDD16.EXE/HDD32.EXE. Puede crear un archivo
batch de línea de comando para realizar la instalación y distribuir este
archivo con su aplicación.
• Instale el HASP device driver desde su aplicación creando su propia
aplicación de instalación.
Puede personalizar la instalación a través de una DLL o librería.
En el directorio Drivers\drvapi encontrará interfaces para diversos
compiladores, incluyendo una interface para Install Shield. Cada directorio
de interface de compilador contiene un ejemplo de instalación personalizado.
Para más información acerca de la utilidad hinstall y la instalación API del
HASP device driver, vea el archivo de ayuda hdd.hlp.
La utilidad Hinstall
hinstall.exe es una aplicación Win32 que instala el HASP device driver bajo
los sistemas Windows 95/98/ME y Windows NT/2000/XP
Para instalar el HASP device Driver:
• Teclee hinstall –i desde la línea de comando
Aparece una ventana informando que el HASP device driver se instaló
correctamente.
Inicio a HASP Instalación de HASP
31
Para desinstalar el HASP Device Driver:
• Teclee hinstall –r desde la línea de comando
Aparece una ventana informando que el HASP device driver se
desinstaló correctamente.
Para actualizar un HASP device driver:
• Instale el nuevo HASP device driver siguiendo los pasos de instalación
detallados anteriormente.
Instalación de HASP Parte 1 - Capítulo 3
32
Instalación de HASP bajo Mac
El software HASP para Mac incluye el daemon y el driver, el API de HASP,
la utilidad HASP Edit y el administrador de licencias HASP. El software se
encuentra en el archivo sit en el directorio Mac del CD HASP.
Instalación del Daemon HASP para Mac OS X
El daemon HASP aksusbd permite al sistema Mac OS X y a la aplicación
protegida acceder a la llave HASP.
Tanto usted como su cliente necesitan instalar y cargar el daemon aksusbd
para trabajar con la llave HASP bajo Mac OS X. El script dinst le permite
hacerlo.
Para instalar el daemon proceda de la siguiente forma:
1. Acceda como raíz o como usuario con acceso de nivel administrador.
2. Abra una sesión de terminal bajo OS X. Para ello seleccione
Applications del menú Go, abra la carpeta utilities y selecciones
Terminal.
3. Cambie al directorio daemon.
4. Inicie el script tecleando ./dinst. Si no ha accedido como raíz, inicie el
script tecleando sudo ./dinst.
El daemon se iniciará automáticamente en cada arranque del sistema.
Después de que el daemon HASP se haya instalado y cargado correctamente,
su sistema reconocerá las llaves HASP conectadas al puerto USB.
Puede configurar el daemon con los siguientes parámetros de línea de
comando:
Inicio a HASP Instalación de HASP
33
Tabla 3.2 Parámetros de línea de comando para aksusbd (Mac)
Parámetro Significado
-v Muestra número de versión como decimal, formato xx.xx.
-u <umask> Especifica los bits de permiso para el archivo de socket
especial. Predeterminado es 666 (puede acceder cualquiera)
-l <valor> Selecciona tipo de mensajes de diagnóstico. Los valores
posibles son:
0 – sólo errores
1 – normal (predeterminado)
2 – verbose
3 – ultra verbose
-h Muestra ayuda de línea de comando.
Para configurar el daemon proceda de la siguiente manera:
1. Edite el archivo de inicio Aladdin al que se hace referencia en el script
dinst.
2. Añada los parámetros deseados a la línea aksusbd que inicia el daemon.
Instalación del Driver HASP para Mac OS 8.6 y 9.X
El driver HASP permite a los sistemas Mac OS 8.6 y Mac OS 9.x y a la
aplicación protegida acceder a la llave HASP.
Tanto su cliente como usted necesitan instalar el driver para trabajar con la
llave HASP bajo Mac OS 8.6 y 9.x.
Para instalar el driver proceda de la siguiente forma:
1. Copie los archivos MacHasp4Shim y MacHaspUsbDD en la carpeta
Extensions en System Folder.
ë Si los archivos ya existen debe moverlos fuera de la carpeta
previamente, pues no pueden sobrescribirse.
2. Reinicie el sistema.
Instalación de HASP Parte 1 - Capítulo 3
34
Su sistema ahora reconocerá las llaves HASP conectadas al puerto USB.
Instalación de HASP Edit para Mac
Para instalar HASP Edit para Mac:
1. Abra el archivo sit en el CD HASP.
2. Copie la aplicación HASP Edit a su PC.
Para más información consulte “Acceso a las llaves HASP con HASP Edit”
(página 73).
Instalación de Soporte HASP4 Net y Utilidades
Para información sobre HASP4 Net consulte “Conceptos Básicos de HASP4
Net” (página 209) y subsiguientes capítulos.
Inicio a HASP Instalación de HASP
35
Instalación de HASP bajo Linux
El software HASP para Linux incluye lo siguiente:
• Drivers modo kernel para varias versiones de kernel y daemon
• Utilidades para preguntar la versión del driver y mostrar puertos
paralelo
• Aplicación Demo HASP y el código fuente
• Librería HASP
Está en el archivo hasplinux101.tgz del directorio Linux del CD de HASP.
Para información detallada sobre los componentes consulte los archivos
readme.
Apertura del Archivo
Para abrir el archivo proceda de la siguiente forma:
1. Cree una subcarpeta nueva
2. Descomprima el archivo mediante la siguiente línea de comando:
Tar –xzf [path/]hasplinux101.tgz
Instalación Daemon y Driver Modo Kernel
Para acceder a la llave HASP, el driver modo kernel aksparlnx.o y el daemon
aksusbd deben ser cargados.
ë Todas las acciones descritas deben ejecutarse como raíz.
Instalación del driver modo kernel (aksparlnz.o)
La instalación del driver incluye los siguientes pasos:
• Genere el nodo dispositivo
• Inicialice el sistema parport
• Carga del driver
Instalación de HASP Parte 1 - Capítulo 3
36
Generación del nodo dispositivo
Para habilitar el acceso al driver, genere un nodo dispositivo /dev/Hardlock.
Debería usar el mismo número major utilizado al cargar el driver (major=xxx
línea de comando para insmod, o predeterminado 42)
1. Genere el nodo dispositivo con el siguiente comando:
Mknod /dev/Hardlock c 42 o
2. Permitir el acceso al nodo a todos:
Chmod 666 /dev/Hardlock
De forma alternativa, si el acceso a las llaves Aladdin debe restringirse a
un grupo especial de usuarios (por ejemplo grupo Aladdin):
Chgrp aladdin /dev/Hardlock
Chmod 660 /dev/Hardlock
Inicialización del sistema parport
El driver aksparlnx usa el driver parpor Linux para acceder al puerto
paralelo sin interferir otros usuarios del puerto paralelo (ej. Impresoras,
drives zip).
Inicialice el sistema parport antes de cargar el driver aksparlnx:
Modprobe parport_pc
El driver parport informará al log del sistema de los puertos paralelo
encontrados en el sistema. aksparlnx permitirá el acceso a las llaves en
cualquiera de estos puertos.
Cargando el driver
Cargue el driver aksparlnx con la siguiente línea de comando:
Insmod <path_to_dirver>/aksparlnx.o
Se genera un mensaje de status en el log del sistema informando si la
instalación ha sido realizada correctamente o no.
Inicio a HASP Instalación de HASP
37
La carga del driver (modprobe e insmod) debe incorporarse a un script de
inicio, de forma que esté disponible en siguientes arranques del sistema.
Opciones para aksparlnx.o
Tabla 3.3 Parámetros de línea de comando para aksparlnx.o (Linux)
Parámetro Significado
-major=<número> El driver usa el dispositivo mayor número 42 por defecto. Puede cambiar ese valor mediante un argumento al comando insmod. También puede cambiar el archivo driver especial mediante el comando mknod /dev/Hardlock c<número> 0
-loglevel=<valor> Seleccione el tipo de mensajes de diagnóstico. Los posibles valores son: 0 – sólo errores 1 – normal (predeterminado) 2 – verbose 3 – ultraverbose Los mensajes son llevados a syslog con prioridad kern.info (y kern.debug). Consulte /etc/syslog.conf para ver donde se pondrán los mensajes, normalmente es en el archivo /var/log/messages.
Instalación de HASP Parte 1 - Capítulo 3
38
Parámetro Significado
-timeout=
<valor>
Especifica el tiempo máximo que el driver espera al solicitar acceso exclusivo al puerto desde el driver parport. El valor utilizado es 1/100 de segundo. El valor predeterminado es 100 (=1 segundo). Tras ese tiempo la solicitud será abortada con un error PORT_BUSY.
-
hlportadress
=<address>
Si tiene un puerto paralelo en el sistema que no es detectado por el driver parport de Linux (y por lo tanto no es visto por aksparlnx.o). Puede hacer el puerto accesible para aksparlnx.o Utilice este parámetro sólo si es un usuario
ê experimentado. Dar una dirección ilegal de puerto
puede causar la caída del sistema.
Instalación del daemon Aladdin (aksusbd)
Permitiendo acceso a las llaves USB
Para permitir el acceso a las llaves USB, debe montarse usbdevfs en /proc/
bus/ usb. En las distribuciones más nuevas se monta automáticamente (ej.
SuSe 7.0).
Para montar usbdevfx manualmente utilice el siguiente comando:
Mount –t usbdevfx none /proc/bus/usb
Permitiendo acceso a llaves paralelo
Para permitir acceso a las llaves de puerto paralelo, el driver kernel
aksparlnx debe estar instalado antes de iniciar aksusbd.
Cargando el daemon
Cargue el daemon iniciándolo:
<path>/aksusbd
El daemon pinchará y se auto-insertará en el fondo.
Se genera un mensaje de status en el system log informando si la instalación
se ha realizado correctamente o no.
Inicio a HASP Instalación de HASP
39
Reporta su versión, la versión del API utilizado para USB y la versión del
API del driver kernel (sólo llaves paralelo).
Si el driver kernel no está disponible cuando se lanza aksusbd, no se podrá
acceder a las llaves paralelo, pero las llaves USB aún son accesibles. El
system log refleja este status.
Si /proc/bus/usb no está montado cuando se lanza aksusbd, no se podrá
acceder a las llaves USB.
Preferentemente el daemon debería ser iniciado al arrancar el sistema a la
vez con algún script ubicado en /etc/rd.d/init o /etc/init.d (dependiendo de la
distribución Linux).
Opciones para aksusbd
Tabla 3.4 Parámetros de línea de comando para aksusbd (Linux)
Parámetro Significado
-v Muestra el número de versión como decimal, formato xx.xx.
-l <valor> Selecciones el tipo de mensajes de diagnóstico. Los posibles valores son:
0 – sólo errores
1 – normal (predeterminado)
2 – verbose
3 – ultra verbose
Estos mensajes se introducen en syslog con prioridad kern.info (y kern.debug). Consulte /etc/ syslog.conf para ver donde se ubican los mensajes, normalmente es en el archivo /var/log/messages
41
Parte 2
Uso de las herramientas HASP
Esta parte describe las utilidades HASP Envelope HASP, HASP Edit y
Diagnósticos Aladdin.
El capítulo “Protección con la Envelope HASP” (página 43) explica el uso de
la Envelope HASP que ofrece una cómoda forma de proteger su aplicación y
codificar archivos de datos.
El capítulo “Acceso a las llaves con HASP Edit” (página 73) explica el uso de
HASP Edit para Win32 y para Mac que le permite acceder a sus llaves
HASP.
El capítulo “Ayuda al Usuario Final” (página 107) describe cómo puede
asistir a sus clientes con Diagnósticos Aladdin que permite que sus clientes
puedan recoger información acerca de su sistema y su llave HASP.
43
Parte 2 – Capítulo 5
Protección con la
Envelope HASP El uso de la HASP Envelope es la forma más rápida de proteger su software
del uso no autorizado. La instalación de la Envelope HASP es sencilla, y hace
innecesario alterar el código fuente de su aplicación.
La Envelope HASP está disponible como herramienta de línea de comando
(DOS, Win16, Win32) y cómo interfaz gráfica de usuario (Win32).
El entorno de la HASP Envelope ofrece una forma cómoda de realizar
cualquiera de las siguientes operaciones:
• Proteger aplicaciones
• Proteger archivos de datos de Windows de 32 bits
• Grabar los parámetros FAS en la memoria de HASP
ê Recuerde que si ha pensado proteger su aplicación con el sistema
Envelope y con la protección desde el API, debe realizar en primer
lugar la protección con el API y a continuación la Envelope.
Protección con la Envelope HASP Parte 2 - Capítulo 5
44
Acerca del Envolvente de HASP La utilidad HASP Envelope añade un escudo protector sobre archivos
ejecutables de DOS, Windows y Windows de 32 bits, además de DLLs.
La protección Envelope integra encriptación de archivos y avanzadas
prestaciones anti-debugging que incrementan sobremanera el nivel de
seguridad.
Figura 5.1 Protección con Envelope HASP
Tres aspectos a recordar antes de utilizar la protección Envelope:
• Guarde una copia de seguridad de su archivo sin proteger.
Por defecto, durante la protección. El archivo original es destruido y se crea
uno nuevo. La protección es irreversible.
• Asegúrese de disponer de suficiente espacio en el disco.
Después de la protección con la Envolvente, su aplicación necesitará espacio
adicional en el disco. El total de espacio dependerá del tipo de aplicación que
se está protegiendo:
• Las Envelopes de DOS y Win32 quedan residentes en memoria mientras
la aplicación está ejecutándose.
La Envelope de DOS utiliza 28KB de memoria.
Uso de las Herramientas HASP Protección con la Envelope HASP
45
Inicio a Envelope HASP
Puede proteger una aplicación DOS, Win16 o Win32 utilizando un entorno
gráfico (graphical user interface (GUI)) como se describe aquí, o desde la
línea de comando como se describe en la página 65.
1. Instale el HASP Device Driver. Vea “Instalación de HASP bajo
Windows” en la página 29.
2. Conecte al PC la(s) llave(s) HASP con la(s) que desea proteger su
aplicación.
3. Active la utilidad Envolvente bien seleccionando HASP Envelope de la
carpeta del CD HASP, o ejecutando haspenv.exe.
Aparece la ventana de la Envolvente HASP:
Hay tres opciones disponibles:
• Pulse Start HASP Wizard para acceder al Wizard, que le guía a través
del proceso de protección paso a paso.
• Pulse New Envelope Configuration para iniciar una sesión de
protección utilizando nuevos parámetros de protección.
• Pulse Open Envelope Configuration para iniciar una sesión de
protección utilizando parámetros de protección grabados.
Protección con la Envelope HASP Parte 2 - Capítulo 5
46
Protección de una aplicación Este capítulo describe el proceso de protección usando las opciones New o
Open de la Envelope.
1. En la pestaña principal de la Envolvente, introduzca el nombre y el path
de la aplicación que desea proteger en el campo Unprotected File.
2. Teclee las passwords de HASP en los campos adecuados.
3. Si está integrando FAS, rellene los parámetros según el modelo HASP
que está usando:
• Con HASP4 M1, introduzca el número de programa y el número de
activaciones autorizadas en la pestaña Options.
• Con HASP4 Time, introduzca el número de programa y la fecha de
caducidad en la pestaña Options.
• Con HASP4 Net, introduzca el número de programa en la pestaña
principal. Puede introducir tanto el número de ejecuciones, el número de
licencias o ambos.
4. Rellene los campos restantes de las pestañas Main, Options y Error
Messages según sus necesidades de protección. Vea las siguientes
secciones para encontrar una descripción detallada de las pestañas y sus
campos.
5. Pulse el icono Protect o seleccione la opción Protect Application del
menú Envelope Tools.
Aparece una ventana informándole que la aplicación se ha protegido
correctamente.
6. Pulse ok.
Si ha asignado parámetros de protección FAS, ahora se le pregunta si
desea grabarlos. Vea el capítulo “Full Authorization System”(FAS) en la
página 20 para mayor información.
La aplicación protegida ya no podrá funcionar sin la HASP adecuada.
Repita los pasos 5 a 9 tantas veces como sea necesario- para diferentes
aplicaciones o para la misma.
Uso de las Herramientas HASP Protección con la Envelope HASP
47
Protección de archivos de Datos Win32 Con DataHASP, puede proteger archivos de datos, como aplicaciones
desarrolladas con generadores de aplicaciones. DataHASP encripta sus
datos y sólo permite a las aplicaciones autorizadas a desencriptarlos.
ê Nunca codifique el mismo archivo dos veces. Si lo hace, el software
no podrá recuperarlo.
Puede proteger archivos de datos Win32 con la utilidad en entorno gráfico
(GUI) como se describe aquí, o desde la línea de comandos como se describe
en la página 65.
ë De forma alternativa, puede crear su propia aplicación y llamar a
los servicios API 60, 61, 88 o 89 para codificar o decodificar
cualquier archivo de datos abierto por su aplicación de la forma que
prefiera.
Al proteger archivos de datos Win32, también debe proteger la aplicación
que los carga y desencripta. Esta sección incluye las instrucciones de proteger
los archivos de datos y la aplicación que accede a ellos.
ê La aplicación que autoriza desencriptar los archivos de datos no
debe soportar la copia o exportación de archivos. Si lo hace, el
usuario final podrá copiar o exportar los archivos encriptados a
otros no-encriptados.
Preparación de la Protección
1. Ponga una copia de la aplicación que accede a los archivos de datos (por
ejemplo Notepad.exe) en un directorio temporal.
2. Cree un archivo de texto en el mismo directorio (por ejemplo test.txt).
3. Conecte la llave HASP con la que desea proteger sus archivos de datos
en el PC, y asegúrese de que el HASP Device Driver está instalado
correctamente
Protección con la Envelope HASP Parte 2 - Capítulo 5
48
4. Active la utilidad Envolvente seleccionando. HASP Envelope desde la
Carpeta del CD HASP. Aparecerá la ventana del Envelope de HASP.
5. Pulse New Envelope Configuration.
Definición de los Parámetros de Protección
1. En la pestaña principal (Main) de la Envolvente, introduzca el path y el
nombre de la aplicación a proteger (en este ejemplo C:\Notepad.exe) en
el campo Unprotected File.
2. Teclee las passwords HASP en los campos adecuados.
3. En los campos restantes, rellene las opciones y mensajes de error según
sus necesidades de protección. Vea la siguiente sección para una
descripción detallada de las pestañas y sus campos.
4. En la pestaña DataHASP, introduzca los nombres de los archivos de
datos que desee codificar y que desea que se decodifiquen en la ejecución
(en este ejemplo, test.txt).
Uso de las Herramientas HASP Protección con la Envelope HASP
49
Figura 5.2 Pestaña DataHASP
5. En el campo Encryption Key, introduzca ocho caracteres cualquiera
como clave de codificación.
6. En el campo Data Files to Encript, pulse Add y seleccione C:\test.txt.
7. En Data Files to Decrypt at Run Time, teclee test.txt en el campo
Decrypt. O bien, utilice comodines como, *.*, o *.txt.
Protección con la Envelope HASP Parte 2 - Capítulo 5
50
Realización de la Protección
1. Pulse el icono Protect o elija Protect Application del menú Envelope
Tools.
Aparecerá una ventana, informando que la aplicación fue protegida
correctamente.
2. Pulse OK y a continuación el botón Encrypt Selected Files al pie de la
ventana.
Aparecerá un mensaje indicando que los archivos seleccionados fueron
encriptados adecuadamente. Con esta protección se asegura que el
documento solo puede ser abierto mediante la aplicación protegida, y no
con otra copia del ejecutable.
Si introdujo parámetros de protección FAS, ahora se le preguntará si desea
grabarlos. Vea “Grabación de los Parámetros FAS” (página 51) para más
detalles.
La aplicación protegida ahora no puede funcionar sin la llave HASP correcta
y sólo esta aplicación puede acceder a los archivos de datos protegidos.
Uso de las Herramientas HASP Protección con la Envelope HASP
51
Grabación de Parámetros FAS
Después de agregar la protección Envolvente Win32 de ejecutables o archivos
de datos, también puede utilizar la Envolvente para grabar los parámetros
de protección FAS en la memoria de su llave HASP inmediatamente después
del proceso de protección.
f
De manera alternativa, puede utilizar HASP Edit para grabar los
parámetros FAS en sus llaves HASP.
Los parámetros de protección FAS que puede grabar en la memoria HASP
son:
• HASP4 M1 y M4 - el número de aplicación y de ejecuciones permitidas.
• HASP4 Time – el número de aplicación y la fecha de caducidad de la
aplicación.
• HASP4 Net – el número de aplicación, el de licencias y el de ejecuciones.
ëë
Mientras que FAS es opcional para las llaves HASP monopuesto de memoria, es una parte integrante del sistema HASP4 Net. Por lo tanto, grabar los parámetros de protección en la memoria HASP4 Net es obligatorio.
Es opcional usar HASP Edit o la Envelope para definir y grabar los
parámetros FAS en la memoria HASP. Sin embargo, debe usar la
Envolvente para fijar el número de programa. Asignando el número de
programa con la Envolvente, establece un nexo ente la llave HASP y los
parámetros de protección del programa, que se graban en la memoria HASP.
Este nexo permite a la aplicación, cuando es cargada, encontrar sus
parámetros de protección correctos en la memoria HASP.
Puede grabar los parámetros FAS en la memoria HASP inmediatamente
después del proceso de protección HASP Envelope, o independientemente de
ese proceso.
Protección con la Envelope HASP Parte 2 - Capítulo 5
52
Grabación de los parámetros FAS tras el proceso de protección:
Directamente después de integrar la protección, aparece una caja de dialogo
ofreciendo la opción de escribir en la memoria de la llave HASP conectada.
1. Elija si desea escribir en una llave HASP local o en una llave HASP4
Net.
2. Pulse Save Parameters
3. Para grabar los mismos parámetros de protección en llaves HASP
adicionales retire la HASP conectada y conecte una nueva. Pulse Save
Parameters.
4. Para dejar de grabar llaves HASP, pulse Close.
Grabación de los parámetros FAS independientemente del proceso de protección:
1. Defina los parámetros FAS que desea grabar en su llave HASP
2. De Envelope Tools seleccione Program HASP.
Aparece la caja de dialogo Save FAS Parameters.
3. Seleccione si desea escribir en una llave HASP local o en una llave
HASP4 Net
4. Pulse Save Parameters.
5. Para grabar los mismos parámetros de protección en llaves HASP
adicionales, retire la llave HASP del PC, conecte otra y pulse en Save
Parameters.
6. Para dejar de grabar llaves HASP, pulse close.
Uso de las Herramientas HASP Protección con la Envelope HASP
53
Parámetros de la Envelope HASP
Esta sección describe la utilidad Envelope Win32, pestañas, campos, menús
e iconos.
Pestaña Principal
Debe especificar los parámetros en la pestaña principal (Main) con objeto de
proteger su aplicación. Si sólo está usando una llave HASP monopuesto,
rellene todos los campos excepto los de la sección de parámetros HASP4 Net.
Si sólo está usando una llave HASP4 Net, rellene todos los campos excepto
los de la sección Passwords HASP. Si está utilizando una llave HASP
monopuesto y una llave HASP4 Net, rellene todos los campos implicados.
Figura 5.3 Pestaña Principal de HASP Envelope
Protección con la Envelope HASP Parte 2 - Capítulo 5
54
Tabla 5.1 Opciones de la Pestaña Principal de la Envelope HASP
Opción Descripción
Unprotected File
(source)
Introduzca el path y el nombre de la aplicación a proteger. Cada archivo debe tener una extensión .exe o .dll. Pulse Browse para buscar en sus discos para un archivo específico.
Protected File
(destination)
Predeterminado: El nombre del archivo introducido en el campo Unprotected File. Por defecto, la utilidad Envolvente de HASP sobrescribe el archivo original no protegido al guardar la versión protegida de su aplicación. Para evitar la sobrescritura de su archivo original, escriba un nombre diferente para el archivo protegido. Escriba ese nombre de archivo en el campo Protected File.
Passwords HASP Introduzca las passwords de todas las unidades HASP monopuesto con las que desea proteger su aplicación. Puede introducir las passwords de hasta 3 códigos de programador HASP para proteger una aplicación hasta con 3 llaves HASP.
HASP Demo Key Pulse esta opción para introducir las passwords de la demo HASP automáticamente.
Use HASP4
Security Features
Marque esta casilla para usar las prestaciones de seguridad mejoradas de HASP4. Si necesita mantener la compatibilidad con la generación de llaves HASP-3, no debe marcar esta casilla
Executable Type La HASP Envelope trata de detectar el tipo de ejecutable automáticamente. Si no puede detectarlo, este campo contendrá el valor. Unknown Type
Overlay File Marque esta casilla si el archivo que va a proteger contiene overlays o datos anexos al ejecutable.
Target Computer Valor por defecto: IBM PC y compatibles
Especifica el tipo de sistema en el que se va a ejecutar la aplicación. Si se tratará de un sistema del estándar NEC japonés, cambie el valor a NEC.
NetHASP Passwords Cuando proteja con HASP4 Net, introduzca las passwords que recibió con su llave HASP4 Net.
NetHASP Demo Key Pulse esta opción para introducir las passwords de la llave HASP4 Net Demo automáticamente.
Uso de las Herramientas HASP Protección con la Envelope HASP
55
Opción Descripción
Program Number Valor por defecto: 1
Con una sola llave HASP4 Net, puede proteger múltiples aplicaciones. Asigne a cada aplicación que proteja con HASP4 Net un número de programa entre el 1 y el 112. Anote este número. Lo necesitará más adelante para grabar los parámetros de protección cuando programe las llaves HASP4 Net de sus clientes.
Number of Licenses Cuando proteja con HASP4 Net, asigne el número de licencias en este campo. Este número se graba en la memoria HASP4 Net. Teclee un número en este campo o utilice las teclas de cursor para fijarlo. Pulse U para asignar un número de licencias ilimitado.
Los valores posibles dependen del modelo HASP4 Net. Puede asignar cada valor desde 0 hasta el número del modelo, por ejemplo 0 a 5 para la llave HASP4 Net 5.
Para grabar el número de licencias en la memoria HASP4 Net, pulse Save Parameters cuando se plantee tras completar la protección Envolvente.
Number of
Activations
Protegiendo con HASP4 Net, asigne un número de ejecuciones para la aplicación en este campo. Este número se grabará en la memoria HASP4 Net.
Teclee un número en este campo o fíjelo con las teclas de cursor. Marque la opción Unlimited para asignar un número de activaciones ilimitadas.
Para grabar el número de ejecuciones en la memoria HASP4 Net, pulse Save Parameters cuando se le solicite tras el proceso de protección Envolvente.
NetHASP
Configuration File
Valor por defecto: nethasp.ini
Puede especificar el nombre del archivo de configuración para el sistema HASP4 Net. Para buscar un archivo, pulse Browse. Para más información sobre el archivo de configuración NetHASP, vea “Personalización del Administrador de Licencias HASP” (página 236).
Si la aplicación encuentra un archivo de configuración, lee el archivo y usa la información contenida en él. Si no lo encuentra, la aplicación usa valores predefinidos.
Protección con la Envelope HASP Parte 2 - Capítulo 5
56
La Pestaña Options
La pestaña Options contiene parámetros adicionales que puede usar:
Figura 5.4: Pestaña de opciones de la Envolvente HASP
Uso de las Herramientas HASP Protección con la Envelope HASP
57
Tabla 5.2 Opciones de la pestaña Opciones de la Envelope HASP
Opción Descripción
Use Full Authorization System (FAS)
Valor por defecto: Disabled
Puede usar el Full Authorization System (FAS) con una HASP4 M1, HASP4 M4, o HASP4 Time. Para más información sobre FAS, vea “Grabación de los parámetros FAS” (página 51).
Para usar FAS, pulse la caja Use Full Authorization System.
Dado que FAS es una parte integrante del sistema de protección HASP4 Net, los parámetros FAS de HASP4 Net ya se introdujeron en la sección HASP4 Net Parameters de la pestaña principal.
Application Program Number
Valor por defecto: 1
Si está utilizando una llave monopuesto HASP para proteger múltiples aplicaciones con FAS, asigne un número a la aplicación. Tome nota de este número. Lo necesitará más tarde para grabar los parámetros de protección al programar las llaves HASP para su cliente.
Los valores posibles son 1 a 16 para HASP4 M1, 1 a 112 para HASP4 M4 y 1 a 8 para HASP4 Time.
Number of Application Activations
Si está utilizando una llave HASP4 M1 o HASP4 M4 junto con FAS, introduzca el número de ejecuciones de la aplicación en este campo. El número se grabará en la memoria.
Teclee el número de ejecuciones en este campo o use las teclas de cursor para fijarlo. Seleccione la casilla Unlimited para permitir ejecuciones ilimitadas de la aplicación.
Para grabar el número de activaciones en la memoria HASP, pulse Save Parameters cuando se solicite tras el proceso de protección Envelope.
Application Expiration Date
Si está utilizando una llave HASP4 Time junto con FAS, introduzca la fecha tras la cual la aplicación dejará de funcionar. La fecha se grabará en la memoria HASP4 Time.
Pulse Date y seleccione el mes, día y año.
Para grabar la fecha de caducidad en la memoria HASP4 Time, pulse Save Parameters cuando se solicite tras la protección Envelope.
Protección con la Envelope HASP Parte 2 - Capítulo 5
58
Opción Descripción
Perform Background HASP Checks
Valor por defecto: Disabled
Por defecto, el sistema HASP comprueba la presencia de una llave cuando se carga la aplicación. Si desea que esta comprobación se repita durante la ejecución, añada los chequeos HASP.
Para habilitar esta prestación, marque la casilla Perform Backgroud HASP Checks.
Interval in Seconds
Cuando utilice la opción Background HASP Checks, debe especificar el intervalo en que se comprobará la presencia de la llave. Teclee un valor para indicar el intervalo en segundos.
Anti Debug and Reverse Engineering
Valor por defecto: Enabled
Con esta prestación puede aumentar el nivel de protección evitando que los usuarios accedan a su programa con un debugger, añadiendo módulos antidebugger adicionales a su archivo de programa.
Para añadir detección de debuggers, marque la casilla User Mode Debugger Protection.
Para añadir módulos antidebugger, mueva el indicador marcado como Anti Debug Modules hacia la derecha.
Use HASP ID Number
Valor por defecto: Disabled
Use este campo para asegurar que la aplicación protegida funciona sólo si la llave HASP con el número ID específico está conectada al PC. Para incorporar esta opción, marque la caja Use HASP ID Number. Esta opción está disponible únicamente para llaves HASP de memoria.
Puede introducir el Número ID adecuado de la llave de una de estas formas:
• Pulse Let Envelope Detect HASP ID para leer el Número ID de la llave HASP conectada en el puerto del PC.
• Pulse Enter HASP ID Manually para abrir un campo en el que puede introducir manualmente el Número ID que obtuvo con la utilidad HASP Edit. El Número ID es un entero de 32- bit sin signo que debe introducir en formato hexadecimal. Con este método, no es necesario conectar la HASP del Número ID específico durante la protección. Si protege con más de una llave HASP, use el Número ID de la llave cuyas passwords introdujo en el primer campo de passwords. Los Números ID de las otras llaves no se comprobarán.
Uso de las Herramientas HASP Protección con la Envelope HASP
59
Opción Descripción
Encrypt Program File
Valor por defecto: Enabled
Esta prestación le permite añadir protección adicional encriptando el archivo de programa. Las aplicaciones que escriben en su ejecutable durante la ejecución no deben ser encriptadas.
Encryption Key (decimal)
El proceso de encriptación requiere varias claves de encriptación seleccionadas aleatoriamente por la utilidad Envolvente HASP. Para asegurar la máxima seguridad, puede definir una de ellas con un número de su elección entre 0 y 65535.
Encryption Level
Puede especificar la frecuencia de acceso a las llaves HASP para la encriptación. Mueva el selector Encryption Level hacia la derecha para incrementar la frecuencia.
Protection Methods
En la sección Protection Methods, usted indica qué método de protección quiere utilizar. Puede utilizar el método Envolvente, incorporar el sistema, Pattern Code Security, o ambos.
Cuando pulse el icono de Protección o elija la opción Protect Application del menú Envelope Tools se incorporan los métodos de protección indicados en este campo.
Install HASP Envelope
Valor por defecto: Enabled
Marque la caja Install HASP Envelope para integrar el método de protección Envolvente. La protección Envolvente tomará efecto cuando pulse el icono Protect o elija la opción Protect Application del menú Envelope Tools.
Install Pattern Code Security (PCS)
Valor por defecto: Disabled
Marque la caja Install Pattern Code Security (PCS) para instalar PCS y aumentar la seguridad. PCS tomará efecto cuando pulse el icono Protección o elija la opción Protect Application del menú Envelope Tools.
Protección con la Envelope HASP Parte 2 - Capítulo 5
60
La Pestaña DataHASP
Use la pestaña DataHASP para proteger archivos de datos. En esta pestaña:
• Especifica los archivos de datos que desea encriptar.
• Especifica que archivos de datos encriptados debe desencriptar durante
la ejecución de su aplicación protegida.
• Encripta los archivos de datos.
Además de encriptar los archivos de datos, necesita especificar qué
aplicación está autorizada para desencriptarlos y proteger esa aplicación.
Realice esto introduciendo los valores en los campos adecuados de la pestaña
principal y otras pestañas necesarias y protegiendo la aplicación.
ë
De manera alternativa puede construir su propia aplicación y llamar a los servicios del API de HASP 60, 61, 88 u 89 para codificar y decodificar cualquier archivo de datos abierto por su programa de la forma que usted elija.
ê Nunca encripte el mismo archivo dos veces. Si lo hace, el software no podrá restaurarlos.
Uso de las Herramientas HASP Protección con la Envelope HASP
61
Figura 5.5: Pestaña DataHASP de la Envelope HASP
Protección con la Envelope HASP Parte 2 - Capítulo 5
62
Tabla 5.3 Opciones de la Pestaña DataHASP de HASP Envelope
Opción Descripción
Data Files to Decrypt at Run Time
Introduzca el nombre del archivo o patrón de los archivos de datos que su aplicación debe decodificar en la ejecución. También introduzca los archivos de datos que su aplicación no deba decodificar (de entre los que ha seleccionado para codificar, si utilizó comodines como * ó ?).
Por ejemplo, consideremos una aplicación que accede a todos sus archivos de datos codificados con un formato *.adb. Supongamos que esa misma aplicación necesita acceder al archivo xyz.adb, que no es uno de sus archivos de datos codificados, pero que es un archivo suministrado por su entorno de aplicación. En este caso, en la casilla Decrypt introduzca *.adb. En la casilla Do Not Decrypt, introduzca xyz.adb. De esta forma su aplicación decodifica todos los archivos con la extensión adb, excepto el archivo xyz.adb
Decrypt Teclee los archivos a desencriptar en la ejecución (representándolos de modo estándar, o usando comodines, por ejemplo *.*, o aa??.txt).
Do Not Decrypt Teclee los archivos (de entre los archivos especificados para su desencriptación) que no deban desencriptarse en la ejecución (represéntelos de modo estándar o mediante comodines, por ejemplo *.*, o aa??.txt).
Protection Parameters
Introduciendo los parámetros de protección, usted define la clave de encriptación usada para encriptar los archivos de datos.
Encryption Key Introduzca hasta 8 caracteres en el campo Encryption Key. Formarán parte del algoritmo de encriptación.
HASP Passwords for Encryption
Las passwords de su llave HASP, que introdujo en la pestaña principal (Main) de la Envolvente, aparecen automáticamente en el campo HASP Passwords for Encryption. Sólo las llaves HASP con esas passwords abrirán los archivos de datos protegidos.
Uso de las Herramientas HASP Protección con la Envelope HASP
63
Opción Descripción
Antes de codificar archivos de datos, asegúrese de que ha introducido los parámetros de protección en la pestaña DataHASP.
Data Files to Encrypt
êê Nunca codifique el mismo archivo dos veces. Si lo hace, el software no podrá restaurarlo.
Input Data Files to Encrypt
Introduzca los archivos (con sus Paths) a encriptar o pulse Add para seleccionar los archivos de los directorios.
Output Encrypted Data Files
DataHASP copia los nombres de los archivos enumerados en el campo Input Data Files to Encrypt y los coloca en un nuevo directorio. El nuevo Path por defecto de los archivos se muestra aquí.
ë Después de facilitar los archivos de datos encriptados, con la aplicación protegida al usuario final, puede enviar nuevos archivos de datos encriptados. Simplemente encripte los archivos de datos, asegurándose que su denominación es la que introdujo en los campos Data Files to Decrypt at Run Time. Si quedan fuera de esos patrones, debe rellenar todos los campos de la pestaña DataHASP y reproteger su aplicación, recordando incluir todos los archivos de datos (los nuevos y los viejos) en los campos Data Files to Decrypt at Run Time.
Protección con la Envelope HASP Parte 2 - Capítulo 5
64
La Pestaña Error Messages
Esta pestaña enumera los mensajes de error que aparecerán en caso de que
ocurra algún problema durante la ejecución. Puede editar estos mensajes.
Por ejemplo, puede escribir los mensajes en otros idiomas si lo desea.
Figura 5.6: Pestaña Error Messages de la Envolvente HASP
Uso de las Herramientas HASP Protección con la Envelope HASP
65
Parámetros de línea de Comando de la Envolvente.
La protección con la Envolvente usando los parámetros desde la línea de
comandos puede ahorrarle tiempo y trabajo. El uso de la Envolvente desde la
línea de comandos también permite trabajar con archivos batch sin pasar
por las pantallas de la utilidad Envolvente. Puede ejecutar las Envelopes
DOS, Win16 y Win32 desde la línea de comando utilizando switches.
Tabla 5.4 Motores HASP Envelope
Motor HASP Envelope Nombre del Ejecutable
Envolvente DOS Instdos.exe
Envolvente Win16 Instw16.exe
Envolvente Win32 Instw32.exe
La siguiente tabla enumera los múltiples parámetros de la Envolvente.
Puede usar estos parámetros con cualquier Envolvente, si no se indica lo
contrario:
Tabla 5.5: Parámetros de la Envelope HASP
Parámetro Función
-c Número de módulos debug (1-50). Sólo para Envolvente Win 16 y Win 32.
-cfgfile <nombre de archivo> Carga un archivo de configuración y usa los parámetros que se grabaron en él.
-createcfg <nombre de archivo>
Crea un archivo de configuración.
Sólo para la Envolvente Win32.
-dhfilter <nombre de archivo>
Especifica los archivos o tipos de archivos a desencriptar durante la ejecución (por ejemplo, *.* o aa??.txt). Puede especificar hasta 8 archivos o tipos de archivos.
Sólo para la Envolvente Win32.
Protección con la Envelope HASP Parte 2 - Capítulo 5
66
Parámetro Función
-dhfilterx <nombre de archivo>
Especifica los archivos o tipos de archivos a no desencriptar de entre los archivos marcados para su desencriptación en la ejecución (por ejemplo, *.* o aa??.txt). Puede especificar hasta 8 archivos o tipos de archivos. Sólo para la Envolvente Win32.
-dhkey <clave> Especifica una clave de encriptación para archivos de datos (hasta 8 caracteres). Sólo para la Envolvente Win32.
-drvwait <segundos> Incrementa el intervalo de tiempo para la búsqueda del driver. Los valores posibles son de 0 a 255. Sólo para Envelope Win32
-enc Predeterminado. Encripta el archivo durante el proceso de protección.
-enclevel Nivel de encriptación para la encriptación de datos (1-5). Sólo para las Envolventes Win 16 y Win 32.
-exsecnum <num> No encripta el número de sección. Sólo para la Envelope Win32.
-fas Usa el Full Authorization System.
-fasprgnum <número de programa>
Especifica el número de programa de Full Authorization System. Sólo para la Envolvente Win32.
-h3easy El programa funcionará si está presente alguna llave HASP.
-h3hard Predeterminado. El programa funcionará sólo si está presente la llave apropiada HASP.
-h3pass <password1> <password2>
Especifica las passwords HASP.
-hasp4 Utiliza las prestaciones de seguridad HASP4. Para las Envelopes Win16 y Win32
-help o -? Muestra una lista con todos los parámetros, con una breve descripción y sale.
Uso de las Herramientas HASP Protección con la Envelope HASP
67
Parámetro Función
-highsecoff Deshabilita el nivel superior de seguridad. Predeterminado para protección con llaves HASP4 Net, y necesario para procesadores 286 e inferiores. Sólo para la utilidad Envolvente DOS.
-highsecon Activa el nivel superior de seguridad. Predeterminado para protección con llaves HASP monopuesto. Sólo para la Envolvente DOS.
-ibm Predeterminado. El sistema de destino es un PC IBM o compatible.
-interval Especifica un intervalo para background checks en segundos.
-loader <nombre de archivo>
Especifica un nombre para el cargador cuando se protege una aplicación con overlays. Sólo para la Envolvente DOS.
-loginx Use con aplicaciones que no hagan un logout HASP4 Net automático (ej., Visual Basic). Sólo para la Envolvente Win32.
-mhid <ID number> Especifica el Número ID de HASP de las llaves HASP4 M1, HASP4 M4 o HASP4 Time.
-mhpass <pass1><pass2>
Especifica las passwords de una HASP4 M1, HASP4 M4 o HASP4 Time.
-nec Fija el sistema de destino como un NEC.
-netcfg <nombre de archivo>
Especifica el archivo de configuración HASP4 Net.
-nhpass <password1> <password2>
Especifica las passwords HASP4 Net.
-nodbgcheck Desactiva la detección de debuggers. Sólo para la Envolvente Win 32.
-noenc No encripta el archivo durante la protección.
-nofas Predeterminado. No usa el Full Authorization System.
Protección con la Envelope HASP Parte 2 - Capítulo 5
68
Parámetro Función
-nohasp4 Deshabilita las prestaciones de seguridad de HASP4
-norandomsize Deshabilita la opción Random File Size. Sólo para la Envelope DOS.
-nores Mejora la compatibilidad con programas residentes DOS. Este parámetro deshabilita los background checks de HASP. Sólo para la Envelope DOS.
-nospecial Predeterminado. De uso con aplicaciones que no contengan overlays. Idéntico a: Special Overlays Mode = NO. Sólo para la Envolvente DOS.
-novir Desactiva la protección de virus automática. Sólo para la Envolvente DOS.
-out <nombre del archivo>
Renombra el archivo de aplicación protegido.
-ovl Maneja overlays. Sólo para la Envolvente Win32.
-pcs Instala PCS en modo batch.
-prg <nombre del archivo>
Especifica el archivo de aplicación a proteger.
-prgnum <número de programa>
Especifica el número de programa. (Con las Envolventes Windows y DOS, para FAS o HASP4 Net; con la Envolvente Win32, sólo para HASP4 Net)
-randomsize Predeterminado. Activa la opción Random File Size. Sólo para la Envolvente DOS.
Uso de las Herramientas HASP Protección con la Envelope HASP
69
Parámetro Función
-special Maneja overlays y DOS extendido. Idéntico a: Special Overlays Mode = YES Default Method. Sólo para la Envolvente DOS.
-special 1 Maneja overlays. Idéntico a: Special Overlays Mode = YES - Method 1. Sólo para la Envelope DOS.
-vir Predeterminado. Protección de virus automática. Sólo para Envolvente DOS.
Protección con la Envelope HASP Parte 2 - Capítulo 5
70
Información adicional para HASP4 Net
Protección de Software para Redes y PCs monopuesto
La Envolvente le permite proteger su aplicación tanto para entornos de red
como de PCs monopuesto.
Cuando activa una aplicación protegida para ambos entornos, su aplicación
realiza las siguientes comprobaciones:
• En primer lugar, la aplicación comprueba si hay una llave monopuesto
conectada al PC que activa la aplicación.
• Si la aplicación no encuentra una HASP conectada en el PC, busca en la
red una llave HASP4 Net.
Para realizar la protección para ambos entornos introduzca las passwords
para ambas llaves, HASP monopuesto y HASP4 Net en los campos de
passwords adecuados.
Idle Time HASP4 Net Para una aplicación protegida con la Envolvente, el tiempo predeterminado
tras el cual una estación es considerada desocupada, es el tiempo
predeterminado del Administrador de Licencias HASP4 Net.
Logout de HASP4 Net para aplicaciones Win 16
La Envelope añade automáticamente un Login a HASP4 Net al inicio del
programa, y un Logout HASP4 Net cuando finaliza la aplicación. Sin
embargo, si la aplicación es Win16 y el protocolo es sólo TCP/IP, el logout no
se realiza automáticamente. Para asegurar un logout automatizado,
asegúrese de que otro de los protocolos soportados está instalado.
Uso de las Herramientas HASP Protección con la Envelope HASP
71
Preguntas Frecuentes
Pregunta ¿Cuánto tarda en cargarse en memoria una aplicación protegida con la Envolvente?
Respuesta Depende del tamaño de la aplicación y de la potencia del PC, el tiempo de carga se incrementa en algunos segundos
Pregunta ¿ interfiere las operaciones normales del PC el anti-debugger de HASP?
Respuesta No. El mecanismo anti-debugging de HASP es completamente transparente y no afecta a la ejecución de las aplicaciones.
Pregunta ¿ Comprueba la Envolvente HASP la presencia de la llave a lo largo de la sesión de trabajo con la aplicación protegida?
Respuesta Sí. Las Envolventes DOS y Win32 pueden incorporar series de chequeos background durante el funcionamiento de la aplicación. Para información adicional, vea “La pestaña Options” (página 56).
Pregunta ¿Puedo usar la Envolvente HASP para proteger con una HASP4 M1 o HASP4 M4 y una HASP4 Net?
Respuesta Sí. Introduzca las passwords de sus llaves HASP4 M1 o HASP4 M4 y HASP4 Net, y los valores del resto de campos relacionados con ambas llaves. Después de la protección la aplicación buscará en primer lugar la llave en el propio PC en el que la aplicación se está ejecutando. Si no encuentra la HASP4 M1 o HASP4 M4, la aplicación protegida buscará la llave HASP4 Net en la red.
Protección con la Envelope HASP Parte 2 - Capítulo 5
72
Pregunta ¿Cuándo necesito especificar un número de programa usando la Envolvente HASP?
Respuesta Con HASP4 Net, ¡siempre! Con HASP4 M1 o HASP4 M4, sólo cuando incorpora el Full Authorization System.
73
Parte 2 – Capítulo 6
Acceso a las llaves con HASP Edit
El HASP Edit es una aplicación que le permite acceder a sus llaves HASP.
HASP Edit está disponible para Mac OS 9.x y Mac OS 10.1 y para Windows
95/98/ME/NT/2000.
Las llaves programadas con una de las aplicaciones HASP Edit pueden
utilizarse en todas las plataformas soportadas. De manera alternativa,
puede usar el API de HASP para programar sus llaves HASP.
Utilice HASP Edit para realizar dos tipos de operaciones principales:
• Preparación para la protección de la aplicación codificando datos y
obteniendo el Número ID
• Programación de las llaves HASP y preparación de éstas para su
distribución a los clientes editando la memoria HSAP, fijando los
parámetros de protección y el reloj en la llave HASP4 Time.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
74
HASP Edit para Windows Este capítulo explica el uso del HASP Edit para Windows realizando las
principales operaciones. Para información detallada consulte la ayuda
online.
Activación de HASP Edit
Para cargar HASP Edit:
1. Conecte la llave HASP a su PC.
ê No conecte más de una llave, porque sólo puede escribir una llave cada vez.
HASP Edit no distingue entre diferentes llaves conectadas con un mismo código, y podría como consecuencia por error destruir los datos almacenados en una o más llaves.
2. Seleccione HaspEdit for Win32 del menú del directorio de programas
Windows HASP CD. Aparece la ventana de HaspEdit:
3. Inicie una nueva sesión de HaspEdit o abra un archivo de configuración
de HaspEdit (para trabajar con un archivo existente).
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
75
El Archivo de Configuración de HaspEdit
Un archivo de configuración de HaspEdit almacena los parámetros HASP
fijados mediante HaspEdit. En el archivo de configuración, se graba
información del modelo de HASP que está utilizando, las passwords de las
llaves, su Número ID, la imagen de la memoria y parámetros de protección
FAS. Guardar la información de su sesión HaspEdit es de utilidad si desea
programar múltiples llaves con la misma información.
Cuando selecciona Save del menú File, se graban los parámetros HASP en
un archivo y no en la llave HASP. El nombre del archivo de configuración
aparece entonces en el título de la barra de utilidad de HaspEdit.
Antes de cerrar, HaspEdit pregunta si desea grabar o no los parámetros
actuales de la actual sesión HaspEdit en un archivo de configuración.
ê El archivo de configuración de HaspEdit contiene sus passwords secretas. Considere este archivo como si fuera su código fuente y manténgalo en un lugar seguro.
Cuando activa HaspEdit, puede iniciar una nueva sesión de HaspEdit, o
cargar una sesión previa abriendo un archivo de configuración.
Inicio de una nueva sesión HaspEdit:
Para iniciar una nueva sesión HaspEdit:
1. Seleccione New HaspEdit Session, y pulse OK. Aparece la caja de diálogo de las passwords HASP:
2. Introduzca las passwords HASP. Si está evaluando una llave demo de
HASP, seleccione A Hasp demo key para introducir las passwords de la
demo HASP automáticamente.
3. Pulse OK.
Si las passwords introducidas corresponden con la llave conectada, se
muestra la ventana de Configuración. Ahora puede utilizar HaspEdit.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
76
Apertura de un archivo de configuración HaspEdit existente:
Para abrir un archivo de configuración HaspEdit:
1. Seleccione Open HaspEdit Configuration y pulse OK. Aparece la caja de diálogo Open.
2. Seleccione o introduzca el nombre del archivo de configuración que desea abrir.
3. Pulse Open.
Si las passwords y el modelo de la llave grabado en el archivo de
configuración concuerdan con las de la llave conectada, la ventana de
Configuración se muestra en pantalla. Ahora puede utilizar HaspEdit.
Ventana de Configuración HaspEdit
La ventana de configuración aparece cuando inicia una nueva sesión de
HaspEdit o abre un archivo de configuración existente de HaspEdit. Cuando
cierra esta ventana, HaspEdit pregunta si desea finalizar la sesión.
Figura 14-3: La ventana de Configuración
La ventana de configuración muestra la siguiente información:
• El modelo HASP.
• Las passwords de la llave HASP. Observe que las passwords pueden ser mostradas u ocultas al seleccionar Passwords en el menú View.
• El Número ID único de la llave HASP.
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
77
Preparación para la Protección de la Aplicación Utilice HaspEdit para preparar la protección de la aplicación codificando datos para su uso en su aplicación y para obtener el Número ID
Codificación de Datos
Esta función le permite codificar datos usando una llave HASP4. Después de
codificar, puede usar los datos en su aplicación y decodificarlos durante la
ejecución utilizando la función adecuada del API de HASP.
Para codificar datos:
1. Seleccione Encoding del menú HASP Tools o pulse el icono Encode.
Aparecerá la ventana Encode:
2. Introduzca o seleccione la fuente de los datos que desea codificar. Puede
codificar datos del portapapeles de windows o un archivo, o puede teclear
una frase directamente desde el teclado.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
78
3. Introduzca o seleccione el nombre de un archivo binario de destino para
los datos codificados (opcional).
ë Los datos binarios de salida no pueden pegarse en un editor de texto, puesto que son caracteres no imprimibles.
4. Introduzca el nombre de un archivo ASCII de destino o seleccione o
seleccione Portapapeles para los datos codificados (opcional).
Los datos codificados ASCII tiene la siguiente forma:
5. Seleccione su lenguaje de programación.
Esta opción generará un archivo include para su lenguaje de
programación, que puede usar para codificar datos fácilmente desde su
aplicación.
6. Pulse Encode para iniciar el proceso
ë En teoría, puede codificar o decodificar hasta 4GB de datos en una sola llamada. Observe que HaspEdit necesita localizar buffers para codificar y decodificar los datos. Esto significa que las restricciones de la prestación de codificación/decodificación de HaspEdit dependen de la cantidad de RAM y del espacio de disco duro en su PC.
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
79
Para decodificar datos:
1. Seleccione Decoding del menú HASP Tools o pulse el icono Decode.
Aparecerá la ventana Decode:
2. Introduzca o seleccione de un archivo fuente binario que contenga los
datos codificados que desea decodificar.
3. Introduzca o seleccione el nombre de un archivo binario de destino para
los datos decodificados.
4. Pulse Decode para iniciar el proceso.
ë En teoría, puede codificar o decodificar hasta 4 GB de datos en una sola llamada. Observe que HaspEdit necesita localizar buffers para codificar y decodificar los datos. Esto significa que las restricciones de la prestación de HaspEdit de codificar/decodificar dependen de la cantidad de RAM y del espacio de disco duro en su PC.
Obtención del Número ID HASP
Cada llave de memoria HASP tiene un Número ID único. Puede incorporar la
comprobación de este número dentro de su aplicación utilizando la
Envolvente de HASP o el API. Para ello, primero utilice HaspEdit para
determinar el Número ID de la llave conectada.
Con HASP Edit, puede obtener el ID HASP de las llaves HASP4 con
memoria. Este ID de HASP es único para cada llave. Puede comprobar un ID
de HASP específico en su aplicación protegida con el servicio 6 (HaspID).
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
80
Para comprobar el Número ID de una llave de memoria HASP:
1. Conecte la llave HASP a su PC.
2. Seleccione HASP ID del menú HASP Tools o pulse el icono ID. Aparece
la ventana HASP ID:
La ventana muestra el Número ID (un entero de 32-bits, sin signo) en
formato hexadecimal y decimal, y dos words de 16-bits.
3. Si va a proteger con la Envolvente HASP, anote el Número ID mostrado
en formato hexadecimal. Puede más tarde introducirlo dentro de la
Envelope HASP.
4. Si elige proteger con el API de HASP, anote el word ID Low y el word ID
High y compárelos con los valores que la rutina hasp() retorna en Par1 y
Par2 del Servicio 6: HASP ID. O bien, anote el Número ID y compárelo
con el valor que obtuvo utilizando la fórmula encontrada en el Servicio 6.
ë Para copiar el contenido de la ventana HASP ID de HASP, pulse Copy del menú Edit.
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
81
Fijando Parámetros de Protección con FAS
El Full Authorization System (FAS) le permite alquilar su software,
distribuir versiones demo de su aplicación, y proteger múltiples aplicaciones
con una sola llave de memoria HASP.
Implementar FAS es opcional cuando se protege con HASP4 M1 o HASP4
M4, y se implementa con la Envolvente. Sin embargo, FAS es necesario con
HASP4 Net, y se implementa mediante la Envolvente de HASP y/o el API de
HASP.
FAS sólo puede utilizarse con llaves HASP4 con memoria.
Esta sección describe como programar las llaves HASP si está usando FAS.
Lista FAS de Programas
Con FAS, se crea una lista de aplicaciones a proteger, y fija los parámetros
de protección para cada una.
Utilice FAS para autorizar hasta:
• 16 aplicaciones usando una sola HASP4 M1
• 112 aplicaciones usando una sola HASP4 M4
• 8 aplicaciones usando una sola HASP4 Time
• 112 aplicaciones usando una sola HASP4 Net
Utilice HaspEdit para asignar a cada aplicación del listado FAS de
programas un único número de programa que le identifica y para fijar los
parámetros de protección.
Parámetros de Protección FAS
Con HaspEdit, se especifican los parámetros de protección para cada
programa del listado FAS de programas. Los parámetros que se especifican
dependen del modelo de HASP que se está utilizando.
Utilice FAS para:
• Limitar el número de activaciones para cada aplicación protegida con
una HASP4 M1 o HASP4 M4.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
82
• Fijar la fecha de caducidad a partir de la cual las aplicaciones
protegidas con una HASP4 Time no puedan funcionar.
• Limitar el número de estaciones que puede ejecutar un programa
protegido con HASP4 Net simultáneamente y el número de activaciones
para cada aplicación.
Utilice HaspEdit para fijar y/o editar los parámetros de protección para cada
programa. Una vez fijados los parámetros de protección para cada programa,
escriba la lista de programas y los parámetros de protección en la memoria
HASP.
Las siguientes secciones describen como editar la lista FAS de programas
para cada una de las diferentes llaves de memoria HASP.
Fijando la Lista FAS de Programas para HASP4 M1 y M4
Use FAS para limitar el número de activaciones permitidas para cada
aplicación protegida con HASP4 M1 y HASP4 M4.
Para fijar la lista FAS de programas para HASP4 M1 o HASP4 M4:
1. Seleccione Full Authorization System (FAS) del menú HASP Tools y
pulse en MemoHASP, o pulse el icono FAS. Aparece La ventana del
Editor MemoHASP FAS:
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
83
2. Pulse Add para añadir el/los programa(s) que desea proteger. Aparece la
ventana Add Program:
3. En el campo Program, introduzca un único número de programa al
programa que está protegiendo. El número puede ser de 1 a 16 para
HASP4 M1, o de 1 a 112 para HASP4 M4. El número de programa debe
ser idéntico al número que asigna a su programa cuando lo protege con la
Envolvente.
ë Tome nota del número asignado a cada programa. En la utilidad Envolvente, utilice este número para especificar el programa que está protegiendo.
4. En el campo Activations, introduzca el número máximo de activaciones
permitidas para la aplicación. Pulse Unlimited para permitir un
número ilimitado de activaciones.
5. En el campo Comments, añada información que identifique el
programa, sea el nombre de archivo o cualquier comentario significativo.
ë Los comentarios escritos en el editor HASP de MemoHASP se graban en el archivo de configuración HaspEdit y no en la memoria de la llave.
6. Pulse OK. El programa es añadido a la lista del MemoHASP FAS Editor.
7. Pulse Write. Aparece la ventana Write HASP Memory.
8. Guarde los cambios en la llave HASP. Ahora puede elegir:
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
84
• Pulse Write para grabar todos los cambios en la memoria.
• Pulse Write Selected Programs Only para grabar sólo los programas
seleccionados en la memoria, pulse Write.
Todos los cambios en la memoria son inicialmente mostrados en la pantalla
en rojo. Pulsando Write graba los cambios en la llave HASP de memoria.
Todos los datos escritos en la llave aparecen en azul.
Fijando la Lista de Programas FAS para HASP4 Time
Utilice FAS para fijar una fecha de caducidad después de la cual la(s)
aplicación(es) protegida(s) de HASP4 Time dejará(n) de funcionar.
Para fijar la lista de programa FAS par HASP4 Time:
1. Seleccione Full Authorization System (FAS) del menú HASP Tools y
pulse TimeHASP o el icono FAS. Aparece la ventana del TimeHASP
FAS Editor:
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
85
2. Pulse en Add para añadir el/los programa(s) a proteger. Aparece la ventana Add Program:
3. En el campo Program, introduzca un único número para el programa
que está protegiendo. El número puede ser de 1 a 8. El número del
programa debe ser idéntico al número que asigna a su programa cuando
lo protege con el Envolvente.
ë Tome nota del número asignado a cada programa. En la utilidad Envolvente, usted utiliza este número para especificar el programa que está protegiendo.
4. En los campos proporcionados en la sección Program Expiry Date,
introduzca el día, mes y año de la fecha de caducidad de la aplicación.
Pulse la casilla Unlimited Date si no quiere fijar una fecha de
caducidad.
5. En el campo Comments, añada información identificando el programa,
así como su nombre de archivo, y cualquier comentario.
ë Los comentarios escritos en el Editor FAS de TimeHASP se guardan en el archivo de configuración del HaspEdit, y no en la memoria de la llave HASP.
6. Pulse OK. El programa se añade a la lista del TimeHASP FAS Editor.
7. Pulse Write. Aparece la ventana Write HASP Memory.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
86
8. Guarde los cambios en la llave HASP4 Time. Puede elegir:
• Pulse Write para grabar todos los cambios en la memoria.
• Pulse Write Selected Programs Only para grabar sólo los
programas seleccionados en la memoria, pulse en Write.
Todos los cambios de la memoria son inicialmente mostrados en la pantalla
en rojo. Pulsando Write graba los cambios en la llave HASP4 Time. Todos
los datos escritos en la llave aparecen en azul.
Fijando la Lista de Programas FAS para HASP4 Net
Utilice FAS para fijar el número de estaciones que pueden ejecutar el
programa simultáneamente y fijar el número permitido de activaciones para
cada una de las aplicaciones protegidas con HASP4 Net.
ë FAS debe usarse siempre que utilice una llave HASP4 Net, incluso cuando se está protegiendo un solo programa.
Para fijar la lista de programa del FAS para HASP4 Net.
1. Seleccione Full Authorization System (FAS) del menú HASP Tools y
pulse NetHASP o el icono FAS aparece NetHASP Program Editor:
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
87
2. Pulse Add para añadir los programas a proteger. Aparece la ventana Add
Program.
3. En el campo Program, introduzca un único número de programa para el
programa que está protegiendo. El número puede ser desde 1 a 112. El
número de programa debe ser idéntico al número que usted asigna a su
programa cuando lo protege con la Envolvente HASP o el API de HASP.
ë Tome nota del número asignado a cada programa. Se utiliza este número para especificar el programa cuando está protegiéndolo con el Envolvente y/o el API.
4. En el campo Stations, introduzca el número máximo de estaciones
autorizadas para utilizar el programa simultáneamente.
5. El número máximo posible depende del número del modelo de HASP4
Net. HASP4 Net5 permite hasta 5 estaciones; HASP4 Net10 hasta 10
estaciones, y así sucesivamente. Si utiliza HASP4 NetU, pulse la casilla
Unlimited para autorizar un número ilimitado de estaciones.
6. En el campo Activations, introduzca el número de activaciones
permitidas para la aplicación o compruebe la caja Unlimited para
permitir un número ilimitado de activaciones.
7. En el campo Comments, añada información identificando el programa,
tal como su nombre de archivo, y cualquier comentario.
ë Los comentarios escritos en el Editor FAS de NetHASP son grabados en el archivo de configuración HaspEdit y no en la memoria de la llave HASP.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
88
8. Pulse OK.
9. El programa es añadido a la lista NetHASP Program Editor.
10. Pulse Write. Aparece la ventana Write HASP Memory.
11. Grabe los cambios en la llave HASP4 Net. Puede elegir:
• Pulse Write para grabar todos los cambios en la memoria.
• Pulse Write Selected Programs Only para grabar sólo los
programas seleccionados en la memoria, pulse Write.
Todos los cambios de la memoria son inicialmente mostrados en la pantalla
en rojo. Pulsando Write se graban los cambios en la llave HASP. Todos los
datos escritos en la llave aparecen en azul.
Edición de la Memoria HASP Con HaspEdit lee y escribe en la memoria HASP y graba passwords, un
nombre de cliente, partes de su código de programa, o cualquier otro dato.
Navegación a través de las ventanas del HASP Memory Editor
Todas las ventanas del HASP Memory Editor se navegan de forma similar.
Utilice el ratón para moverse entre campos de la ventana y los botones para
realizar diferentes operaciones.
Puede ver en la caja Offset el número de posición del word de memoria
seleccionado. Introduzca el número de posición de un word en esta caja para
seleccionarlo y editarlo.
Pulse Hex (hexadecimal) o Decimal para seleccionar el formato en el que
introducir datos en el panel izquierdo. Introduzca datos en formato ASCII en
el panel derecho. Utilice el ratón para cambiar de panel.
Pulse PageUp y PageDown para moverse por las páginas de la memoria de
HASP4 M4, HASP4 Time y HASP4 Net.
Todos los cambios en la memoria se muestran inicialmente en rojo. Pulsando
Write se graban los cambios en la llave. Todos los datos grabados
aparecerán en azul.
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
89
La caja Location Description indica la ubicación de words en la memoria
HASP. Primero, especifica si un word de memoria está ubicado en el área
User o FAS. Si el word está en el área FAS, muestra el número de programa
(ej. (P1) para el programa 1 o (P2) para el programa 2, etc.) asociado con el
word seleccionado. También apunta si el word no está registrado (lo que
significa que no está en la lista de programas FAS) o, si está registrado,
indica entre comillas los comentarios que usted introdujo.
ê Si se localiza el cursor en el área FAS, en un word de memoria asociado con un programa cuyos parámetros de protección están grabados en la lista de programas FAS, asegúrese de no sobrescribir el word con otros datos.
Edición de la memoria HASP4 M1 y HASP4 M4: Use HaspEdit para editar HASP4 M1 (56 words de memoria) y HASP4 M4
(248 words de memoria). Los primeros 24 words de memoria comprenden el
área User y pueden utilizarse para guardar cualquier tipo de datos. El resto
de words de memoria comprenden el área FAS.
ë La memoria no utilizada con FAS puede usarse para guardar cualquier dato adicional de su elección.
Para editar la memoria HASP4 M1 y HASP4 M4
1. Seleccione HASP Memory del menú HASP Tools y pulse en
MemoHASP, o en el icono Memory.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
90
El MemoHASP Memory Editor se abre y muestra el contenido de la
memoria de la llave.
2. Edite la memoria.
3. Pulse Write para grabar los cambios en la memoria.
Edición de la Memoria HASP4 Time
HASP4 Time está compuesta por dos áreas de memoria: el área estándar de
16-bytes de HASP4 Time y un área de usuario de 248 words.
Siga las instrucciones contiguas de “Edición de la Memoria HASP4 Time”
para editar la sección de 16 bytes. Siga las instrucciones siguientes de “Para
editar la memoria de usuario de HASP4 Time” para editar la sección de 248
words.
Los 248 words comprenden el área de usuario y puede ser utilizada para
almacenar cualquier dato…
ë La memoria no utilizada con FAS puede usarse para guardar cualquier dato adicional de su elección.
Para editar la memoria FAS de HASP4 Time:
1. Seleccione HASP Memory del menú HASP Tools y pulse en
TimeHASP, o en el icono Memory.
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
91
El TimeHASP Memory Editor se abre y muestra el contenido de la
memoria HASP.
2. Edite la memoria.
3. Pulse Write para grabar los cambios en la memoria HASP4 Time.
Para editar la memoria de usuario de HASP4 Time:
1. Seleccione HASP Memory en el menú HASP Tools y pulse
MemoHASP.
Se abre el TimeHASP Memory Editor y muestra el contenido de la
memoria HASP.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
92
2. Edite la memoria.
3. Pulse Write para guardar los cambios en la memoria.
Edición de la Memoria HASP4 Net
Utilice HaspEdit para editar HASP4 Net (248 words de memoria). Los
primeros 24 words de la memoria HASP4 Net comprenden el área del
usuario y pueden ser utilizados para almacenar cualquier dato suyo. La
memoria restante comprende el área FAS.
ë La memoria no utilizada con FAS puede usarse para guardar cualquier dato adicional de su elección.
Para editar la memoria HASP4 Net:
1. Seleccione HASP Memory del menú HASP Tools y pulse NetHASP, o el icono Memory.
El NetHASP Memory Editor se abre y muestra el contenido de la memoria HASP:
2. Edite la memoria.
3. Pulse Write para guardar los cambios en la memoria HASP4 Net.
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
93
Sincronización del Reloj HASP4 Time Con HaspEdit puede sincronizar el reloj HASP4 Time. Con HaspEdit, puede
ver y cambiar la hora y fecha del reloj HASP4 Time.
Para sincronizar el reloj HASP4 Time:
1. Seleccione TimeHASP Clock del menú HASP Tools.
Aparece la caja de diálogo TimeHASP Time & Date Properties:
2. Introduzca el mes, día y año en la sección TimeHASP Date.
3. Pulse Write Date para grabar la fecha.
4. Introduzca la hora en hh (horas), mm (minutos) y ss (segundos) en la sección TimeHASP Timer. Para introducir la hora del reloj del sistema, pulse Load System Time y a continuación Write.
El reloj de HASP4 Time utiliza el formato de 24 horas (00:00:00 a 23:59:59)
5. Pulse Write Time para grabar la hora.
6. Pulse Close para salir de la caja de diálogo TimeHASP Time & Date Properties.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
94
Programación de Múltiples llaves HASP
Después de haber protegido su aplicación, puede programar sus llaves HASP
en preparación para enviar(junto con la aplicación) a sus clientes.
Cuando programe múltiples llaves, no las encadene. En su lugar, grabe una
por una la memoria de las llaves. HaspEdit le permite programar múltiples
llaves con los mismos parámetros fijados en el Editor de Memoria y el Editor
FAS utilizando cualquiera de los siguientes métodos:
• Program Key
• Create programming utility
Program key
Cuando utiliza la opción Program key, está programando cada llave HASP
con los datos de la sesión actual de la utilidad de HaspEdit.
Para grabar la memoria HaspEdit para múltiples llaves:
1. Seleccione Program Key del menú HASP Tools, o pulse el icono Prog.
de la barra de herramientas.
Aparece la ventana Multi-key Programming.
2. Pulse Yes para escribir la memoria HaspEdit a la llave HASP conectada.
El número de llaves que ha programado se muestra en Write Count.
3. Retire la actual llave HASP y conecte la siguiente que quiere programar.
4. Repita los pasos 2-3 hasta que todas las llaves hayan sido programadas.
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
95
Creación de una Utilidad de Programación
Cuando crea una utilidad de programación, crea un ejecutable monopuesto
para programar cada llave HASP con los parámetros introducidos en la
sesión actual HaspEdit. Cuando cree el archivo, asegúrese de dejar abiertas
las ventanas del Editor FAS y/o la del Editor de Memoria (puede
minimizarlas si lo desea), porque el ejecutable de la utilidad de
programación HASP se crea con sus datos
Creación de una utilidad de Programación HASP:
1. Seleccione Create Programming Utility del menú HASP Tools.
Aparece la ventana HASP Programming Utility:
2. Seleccione el tipo de ejecutable en la sección Application Type.
3. Introduzca el nombre del ejecutable en el campo Utility Name.
El nombre por defecto es Haspprog.exe. Puede cambiar el nombre/
directorio introduciendo uno nuevo o pulsando Browse.
4. En el campo Program Caption (para aplicaciones Win32 GUI) o en el
campo Program Banner (para aplicaciones consola Win32 o DOS),
introduzca un título que aparezca cuando se cargue el ejecutable.
5. Pulse Create.
Si aún no existe un ejecutable del mismo nombre, aparece un mensaje
confirmando la creación del ejecutable. Pulse OK para volver a la ventana
HASP Programming Utility.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
96
Si ya existe un ejecutable con el mismo nombre, aparece una ventana de
confirmación. Pulse Yes para reemplazar el archivo y crear un nuevo
ejecutable, o pulse No para volver a la ventana HASP Programming
Utility.
Ahora puede hacer iniciar el ejecutable y editar las llaves.
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
97
HASP Edit para Mac Este capítulo explica el uso de HASP Edit para Mac en la realización de las
principales operaciones sobre Mac OS X. Para información detallada
consulte la ayuda online.
Primeros Pasos
Para Iniciar HASP Edit para Mac:
1. Conecte una llave HASP a su PC
No conecte más de una llave HASP al PC mientras está usando HASP
Edit. La utilidad HASP Edit sólo trabaja con una llave al mismo tiempo.
2. Arranque HASP Edit. Se muestra la ventana Password
3. Introduzca las passwords y confirme con OK.
Las passwods de las llaves de demo HASP se insertan automáticamente
de forma predeterminada. Para evitarlo, vaya a Preferences del menú
HASP Edit y active / desactive la opción.
ë También puede iniciar HASP Edit sin conectar una llave HASP, por ejemplo, para editar plantillas.
Definición de Preferencias
Dispone de las siguientes opciones cuando defina sus preferencias con HASP
Edit para Mac:
• Cambio de los valores con que se rellenará la memoria al hacer un
borrado de memoria.
• Fijar un directorio raíz para sus archivos de plantillas.
• Mostrar un aviso si la hora y fecha asignada a la llave HASP4 Time
difieren significativamente de las del sistema.
• Facilitar el uso de llaves demo HASP disponiendo de sus passwords
insertados automáticamente.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
98
• Escanear en busca de llaves conectadas periódicamente.
Para definir sus preferencias, selecciones Preferences del menú HASP Edit
y active / desactive las opciones.
Preparación para la protección de una aplicación
Use HASP Edit para Mac para preparar la protección de la aplicación
codificando datos para el uso en su aplicación y obtener el Número ID de
HASP.
Codificación de datos
Esta función le permite codificar datos utilizando una llave HASP4. Después
de la codificación, puede utilizar los datos codificados en su aplicación y
decodificarlos en tiempo de ejecución con la función apropiada del API de
HASP.
Para codificar datos:
1. Seleccione Encode/Decode en el árbol de navegación.
2. Confirme que ha conectado la llave HASP correcta.
3. Introduzca los datos o pulse Load para cargar un archivo.
4. Seleccione un formato para sus datos de salida.
5. Utilice el ratón o el teclado para seleccionar la sección de datos que desea
codificar (al menos 8 bytes). Pulse Encode para codificar los datos y
pulse Save As para guardar los datos codificados en un archivo.
ë Como opción puede editar el archivo y seleccionar secciones para codificar. Si el tamaño del archivo excede los 1024 bytes puede codificar el archivo pero no puede editarlo o seleccionar secciones.
Obtención del Número ID
Con HASP Edit, puede obtener el ID de HASP de las llaves HASP4 con
memoria. El ID de HASP es único para cada llave. Puede comprobar un ID de
HASP específico desde su aplicación utilizando el servicio 6 (HaspID).
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
99
Para obtener el ID de HASP, conecte la llave HASP a su PC e introduzca las
passwords. El número ID se muestra automáticamente en la vista Current
HASP.
Puede seleccionar entre tres presentaciones diferentes de 32-bits y 16-bits:
• Hexadecimal
• Decimal Unsigned
• Decimal signed
Programación de llaves HASP
Antes de distribuir las llaves HASP a sus clientes junto con la aplicación
protegida necesita programarlas. Puede rellenar la memoria de las llaves
HASP4 con datos de su elección y/o usar la memoria para el Full
Authorization System (FAS). Las claves programadas con HASP Edit para
Mac pueden usarse en todas las plataformas soportadas.
El proceso de programación implica dos pasos básicos:
Primero crea una llave master o plantilla que sirve como base para
programar un número de llaves. Puede necesitar crear varias llaves master o
plantillas en caso de que utilice más de un tipo de llave.
Después de crear la llave master o plantilla, puede empezar a programar
llaves para la distribución. Para programar varias llaves iguales
rápidamente, utilice la herramienta de programación multi llave.
ê No conecte más de una llave, solamente puede grabarse una llave cada vez.
Programación de una sola llave
Puede programar llaves únicas para utilizarlas como master, o en caso de
necesitar preparar una llave especial para un único cliente.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
100
Para programar una sola llave:
1. Conecte la llave HASP4 que desea utilizar como master. En caso de que
la llave no sea mostrada en la vista Current HASP, seleccione Scan for
Connected Key en el menú Edit.
2. Introduzca las passwords para la llave.
3. Pulse en la caja Memory y edite la memoria según sus necesidades.
4. Pulse Write para programar la llave. También puede guardar la imagen
de la memoria en un archivo plantilla (vea a continuación).
Trabajo con plantillas
Los archivos de plantillas HASP Edit guardan los parámetros HASP e
información adicional:
• Tipo de llave HASP
• Passwords de la llave
• Imagen de la memoria y parámetros de protección FAS
• Parámetros HASP4 Time
ê Los archivos de plantillas HASP Edit contienen las passwords de HASP. Contémplelos como parte de su código fuente y guárdelos en lugar seguro.
Se usan los archivos de plantillas para programar varias llaves HASP del
mismo tipo con el mismo contenido de memoria
Dispone de las siguientes opciones cuando trabaja con plantillas:
• Crear, renombrar y borrar plantillas
• Escribir a la llave conectada desde la vista de la plantilla
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
101
• Enlazar comentarios desde la plantilla a una llave para su mejor
comprensión
Para crear una plantilla:
1. Seleccione New del menú File.
2. Seleccione Save as del menú File
3. Introduzca un nombre para la plantilla y seleccione una carpeta.
Para crear una plantilla desde una llave conectada:
1. Conecte la llave y seleccione Scan for Connected Key del menú Edit
para buscarla.
2. Seleccione Save as del Menú n
3. Introduzca un nombre para la plantilla y seleccione una carpeta
Para programar una sola llave desde la vista de plantillas:
• Conecte la llave que desea programar
• Seleccione la plantilla
• Pulse Write Key
Uso de la herramienta Multi Key Programming
Cuando programa múltiples llaves, usted graba la misma memoria a las
llaves una después de otra usando el contenido de memoria de una llave que
ha sido previamente programada o utilizando una plantilla.
Para usar la herramienta Multi Key Programming:
1. Conecte y programe la llave que desea usar como base
2. Seleccione Current HASP en el árbol de navegación
3. Seleccione Multi Key Programming del menú n
4. Desconecte la llave
5. Conecte una nueva llave y confirme
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
102
6. Repita los pasos 4 a 5 para cada nueva llave.
Para usar la herramienta multi key programming con una plantilla:
1. Seleccione la plantilla que desea usar.
2. Seleccione Multi Key Programming del menú Tools.
3. Conecte una llave y confirme
4. Desconecte la llave
5. Repita los pasos 3 a 4 para cada nueva llave
Uso del Full Authorization System (FAS)
El Full Authorization System (FAS) permite proteger múltiples aplicaciones
con una sola llave HASP de memoria y especificar las condiciones bajo las
que cada aplicación puede utilizarse. Con HASP Edit, puede especificar los
parámetros de protección para cada programa en la lista de programas FAS.
Los parámetros se especifica según el modelo de HASP que esté usando.
Dispone de las siguientes opciones:
• Limitar el número de activaciones para cada aplicación protegida con
HASP4 M1 (hasta 16 aplicaciones) o HASP4 M4 (112 aplicaciones).
• Fijar las fechas de caducidad tras las cuales las aplicaciones protegidas
no podrán funcionar.
• Limitar tanto el número de estaciones que pueden ejecutar una
aplicación protegida con HASP4 Net simultáneamente y el número de
veces que puede activarse cada aplicación.
Para ver los parámetros de protección FAS:
1. Conecte la llave o seleccione la plantilla
2. Seleccione As FAS List o Split del menú View.
Para establecer los parámetros de protección FAS:
1. Conecte la llave o seleccione la plantilla y pulse la casilla FAS
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
103
2. Introduzca el número de posibles activaciones (HASP4 M1, HASP4 M4,
HASP4 Net), estaciones (HASP4 Net) y fecha de caducidad (HASP4
Time).
3. Para establecer el número de activaciones como ilimitado, seleccione
Unlimited del menú Edit o teclee U.
Uso de la memoria con FAS
Los programas FAS se almacenan en el área FAS de la memoria HASP. El
área FAS empieza en el word offset 24.
Cuando utiliza llaves HASP4 M1, HASP4 M4 o HASP4 Net, cada programa
protegido con FAS necesita cuatro bytes (dos words) de memoria HASP.
Cada par de words en el área FAS está reservado para un número de
programa especifico. Los dos primeros words están reservados para el
programa número 1, el segundo par de words para el programa número 2, etc.
Cuando utiliza llaves HASP4 Time, cada programa protegido con FAS
requiere dos bytes (un word) de la memoria HASP Time adicional.
ë Los comentarios introducidos en la lista FAS sólo están grabados en el archivo plantilla, no en la memoria de la llave.
Acceso a las llaves con HASP Edit Parte 2 - Capítulo 6
104
Preguntas Frecuentes
Pregunta He utilizado HASP4 Net para proteger una sola aplicación. Los primeros 24 words de la memoria HASP4 Net no son suficientes. ¿Qué puedo hacer?
Respuesta Los 224 words que quedan de la memoria HASP4 Net están reservados para los parámetros de protección de las 112 aplicaciones que usted puede proteger con una sola HASP4 Net. Como está protegiendo una sola aplicación, puede utilizar parte de esta memoria reservada para otros propósitos.
Contacte con Aladdin y solicite el HASP4 Net Memory Layout. Utilice el API HASP4 Net para almacenar datos en partes de la memoria no utilizada.
Pregunta ¿ Es el HaspEdit la única utilidad con la que yo puedo programar mis llaves HASP?
Respuesta No. Dispone otras opciones para hacerlo. La primera es crear una utilidad de programación automática con parámetros de protección predefinidos que introdujo con la utilidad de HaspEdit. Para más información sobre la utilidad de programación, vea la página 94. La segunda opción es escribir su propio programa que incorpora el API de HASP y escribe datos en la memoria HASP. Para más información sobre el API de HASP, vea la página 115. Finalmente, una opción llamada “Program HASP”, que permite grabar parámetros FAS desde la utilidad Envolvente de Win32. Para más información sobre el uso de la Envolvente de HASP junto con FAS, vea “Grabación de los Parámetros FAS” (página 51).
Uso de las Herramientas HASP Acceso a las llaves con HASP Edit
105
Pregunta ¿Puedo utilizar las llaves HASP programadas con HASP Edit para Mac o HASPEdit para Windows en la otra plataforma?
Respuesta Sí. Las llaves programadas con una de las aplicaciones HASP Edit pueden ser usadas en todas las plataformas soportadas. Otra opción es utilizar el API de HASP para programar sus llaves HASP.
107
Parte 2 – Capítulo 7
Ayudas para el usuario final
La utilidad Aladdin Diagnostic permite a sus clientes recoger información
acerca de su sistema y su llave HASP. Esta información le ayudará a usted y
a sus clientes a resolver problemas que puedan encontrar con el uso de las
aplicaciones protegidas.
Sus clientes pueden usar la utilidad Aladdin Diagnostic para:
• Testear una llave HASP
• Crear un archivo de informe que contenga datos acerca de los
dispositivos de Aladdin e información relacionada de su sistema
Aladdin Diagnostic está disponible para los siguientes entornos: Windows
95 / 98 / ME y Windows NT / 2000 / XP.
Cuando sus clientes ejecutan la utilidad Aladdin Diagnostic, indíqueles que
activen la opción Use HASP mode para testear una llave HASP. Además,
pueden crear un informe con la información relacionada del sistema.
Ayudas para el usuario final Parte 2 - Capítulo 7
108
Figura 7.1 La ventana Aladdin Diagnostic
Creación de Informes
Sus clientes pueden crear un archivo de informe que contenga datos sobre los
dispositivos de Aladdin y otra información relevante del sistema.
Si sus clientes encuentran algún problema con el sistema HASP, le pueden
enviar por e-mail el informe a usted o al equipo de soporte técnico de su
representante Aladdin.
Para crear un informe:
• Pulse Create Report en la ventana principal de Aladdin Diagnostic.
Automáticamente se crea un informe en un archivo de texto en el directorio
AKSDIAG. El nombre predeterminado es NDIAG32.TXT.
El archivo del informe se abre automáticamente, permitiendo grabarlo con
un nombre distinto o imprimirlo.
Uso de las Herramientas HASP Ayudas para el usuario final
109
Diagnósticos de las llaves HASP
Cuando desee comprobar una llave HASP, desde la ventana de Aladdin
Diagnostic, seleccione Use HASP mode, y pulse Check Key; aparece la caja
de diálogo Check HASP.
Para comprobar una llave HASP
En la caja de diálogo Check HASP, bajo Access Mode, seleccione una de las
siguientes opciones:
• Check if any HASP key is connected (comprobar si hay una llave
HASP conectada)
• Check a HASP demo key (comprobar una llave HASP demo)
• Check a specific HASP key (Comprobar una llave HASP específica)
Comprobando una llave HASP remota
Puede acceder a una llave remota seleccionando Acces to HASP LM en la
caja de diálogo Check HASP. Introduzca el número del programa al que
desea acceder y pulse OK.
Ayudas para el usuario final Parte 2 - Capítulo 7
110
Para comprobar si hay una llave HASP conectada:
1. Seleccione Check if any HASP key is connected.
2. Pulse OK.
Se muestra información sobre el resultado de la comprobación.
3. Pulse OK.
Se muestran los detalles del acceso en el panel Key Access History de
la ventana Aladdin Diagnostic.
Para comprobar una llave HASP demo:
1. Seleccione Check a HASP Demo key.
2. Pulse OK.
Se muestra información sobre el resultado de la comprobación.
3. Pulse OK.
Se muestran los detalles del acceso en el panel Key Access History de
la ventana Aladdin Diagnostic.
Para comprobar una llave HASP específica:
1. Seleccione Check a specific HASP key.
2. Pulse OK.
Se muestra información sobre el resultado de la comprobación.
3. Pulse OK.
Se muestran los detalles del acceso en el panel Key Access History de
la ventana Aladdin Diagnostic.
ë Las passwords HASP son el corazón del concepto de protección HASP, por lo tanto, nunca debe revelarlas a sus clientes. Esta opción de la utilidad Aladdin Diagnostic debe ser, por tanto, utilizada únicamente por personal de su compañía que conozca las passwords.
Uso de las Herramientas HASP Ayudas para el usuario final
111
Panel Key Access History
El Panel Key Access History de la ventana principal muestra todos los accesos a las llaves HASP. Esta información se tabula y muestra secuencialmente, con los accesos recientes en primer lugar, de esta forma
Columna Valor Descripción
any Se ha comprobado la presencia de cualquier llave HASP conectada localmente.
demo Se ha comprobado la presencia de una llave HASP demo.
Password
custom Se ha comprobado la presencia de una llave HASP específica
local La llave HASP se encontró en un puerto local.
Access
remote La llave HASP se encontró en un puerto remoto
Muestra el número del puerto en el que la llave HASP está conectada.
Si se encuentra una llave y se ha accedido a través de un puerto remoto con HASP LM, también se muestra el número de programa.
Port/Prog.
Si no se puede acceder a la llave, se muestra (n/a)
p1-p4 Muestra el status del API
113
Parte 3
Uso del API de HASP
Esta parte es una introducción a los métodos y estrategias de protección con
e API de HASP. Ofrece detalladas descripciones de todos los servicios del
API de HASP.
El capítulo “Protección con el API de HASP” (página 115) explica cómo usar
la rutina hasp() y ofrece una visión acerca de los servicios del API de HASP.
El capítulo “Estrategias de Protección” (página133) contiene información
sobre cómo maximizar su protección.
El capítulo “Servicios Básicos HASP” (página 143) describe los servicios
relacionados con todas las llaves HASP monopuesto.
El capítulo “Servicios de Memoria HASP4” (página 151) describe los
servicios relacionados con las llaves HASP4 M1, HASP4 M4 y HASP4 Time.
El capítulo “Servicios HASP4 Time” (página 159) describe los servicios
relacionados con las llaves HASP4 Time.
El capítulo “Servicios HASP4 Net” (página 171) describe los servicios
relacionados con las llaves HASP4 Net.
El capítulo “Códigos de Status del API de HASP” (página 197) explica los
códigos de status devueltos por el sistema HASP.
115
Parte 3 – Capítulo 9
Protección con el API de HASP
El API (Application programming interface) de HASP es un poderoso método
de protección, cuya fuerza depende de cómo se implemente. Cuanto más
sofisticadas y complejas sean las llamadas del API, mejor será la protección
de HASP.
Este y los siguientes capítulos del API describen las rutinas y servicios de
HASP. Encontrará más información sobre el uso del API en esta guía del
programador HASP.
Utilice el API para insertar llamadas al HASP a través de la aplicación y así
aumentar la seguridad. Puede comprobar la presencia de la llave HASP en
cualquier punto de la aplicación y decidir como responder de acuerdo al
resultado de la comprobación. También puede llamar a una llave HASP de
memoria para leer los datos almacenados en su memoria.
La manera en la que se realizan las comprobaciones es un factor crucial y
determinante para la seguridad. Es esencial, por lo tanto, que consulte el
capítulo “Estrategias de Protección” (página 133) indicando la mejor forma
de usar HASP.
Antes de proteger con el API HASP, recomendamos que compruebe los
archivos API para su compilador. Cada interface HASP incluye una
aplicación de ejemplo mostrando el uso del API.
Protección con el API de HASP Parte 3 - Capítulo 9
116
Preparación para el uso del API
Para usar el API de HASP, debe instalar el HASP Device Driver o un
daemon. Consulte “Instalación de HASP” (página 25) para más información
acerca de la instalación de los drivers de HASP.
Antes de usar el API, utilice el HaspEdit (vea capítulo 14) para hacer lo
siguiente:
Codificar datos para su uso en la aplicación.
Use el servicio HaspEncodeData o la utilidad HASP Edit para codificar
datos. Puede decodificar estos datos con el API cuando esté conectada la
llave HASP correcta.
Edite la memoria HASP.
Si está protegiendo su aplicación con una llave HASP con memoria, y
almacenando información delicada en ella, anote los datos almacenados en
cada dirección de memoria. El API le permite para acceder a la memoria, y
leer y escribir datos en una dirección especifica.
Puede usar HASP Edit o los servicios WriteWord, WriteBlock y WriteByte
(sólo en HASP4 Time) para escribir en la memoria.
Determine el número de identificación de HASP
Las llaves HASP de memoria tienen un número de identificación. Con el API,
puede comprobar la presencia de una HASP especifica verificando su
Número ID.
Puede usar HASP Edit para determinar el número ID.
Uso del API de HASP Protección con el API de HASP
117
Usando el API Después de haber ejecutado las operaciones necesarias usando HASP Edit,
está preparado para proteger su aplicación con el API incorporando llamadas
a la rutina hasp() a través de su código fuente.
Principales etapas de la integración
Para implementar el API:
1. Analice el código de ejemplo que corresponde al entorno de desarrollo de
su elección.
2. Añada las llamadas a hasp() en su código fuente.
3. Use el API para decodificar y verificar los datos relevantes que su
aplicación utiliza.
4. Según el resultado a partir del paso 3, si aparece algún error,
compruébelo y muestre la notificación adecuada al usuario.
5. Repita los pasos 2-4 varias veces, incorporando estos chequeos en
diferentes módulos.
6. Compile su código fuente y línkelo con los archivos objeto HASP o con las
librerías suministradas.
7. Use la utilidad HASP Envelope para añadir una capa adicional de
protección a su aplicación.
Uso de la rutina hasp( )
Use la rutina hasp() para incorporar la protección API dentro de su
aplicación. La rutina hasp() hace una comprobación de la presencia de una
HASP, codifica datos y accede a la memoria de una llave HASP para
operaciones de lectura y escritura.
Las llamadas a la rutina hasp() son diferentes para las llaves monopuesto y
las llaves HASP4 Net.
Protección con el API de HASP Parte 3 - Capítulo 9
118
Parámetros para llaves HASP monopuesto
hasp (Service, SeedCode, PortNum, Password1, Password2,
Par1, Par2, Par3, Par4)
La rutina hasp() acepta los siguientes nueve parámetros.
Tabla 9.1 Parámetros para llaves HASP monopuesto
Parámetro Descripción
Service Determina la operación realizada por la rutina.
SeedCode Se usa sólo por compatibilidad con modelos anteriores.
PortNum Especifica el puerto para la búsqueda de la llave HASP
Password 1 Primera Password de la llave HASP
Password 2 Segunda Password de la llave HASP
Par1 a Par4 Los valores de Par1 a Par4 cambian según el servicio.
Parámetros para llaves HASP4 Net
hasp (Service, SeedCode, ProgNum, Password1, Password2,
Par1, Par2, Par3, Par4)
La rutina hasp() acepta los siguientes nueve parámetros.
Tabla 9.2 Parámetros para llaves HASP4 Net
Parámetro Descripción
Service Determina la operación realizada por la rutina.
SeedCode Se usa sólo por compatibilidad con modelos anteriores.
ProgNum Número de programa asignado a la aplicación protegida en la memoria HASP4 Net
Uso del API de HASP Protección con el API de HASP
119
Parámetro Descripción
Password 1 Primera Password de la llave HASP
Password 2 Segunda Password de la llave HASP
Par1 a Par4 Los valores de Par1 a Par4 cambian según el servicio.
Especificación del Puerto
Puede usar el parámetro PortNum para especificar un puerto paralelo o
USB. Las aplicaciones protegidas con HASP4 Net buscan en todos los
puertos la llave HASP4 Net, así que si está usando HASP4 Net, puede
saltar esta sección.
Especificación de Puerto Paralelo
Puede usar el parámetro PortNum para especificar un puerto paralelo en el
que buscar las llaves HASP monopuesto.
Si fija el PortNum a 0, la aplicación protegida automáticamente busca todos
los puertos paralelos en el siguiente orden: 378h, 278h, 3BCh. La búsqueda
automática se detiene cuando la aplicación encuentra una HASP.
Puede indicar la búsqueda de HASP en un puerto paralelo específico o
direccionar a un puerto hardware directamente (ignorando el área de datos
de la BIOS). La siguiente tabla lista los diferentes valores que se pueden
asignar a PortNum para buscar un puerto específico.
Tabla 9.3 Valores PortNum y Puertos buscados
PortNum Puerto Buscado
0 Búsqueda automática en todos los puertos
1 Sólo LPT1
2 Sólo LPT2
3 Sólo LPT3
101 Sólo 03BCh
Protección con el API de HASP Parte 3 - Capítulo 9
120
PortNum Puerto Buscado
102 Sólo 0378h
103 Sólo 0278h
201-255 HASP en puerto USB
Especificación del puerto con HASP para USB
Utilice el parámetro PortNum para especificar el número de puerto USB.
Con el propósito de enumeración de HASP USB, se reservan los enteros
desde el 201 al 255 para el puerto USB. Cada puerto en el que se conecta
una llave tendrá asignado uno de estos 55 números en secuencia consecutiva.
El siguiente ejemplo muestra como usar la enumeración HASP USB:
1. Llame a la rutina hasp() con el servicio IsHasp(). El valor devuelto en P2
es el número de puertos a testear para su llave HASP específica.
2. Trate el número en P2 como la variable n, donde n es el número de
puertos USB a chequear.
3. Llame a la rutina hasp() con el servicio del API de HASP que lee la
memoria o que obtiene el Número ID de HASP, transfiriendo el primer
número de puerto USB en el parámetro PortNum. Debe comprobar datos
específicos que le confirmen la identidad de una llave particular.
4. Si la memoria de la llave que está en el primer puerto se identifica como
la llave específica que usted quiere, guarde su número de puerto USB. Si
no lo es, vuelva al paso 3 con el siguiente número de puerto USB, y así n
veces.
Más adelante en su código, comunique con la llave concreta utilizando el
número de puerto específico.
Uso del API de HASP Protección con el API de HASP
121
Comprobación de errores vitales
Para llaves HASP monopuesto hay dos códigos de error vitales a comprobar
después de cada llamada a la rutina hasp(). Los códigos relacionados se
devuelven en p3:
• “HASP not found”: error –3. Si encuentra este error, indique al usuario
que conecte la llave HASP (correcta).
• “Port Busy”: error –6. Llame de nuevo a la llave HASP después de una
breve pausa, o avise al usuario que debe esperar que la impresora o
cualquier otro dispositivo finalice antes de continuar con la aplicación.
Es importante incluir al principio de la aplicación una comprobación para
establecer que el HASP Device Driver está instalado. Para ello busque los
errores –100, -101, -110 y –111 en la primera llamada a hasp(). Si encuentra
alguno de esos errores, instale el driver y continúe con el programa.
Protección con el API de HASP Parte 3 - Capítulo 9
122
Servicios HASP
Consulte la tabla 9.4 para información de los servicios a utilizar con los diversos modelos HASP.
Tabla 9.4 Modelos HASP y Servicios relacionados
Modelo HASP Servicios Relacionados
HASP4 Std. Servicios Básicos HASP
HASP4 M1, M4 Servicios Básicos HASP
Servicios de Memoria HASP4
HASP4 Time Servicios Básicos HASP
Servicios de Memoria HASP4
Servicios de HASP4 Time
HASP4 Net Servicios de HASP4 Net
Uso del API de HASP Protección con el API de HASP
123
Servicios Básicos HASP
Puede utilizar los servicios básicos HASP con HASP4 Std., HASP4 M1,
HASP4 M4 y con HASP4 Time. Estos son los servicios disponibles.
Tabla 9.5 servicios básicos de HASP
Servicio Nombre Operación
1 IsHasp Comprueba si cualquier HASP está conectada al PC.
5 HaspStatus Comprueba el tipo de HASP conectada al PC.
Comprueba qué puerto paralelo tiene una llave conectada.
Comprueba el tamaño de la memoria de una llave de memoria.
Comprueba la versión del API
60 HaspEncodeData Datos codificados enviados a la llave HASP4 conectada. Se usa junto con HaspDecodeData para verificar la presencia de una llave HASP4 concreta.
61 HaspDecodeData Datos decodificados enviados a la llave HASP4 conectada. Se usa junto con HaspEncodeData para verificar la presencia de una llave HASP4 concreta
Protección con el API de HASP Parte 3 - Capítulo 9
124
Servicios HASP4 Memoria
Puede usar los servicios HASP4 Memoria con HASP4 M1, HASP4 M4, y con HASP4
Time (área de 496 bytes). Estos son los servicios disponibles.
Tabla 9.6: Servicios HASP4 Memoria
Servicio Nombre Operación
3 ReadWord Lee un word de datos de la memoria HASP.
4 WriteWord Escribe un word de datos en la memoria HASP.
6 HaspID Obtiene el ID de HASP
50 ReadBlock Lee un bloque de datos de la memoria HASP.
51 WriteBlock Escribe un bloque de datos en la memoria HASP.
Uso del API de HASP Protección con el API de HASP
125
Servicios HASP4 Time
Puede usar los servicios HASP4 Time con las llaves HASP4 Time.
Use los servicios 74 a 77 para acceder a la memoria HASP4 Time de 16
bytes. Use los servicios de HASP4 Memoria 3, 4, 50, y 51 para acceder a la
memoria de 496 bytes de la llave HASP4 Time.
Estos son los servicios disponibles.
Tabla 9.7: Descripción de los Servicios HASP4 Time
Servicio Nombre Operación
70 SetTime Sincroniza el reloj HASP4 Time.
71 GetTime Obtiene la hora del reloj HASP4 Time.
72 SetDate Fija la fecha en el reloj HASP4 Time.
73 GetDate Obtiene la fecha del reloj HASP4 Time.
74 WriteByte Escribe un byte de datos en la memoria HASP4 Time.
75 ReadByte Lee un byte de datos de la memoria HASP4 Time .
76 WriteBlock Escribe un bloque de datos en la memoria HASP4 Time.
77 ReadBlock Lee un bloque de datos de la memoria HASP4 Time.
78 GetHaspID Obtiene el número de identificación del HASP4 Time (Número ID)
Protección con el API de HASP Parte 3 - Capítulo 9
126
Servicios HASP4 Net
Puede usar los servicios HASP4 Net únicamente con las llaves HASP4 Net. Estos son los servicios disponibles.
Tabla 9.8: Descripción de la Tabla de Servicios HASP4 Net
Servicio Nombre Operación
40 LastStatus Comprueba el status de la última llamada. Use este servicio después de cada llamada la rutina hasp().
42 Login Pide permiso del Administrador de Licencias HASP para activar la aplicación.
A menos que use los servicios 85 ó 96, el login debe ser la primera llamada a la rutina hasp().
43 Logout Finalización de la sesión en el Administrador de Licencias HASP.
44 ReadWord Lee una word de la memoria HASP4 Net.
45 WriteWord Escribe una word en la memoria HASP4 Net.
46 HaspID Obtiene el número ID de HASP4 Net.
48 IdleTime Fija un tiempo máximo para desactivar una estación que no esté trabajando con la aplicación protegida.
52 ReadBlock Lee un bloque de datos de la memoria HASP4 Net.
53 WriteBlock Escribe un bloque de datos en la memoria HASP4 Net.
85 SetConfigFilename Fija el nombre del archivo de configuración HASP4 Net.
Uso del API de HASP Protección con el API de HASP
127
Servicio Nombre Operación
88 HaspEncodeData Datos codificados enviados a la llave HASP4 Net conectada. Se usa junto con HaspDecodeData para verificar la presencia de una llave HASP4 Net concreta.
89* HaspDecodeData Datos codificados enviados a la llave HASP4 Net conectada. Se usa junto con HaspDecodeData para verificar la presencia de una llave HASP4 Net concreta.
96 SetServerByName Fija el nombre del Administrador de Licencias HASP con que la aplicación protegida realizará un login HASP4 Net.
ë Para acceder a una llave HASP4 Net conectada a un puerto paralelo local, se puede usar los servicios básicos HASP y de HASP Memoria.
Protección Local y de red
El API le permite proteger su aplicación tanto para entornos de red como
monopuesto.
Para habilitar la protección desde el API para entornos de red y
monopuesto:
1. Use los servicios básicos HASP, HASP Memoria y HASP4 Time para
comprobar la presencia de la llave HASP monopuesto correcta conectada
en el puerto local de su PC.
2. Si no encuentra la llave HASP monopuesto, utilice los servicios HASP4
Net para buscar la llave HASP4 Net.
Protección con el API de HASP Parte 3 - Capítulo 9
128
Utilidad HASP Test
Con la utilidad de test HASP, puede comprobar los servicios API de HASP y
las operaciones de HASP4 Net. También puede usar la utilidad en su puesto
de trabajo para testear las operaciones HASP.
La utilidad de test disponible es haspdemo.exe para Windows y Win32.
Con esta utilidad, puede testear las llaves HASP de todos los modelos.
haspdemo.exe es un programa ejemplo multi-objeto de utilidad para testear
llaves con diferentes versiones del API de HASP. Acceda a él pulsando
HASP Test for Win16 o Win32 en el menú del CD HASP. Puede encontrar
directamente el ejecutable en Utility\Haspdemo\Windows\Win16 o Win32
êê Necesita introducir las passwords para la mayoría de las funciones de la utilidad Test de HASP. El centro del concepto de protección HASP son las passwords, por tanto nunca debe revelarlas a sus clientes. Haspdemo.exe debe ser utilizado por personal de su empresa que conozca las passwords.
Uso del API de HASP Protección con el API de HASP
129
Preguntas Frecuentes
Pregunta ¿Cuánto tiempo dura la comprobación de HASP?
Respuesta Con las llaves HASP monopuesto, una llamada a la rutina hasp() toma alrededor de 20 milisegundos. Un login HASP4 Net dura en torno a dos segundos, dependiendo del tráfico de la red. Las llamadas a otros servicios HASP4 Net requiere aproximadamente medio segundo. Como se desprende de estos valores, se pueden realizar tantas llamadas a HASP como desee.
Pregunta ¿Cómo previene HASP el trazado del código?
Respuesta Más del 60% de nuestras rutinas están diseñadas específicamente para prevenir el trazado del código de la aplicación protegida. Naturalmente, no podemos revelar todos nuestros “trucos”, pero mencionamos algunos ejemplos:
Tomando las interrupciones del debugger y dificultando su auto debugger.
Bloqueos especiales para debuggers del hardware
Auto-generación de código difícil de trazar
Trampas de tiempo
Frecuentes actualizaciones que incorporen nuevas prestaciones y mejoras en la seguridad.
Protección con el API de HASP Parte 3 - Capítulo 9
130
Pregunta El lenguaje de programación o compilador que estoy usando no es compatible con ninguno de los lenguajes y compiladores que soporta el HASP. ¿Cómo protejo mi software?
Respuesta En este caso, sugerimos lo siguiente:
• Intente usar una interface HASP que use el mismo tipo de archivos
objeto que su compilador.
• Intente usar una DLL (para aplicaciones Windows, Win32, y OS/2).
• Consulte su representante local de HASP. Constantemente se
están incorporando nuevos drivers para lenguajes y compiladores.
• Utilice la utilidad Envelope.
Pregunta ¿Cómo puedo proteger una DLL con HASP?
Respuesta Puede utilizar la utilidad Envelope de Win32 para proteger DLLs de Win32, la Envolvente de Win16 para proteger DLLs de Win16, y el API de HASP para proteger DLLs Windows y Win32.
Hay dos opciones cuando protegemos DLLs con el API:
• Utilice los archivos objeto suministrados con el software HASP y
línkelos con su DLL. Incorpore llamadas a la rutina hasp() dentro de
su aplicación.
• Llame a la rutina hasp() desde su DLL. La rutina hasp() está definida
en la DLL de HASP que nosotros facilitamos. Incluya ambos su DLL y
la DLL de HASP cuando distribuya su aplicación.
Uso del API de HASP Protección con el API de HASP
131
Pregunta He utilizado el API para comprobar el número de identificación de HASP. Algunas veces, HaspID retorna un número negativo en IDLow. Cuando calculo el número de identificación, obtengo un número diferente al que retorna HaspEdit.
Respuesta Cuando IDLow es negativo, utilice la siguiente ecuación para calcular el Número ID:
Número ID = 65536 + IDLow + 65536 * IDHigh
Alternativamente, puede utilizar HASP Edit para comprobar las fracciones cortas (16-bit) de las palabras IDLow y IDHigh. Puede entonces compararlos directamente con los parámetros IDLow y IDHigh devueltos por la rutina hasp() sin calcular el número ID.
Pregunta ¿Dónde puedo encontrar un ejemplo de programa que demuestre como implementar el API?
Respuesta Hay un programa ejemplo en nuestro CD para la mayoría de los compiladores más comunes. Por ejemplo, para Visual C++, puede encontrar un ejemplo en el directorio win32api\msc.
133
Parte 3 – Capítulo 10
Estrategias de Protección
El sistema de protección HASP incluye las mejores herramientas de
protección hardware y software del mercado actual. Sin embargo, el sistema
de protección de software basado en HASP es sólo tan seguro como lo sea el
modo en que se ha instalado. Las llamadas a la rutina hasp(), que
finalmente introduce en su código, controlan el acceso a su aplicación. Dado
que el hardware HASP es virtualmente imposible de duplicar o emular, los
ataques se centran normalmente en trazar el código de la protección y
eliminar las rutinas de protección.
Para conseguir la máxima protección con HASP, use los dos métodos de
protección, la Envolvente y el API. Cada método tiene prestaciones únicas y
complementa y mejora el otro.
Para aumentar la seguridad del software protegiendo con el API, utilice las
técnicas comentadas en este capítulo. Este capítulo describe:
• Ataques a los esquemas de protección que pueden ser evitados mediante
las técnicas de instalación adecuadas
• Trucos para optimizar de la seguridad de las aplicaciones protegidas
Si desea asistencia a la hora de proteger su aplicación contra posibles
ataques, podemos ofrecer un servicio de soporte más personalizado desde
nuestro equipo de Consultores de Aladdin. Ellos podrán ayudarle en gran
número de aspectos, incluyendo estrategias de protección y técnicas de
implantación.
Estrategias de Protección Parte 3 - Capítulo 10
134
Posibles Ataques al Software
Existen dos métodos principales de ataque a las aplicaciones protegidas:
• Parchear las llamadas a la rutina de protección
• Parchear el software del fabricante de la llave
Para parchear las llamadas a la rutina de protección, es necesario cambiar el
ejecutable protegido para que no envíe llamadas a la llave, verifique los
resultados que retorna la llave, y/o haga que el programa trabaje en
concordancia dependiendo de esos resultados especificados en el código.
Este tipo de ataques se producen cuando se asume que la protección se ha
integrado de una forma muy sencilla.
Para parchear el software del fabricante de la llave, es necesario modificar
las rutinas responsables de las comunicaciones con la llave hardware.
Cuando se modifican estas rutinas, se asegura que se encuentren los
resultados esperados incluso cuando no este conectada la llave correcta.
Es importante saber que ambos métodos, en el caso de que se consiga evitar
la protección, son válidos sólo para esa aplicación y no podrán aplicarse a
otras aplicaciones protegidas.
Uso del API de HASP Estrategias de Protección
135
Consejos y trucos
En esta sección se ofrecen consejos y trucos para combatir los ataques
descritos en la sección anterior. Use tantas estrategias como sea posible
para optimizar el nivel de seguridad de sus aplicaciones.
Tenga en cuenta que cuando incorpora la protección, debe hacerlo de manera
que se considere en qué se implica al usuario legal del software. Por ejemplo,
un usuario legítimo puede olvidar conectar la llave al PC, su esquema de
protección debe considerar esto. Una estrategia de protección hábil combate
los ataques a su software, no a usuarios inocentes.
Use Múltiples Llamadas
Inserte numerosas llamadas a la rutina hasp() y marcas PCS para agotar
los recursos, humanos y técnicos, de quien ataque su software protegido. Una
estructura complicada de llamadas genera grandes dificultades en el
seguimiento y ataque a su esquema de protección.
Cuantas más llamadas y códigos devueltos se comprueben, más difícil es
trazarlos y eliminarlos. Las llamadas deben efectuarse desde tantos lugares
diferentes de su software como sea posible.
Codifique datos internos y externos de su aplicación
Codifique algunos de los datos que utiliza su aplicación y decodifíquelos
dependiendo de la presencia de la llave HASP.
La codificación de sus datos incrementa en gran medida la seguridad de su
aplicación. Use las prestaciones de HASP4 para codificar cadenas o datos
binarios que afecten gravemente al programa si se decodifican mal. Así crea
una asociación entre su aplicación y la llave HASP que no puede eliminarse
fácilmente. No sólo deberán piratear la aplicación y eliminar todos los
chequeos de HASP, sino que también tendrán que decodificar los datos. No
es necesario codificar todos los datos que su aplicación maneja, pero puede
codificar ciertos datos clave. Buenas opciones son cabeceras de archivos,
Estrategias de Protección Parte 3 - Capítulo 10
136
constantes importantes en cálculos, o pequeños campos en una base de
datos. Cualquier cosa que altere las principales funciones de la aplicación es
candidato potencial para su codificación. Tenga la precaución de notificar al
usuario que HASP no está presente para evitar dañar datos de valor.
Cuando un hacker elimina estos chequeos y cajas de dialogo, se manifestará
la dependencia de su aplicación de esos datos.
Describimos un proceso simple que puede modificar a su criterio.
1. Conecte su llave HASP4
Asegúrese de que la llave HASP4 que desea usar para proteger su
aplicación está conectada al PC.
2. Codifique los datos
Use la utilidad HASP Edit para codificar sus datos. El resultado de este
proceso será un archivo binario. También puede optar por crear un archivo
include en formato VB o C. Esto le permite acceder a valores codificados
directamente desde su aplicación.
3. Incorpore los datos codificados en su aplicación
Sustituya los datos originales de su aplicación con el archivo include o los
datos codificados.
4. Decodifique los datos a solicitud de su aplicación
Utilice el servicio 61 – HaspDecodeData para decodificar los datos
codificados a través de la llave HASP4 conectada. Ahora ya puede operar
con esos datos. Recuerde mostrar un mensaje de error cuando la HASP4
no esté presente.
Observe que frases como “HASP not found” y similares no deben codificarse
utilizando claves de codificación HASP-dependientes. Dado que esas frases se
muestran cuando la HASP no está conectada, su propia decodificación no debe
depender de una respuesta de HASP. Para este tipo de frases utilice una clave
de encriptación de su elección y cualquier método de codificación disponible.
Uso del API de HASP Estrategias de Protección
137
Evite Esquemas Repetitivos
Un esquema que se repite a lo largo del código es fácil de aprender y
localizar. Una vez que su esquema es entendido, es obvio que se va a buscar
de nuevo, haciendo los siguientes ataques más fáciles.
Más aún cuando su aplicación consiste en múltiples ejecutables o DLLs
protegidas, cambie el esquema de un archivo a otro. Utilice todos los
servicios HASP, llamando a cada uno de ellos varias veces, e incorporando un
esquema de protección diferente en cada llamada. Use, además, la Envelope
de HASP para proteger sus ejecutables. La Envelope de HASP usa
tecnología Multi-capa, que integra un esquema de protección diferente para
cada archivo ejecutable.
Evitando esquemas repetitivos la inversión de tiempo en tratar de atacar la
protección se multiplica. Cada búsqueda e intento de pirateo a cada llamada
a HASP debe ser una nueva tarea cada vez que se planea un ataque.
Separe los Pasos de la Llamada
La comprobación de HASP significa tres pasos principales:
• Llamada a la rutina hasp()
• Evaluación de los valores retornados por la rutina de protección
• Respuesta según los valores devueltos.
Para mejorar la seguridad, coloque los tres pasos en diferentes lugares de su
software. Al separarlos es mucho más difícil trazar los pasos secuenciales.
La respuesta en caso de no encontrar la HASP debe retrasarse para que
llegue por sorpresa, no en las inmediaciones de la llamada a HASP.
Por ejemplo, puede comprobar la HASP cuando el usuario pulse una opción
de un menú. Permita al usuario empezar a trabajar, incluso si no está la
llave conectada. Muestre el mensaje “HASP not found” sólo cuando se
encuentre en una operación completamente distinta para dificultar la
relación entre la llamada a HASP y la respuesta.
Estrategias de Protección Parte 3 - Capítulo 10
138
Codifique la Memoria de HASP
Además del alto nivel de seguridad inherente que aporta el chip ASIC, puede
asegurar el contenido de la memoria de HASP encriptándolo.
Por ejemplo, puede usar el Número ID de HASP como clave de encriptación
para la memoria HASP. Durante la ejecución, asegúrese de desencriptar la
memoria usando el Número ID.
Puesto que la clave de encriptación es diferente para cada HASP, el proceso
de desencriptación para cada llave es distinto. Este proceso incorpora otro
obstáculo en la copia del contenido de la memoria de una llave a otra, pues el
Número ID de HASP no se puede copiar. La memoria de la “falsa” HASP se
desencripta utilizando una clave de desencriptación no válida, resultando
una lectura incorrecta de los datos.
Realice Checksums en Su Código
Realice un checksum para comprobar que su código no ha sido modificado.
Para realizar un checksum sencillo:
1. Calcule el checksum.
2. Compárelo con el valor correcto.
3. Si ambos no coinciden emita un mensaje de error. Si coinciden continúe.
Desgraciadamente, esta técnica es vulnerable a varios ataques.
• El código puede ser parcheado para que omita el checksum.
• Es posible forzar el checksum para que retorne el valor correcto.
Para ello, debe identificarse el algoritmo del checksum y utilizar técnicas de
parcheado del código e interrupciones para compensar los bytes cambiados.
Es posible defenderse contra este tipo de ataques evitando simples módulos
de adición o mediante operaciones XOR. Use CRC (cyclic redundancy check) u
otro algoritmo sensible al orden de los bytes.
Uso del API de HASP Estrategias de Protección
139
Otra técnica de defensa es evitar la comparación directa del resultado del
checksum con el valor calculado previamente. En su lugar utilice el resultado
del checksum para hacer que finalmente resulte un error si el valor no es el
esperado.
Por ejemplo, almacene el resultado en una variable y use esa variable más
adelante como clave de desencriptación para desencriptar una parte del
código o datos. Así tiene la ventaja de retrasar la reacción. Además, el valor
de checksum esperado no se almacena explícitamente en la aplicación.
Limite la Funcionalidad del Programa como Respuesta, en lugar
de “HASP not Found”
Existen múltiples respuestas que puede incluir en su código cuando la llave
HASP no está conectada. La más simple es insertar un mensaje “No se
encontró HASP”. Pero, esto indica que se ha realizado un chequeo de HASP.
En lugar de mostrar el mensaje “No se encontró HASP”, idee una
interrupción en el proceso de ejecución del programa si no encuentra HASP.
Por ejemplo, instruya a la aplicación para inhabilitar el teclado si no
encuentra la llave HASP, y que reinicie la operatividad normal cuando se
conecte la llave más tarde. Los usuarios ilegítimos pueden pensar que el
problema surgió de un bug del programa. No sabrán que se realizó un
chequeo de HASP, y que el problema es debido a la ausencia de la llave.
Asegúrese de usar la funcionalidad del programa teniendo en consideración
los usuarios legítimos que, por error han olvidado conectar la llave.
Ocultación de Passwords
Oculte las passwords en la aplicación protegida mediante:
• Su encriptación
• Grabándolos en diferentes lugares del código fuente
• Comparando los diferentes lugares donde se han grabado y chequeando
su integridad
Estrategias de Protección Parte 3 - Capítulo 10
140
Añada Distorsiones
Llame a la rutina hasp( ) y envíele parámetros con valores irrelevantes.
Estos valores puede producirlos con generadores de números aleatorios, o con
valores horarios y otros. Por supuesto, estas llamadas a la rutina hasp() no
deben influir en absoluto en resultados ni acciones posteriores. Estas
distorsiones causan distracciones e interponen obstáculos adicionales a
quien intente atacar su aplicación protegida.
Use Datos dependientes de HASP
Utilizando datos almacenados en la memoria HASP, normalmente se
comprueba que el valor es correcto antes de continuar. Sin embargo, este
proceso le obliga a incluir el valor real que se comprueba en su aplicación. El
valor es en ese momento susceptible de ser atacado.
Para prevenir el acceso a esos datos, léalos y úselos en su aplicación sin
comprobar explícitamente su validez. Si la HASP está conectada, el valor es
válido. Si no está la HASP, el valor no es válido y resulta un error.
Por ejemplo, en lugar de chequear datos leídos de la memoria HASP, puede
utilizarlos directamente para realizar operaciones como se muestra en el
siguiente pseudo-código:
Begin
Global variable FLAG is assigned an initial value.
Call the hasp( ) routine with the ReadWord service.
FLAG is assigned the value of the data read from the HASP memory (100 in
this example).
Goto FLAG
...
...
Label 100:
Perform an operation that is required for the correct program flow.
Uso del API de HASP Estrategias de Protección
141
En el ejemplo anterior, cuando la HASP está conectada y se lee de la
memoria el valor 100, el programa continúa y realiza la operación de ir a
label 100. Si la HASP no está conectada, el programa no va al lugar
designado, label 100, y no realiza la operación solicitada.
Esta estrategia previene del uso del IF que se traduce a Asembler CMP, y
así es más difícil de trazar.
Use la Envolvente de HASP
La Envelope añade un escudo de protección sobre su aplicación. La protección
Envelope ofrece encriptación de archivos y avanzadas prestaciones anti-
debugging que dificultan en gran medida los ataques.
Si está protegiendo una serie de ejecutables, la Envelope HASP, con su
tecnología Envelope Multi-capa, incorpora un esquema de protección para
cada archivo ejecutable. Variando los esquemas de protección se dificulta
aún más el entendimiento y pirateo de una aplicación.
Cambie su Estrategia
Para mantener un alto novel de seguridad del software, debe cambiar a
menudo su esquema de protección. Varíe sus métodos, agregando diferentes
medidas de seguridad para cada versión de su aplicación. Actualice sus
herramientas de defensa regularmente.
El compromiso de Aladdin es suministrarle la mejor tecnología de protección
disponible en el mercado, y mejorar continuamente su línea de productos.
Visite la web de Aladdin periódicamente para informarse de las últimas
novedades que se incorporan al sistema de protección HASP y contacte con
Aladdin para obtener las últimas actualizaciones del software HASP.
En sintonía con Aladdin estará siempre un paso por delante de quien trate
de atacar su software.
143
Parte 3 – Capítulo 11
Servicios Básicos HASP
Este capítulo describe los servicios básicos del API de HASP que son de
aplicación para HASP4 Standard, HASP4 M1 y HASP4 M4. Cada uno de los
servicios se describen con detalle.
La tabla 11.1 muestra los parámetros de la rutina hasp() para cada servicio.
Cada servicio de la tabla tiene asignadas dos filas:
• La fila, C (Call), lista los parámetros que usted envía a la rutina hasp().
• La fila, R (Return), lista los parámetros que la rutina hasp() retorna.
Los valores de Par1, Par2, Par3 y Par4 cambian según el servicio.
Todos los parámetros son de 16 bits en aplicaciones 16-bits y 32 bits en
aplicaciones 32-bits.
Servicios Básicos HASP Parte 3 - Capítulo 11
144
Tabla 11.1: Servicios Básicos HASP y sus Correspondientes Parámetros
Servicio
(Num).
Cód
igo
Sem
illa
Por
tNu
m
Pas
swor
d1
Pas
swor
d2
Par
1
Par
2
Par
3
Par
4
IsHasp(1) C
Por
tNu
m
R
En
cuen
tra
HA
SP
HaspStatus(5) C
Por
tNu
m
Pas
swor
d1
Pas
swor
d2
R
Tam
año
mem
oria
Tip
o H
asp
Lpt
num
actu
al
HaspEncodeData(60) C
Por
tNu
m
Pas
swor
d1
Pas
swor
d2
0 Bu
ffer
Bu
ffer
Bu
ffer
R
Sta
tus
HaspDecodeData(61) C
Por
tNu
m
Pas
swor
d1
Pas
swor
d2
0 Bu
ffer
Bu
ffer
Bu
ffer
R
Sta
tus
Uso del API de HASP Servicios Básicos HASP
145
ë El parámetro Buffer Segment sólo es de relevancia para aplicaciones Windws 16 bits
Servicios Básicos HASP Parte 3 - Capítulo 11
146
Servicio 1: IsHasp
Descripción Comprueba la presencia de cualquier HASP conectada al PC.
Llaves implicadas HASP4 Std., HASP4 M1, HASP4 M4, HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2,
Par1, Par2, Par3, Par4)
Parámetros Utilizados
Servicio 1
PortNum Valor que indica el puerto para la búsqueda.Vea
“Especificación del Puerto” en la página 119.
Valores Devueltos
Par1 Valor que indica si se encontró una HASP
0 ninguna HASP conectada al PC
1 una llave HASP conectada al PC
Par2 Valor que indica los puertos para la búsqueda, Vea
“Especificación del Puerto” en la página 119.
Par3 Código que indica el status de la operación. Vea
“Códigos de status del API HASP” en la página 197
Comentarios Servicio 1, IsHasp, es un servicio que simplemente comprueba la presencia de cualquier HASP conectada al PC. Utilice siempre IsHasp junto con otros servicios del API de
HASP. Para comprobar que la HASP correcta (con su código de programador) está conectada, use Servicio 61, HaspDecodeData. Para una simple comprobación de presencia utilice el Servicio 5, HaspStatus.
Uso del API de HASP Servicios Básicos HASP
147
Servicio 5: HaspStatus
Descripción Comprueba el tipo de llave HASP conectada al PC. También
chequea en qué puerto está conectada la llave.
Llaves implicadas HASP4 Std., HASP4 M1, HASP4 M4, HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2,
Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 5
PortNum Valor que indica el puerto para la búsqueda de la
llave HASP.
Password1 Primera password HASP.
Password2 Segunda password HASP.
Valores Devueltos
Par1 Tamaño de la Memoria
1 HASP4 M1
4 HASP4 M4
0 otras llaves
Par2 Tipo de HASP
0 HASP4 sin memoria
1 HASP4 M1 o HASP4 M4
5 HASP4 Time
Par3 Número de puerto actual, vea “Especificación del Puerto” en la página 119.
Par4 HASP Object Version – La versión actual del API.
Servicios Básicos HASP Parte 3 - Capítulo 11
148
Comentarios • Para minimizar el tiempo de búsqueda, utilice el valor del LptNum Actual recibido en Par3, y envíelo en el Parámetro LptNum en las siguientes llamadas a la rutina hasp( ).
• Si hay una llave HASP4 Net conectada al puerto paralelo local, HaspStatus la identifica como una HASP4 M4, es decir, el tamaño de memoria devuelto en Par1 es 4, y el tipo de llave HASP devuelto en Par2 es 1.
• Las anteriores llaves TimeHASP-1 devolverán un status 3 en el Par2. Las aplicaciones que usen ese tipo de llaves deben actualizarse para contemplar status 3 ó 5.
Uso del API de HASP Servicios Básicos HASP
149
Servicio 60: HaspEncodeData
Descripción Codifica datos a través de una llave HASP conectada.
Llaves implicadas HASP4 Std., HASP4 M1, HASP4 M4, HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2,
Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 60
PortNum Valor que indica el puerto para la búsqueda de la
llave HASP
Password1 Primera password HASP.
Password2 Segunda password HASP.
Par1 0 (reservado).
Par2 Tamaño del buffer. El tamaño en bytes del buffer a
codificar. El buffer debe tener al menos un tamaño de
8 bytes.
Par3 Segmento de buffer. La dirección de segmento del
buffer. Solamente para aplicaciones 16 bits
Par4 Buffer offset. Dirección offset del buffer.
Valores Devueltos Par3 Status – Código que indica el status de la operación.
Vea “Códigos de status del API de HASP” en la
página 197.
Comentarios El contenido del buffer de programa se codifica vía la llave HASP conectada y actualizado en el sitio.
Este servicio sólo puede usarse con la generación HASP4 de llaves HASP. Si esta conectada una llave de una generación anterior, no se codificarán los datos y el servicio devolverá un código de error.
Servicios Básicos HASP Parte 3 - Capítulo 11
150
Servicio 61: HaspDecodeData
Descripción Decodifica datos a través de una llave HASP conectada.
Llaves implicadas HASP4 Std., HASP4 M1, HASP4 M4, HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2,
Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 60
PortNum Valor que indica el puerto para la búsqueda de la
llave HASP
Password1 Primera password HASP.
Password2 Segunda password HASP.
Par1 0 (reservado).
Par2 Tamaño del buffer. El tamaño en bytes del buffer a
decodificar. El buffer debe tener al menos un tamaño
de 8 bytes.
Par3 Segmento de buffer. La dirección de segmento del
buffer. Solamente para aplicaciones 16 bits
Par4 Buffer offset. Dirección offset del buffer.
Valores Devueltos Par3 Status – Código que indica el status de la operación.
Vea “Códigos de status del API de HASP” en la
página 197.
Comentarios El contenido del buffer de programa se decodifica vía la llave HASP conectada y actualizado en el sitio.
Este servicio sólo puede usarse con la generación HASP4 de llaves HASP. Si esta conectada una llave de una generación anterior, no se decodificarán los datos y el servicio devolverá un código de error.
151
Parte 3 – Capítulo 12
Servicios HASP Memoria
Este capítulo describe los servicios del API para HASP4 M1, HASP4 M4, y
HASP4 Time. Cada uno de los servicios está descrito con detalle.
La tabla 12.1 de la página 152 lista los parámetros de la rutina hasp() para
cada servicio. Cada servicio listado en la siguiente tabla tiene asignadas dos
filas:
• La fila Call, C, lista los parámetros que se envían a la rutina hasp().
• La fila Return, R, lista los parámetros que la rutina hasp() devuelve.
Los valores de Par1, Par2, Par3 y Par4 cambian de acuerdo con el servicio.
Todos los parámetros son de 16 bits en aplicaciones de 16.bits y de 32 bits
en las aplicaciones de 32-bits.
êê Debido a que los sistemas Macintosh operan en Big Endian y los sistemas Intel en Little Endian, los valores de ReadWord y WriteWord son byte-swapped en Macintosh en relación con Intel.
Considérelo cuando lea y escriba en una llave HASP con estos servicios, o utilice los servicios ReadBlock y WriteBlock que operan Endian independientemente.
Servicios HASP Memoria Parte 3 - Capítulo 12
152
Tabla 12.1: Servicios HASP4 Memoria y sus parámetros
Servicio (no.)
Cód
igo
Sem
illa
Lpt
Num
Pas
swor
d1
Pas
swor
d2
Par
1
Par
2
Par
3
Par
4
ReadWord (3) C
Lpt
Num
Pas
swor
d1
Pas
swor
d2
Add
ress
R
Dat
a
Sta
tus
WriteWord (4) C
Lpt
Num
Pas
swor
d1
Pas
swor
d2
Add
ress
Dat
a
R
Sta
tus
HaspID (6) C
Lpt
Num
Pas
swor
d1
Pas
swor
d2
R
IDL
ow
IDH
igh
Sta
tus
ReadBlock (50) C
Lpt
Num
Pas
swor
d1
Pas
swor
d2
Sta
rt
Add
ress
Blo
ck
Len
gth
Bu
ffer
S
egm
ent
Bu
ffer
O
ffse
t
R
Sta
tus
Uso del API de HASP Servicios HASP Memoria
153
Servicio (no.)
Cód
igo
Sem
illa
Lpt
Num
Pas
swor
d1
Pas
swor
d2
Par
1
Par
2
Par
3
Par
4
WriteBlock (51) C
Lpt
Num
Pas
swor
d1
Pas
swor
d2
Sta
rt
Add
ress
Blo
ck
Len
gth
Bu
ffer
S
egm
ent
Bu
ffer
O
ffse
t
R
Sta
tus
ëë El parámetro Buffer Segment es de relevancia únicamente para aplicaciones 16 bits
Servicios HASP Memoria Parte 3 - Capítulo 12
154
Servicio 3: ReadWord
Descripción Lee un word de datos de la memoria HASP.
Llaves Relacionadas HASP4 M1, HASP4 M4, HASP4 Time
Sintaxis hasp (Service, SeedCode, LptNum, Password1, Password2,
Par1, Par2, Par3, Par4)
Parámetros Utilizados
Servicio 3
PortNum Valor que indica el puerto a buscar por la HASP.
Vea “Especificación del Puerto” en la página 119
Password1 Primera password de HASP.
Password2 Segunda password de HASP.
Par1 Address – La dirección de memoria HASP que
quiere leer de:
0 a 55 – HASP4 M1
0 a 247 – HASP4 M4
0 a 247 – HASP4 Time
Códigos Devueltos
Par2 Data – Una palabra de datos que lee de la
memoria HASP.
Par3 Status – Código que indica el estado de la operación de la memoria. Vea “Códigos de Status del API de HASP” en la página 197.
Uso del API de HASP Servicios HASP Memoria
155
Servicio 4: WriteWord
Descripción Escribe un word de datos en la memoria HASP.
Llaves relacionadas HASP4 M1, HASP4 M4 y HASP4 Time
Sintaxis hasp (Service, SeedCode, LptNum, Password1, Password2,
Par1, Par2, Par3, Par4)
Parámetros Utilizados
Servicio 4
PortNum Valor que indica el puerto a buscar por la HASP.
Password1 Primera password de HASP.
Password2 Segunda password de HASP.
Par1 Address – La dirección de memoria de HASP donde desee escribir:
0 a 55 – HASP4 M1
0 a 247 – HASP4 M4
0 a 247 – HASP4 Time
Par2 Data – Un word de datos.
Valores devueltos
Par3 Status – Un código indicando el estado de la operación de
memoria. Vea “Códigos de status del API de HASP” en la
página 197.
Servicios HASP Memoria Parte 3 - Capítulo 12
156
Servicio 6: HaspID
Descripción Determina el número de identificación de HASP (ID Number).
Llaves Relacionadas HASP4 M1, HASP4 M4 y HASP4 Time
Sintaxis hasp (Servicio, SeedCode, LptNum, Password1, Password2,
Par1, Par2, Par3, Par4)
Parámetros Utilizados
Servicio 6
PortNum Valor que indica en qué puerto buscar HASP.
Password1 Primera password de HASP.
Password2 Segunda password de HASP.
Valores Devueltos
Par1 IDLow – Word bajo (el menos significativo) del
número ID.
Par2 IDHigh – Word alto (el más significativo) del
número ID.
Par3 Status – Un código indicando el estado de la
operación de memoria. Vea “Códigos de status del
API de HASP” en la página 197.
Comentarios El Número ID es un entero largo (32 bits). Se calcula como sigue, si IDLow y IDHigh son sin signo:
Número ID = IDLow + 65536 * IDHigh Si el IDLow y el IDHigh son con signo, necesitará compensar valores negativos añadiendo 65535.
Uso del API de HASP Servicios HASP Memoria
157
Servicio 50: ReadBlock Descripción Lee un bloque de datos de la memoria HASP.
Llaves Relacionadas HASP4 M1, HASP4 M4 y HASP4 Time
Sintaxis hasp (Servicio, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetro utilizados
Servicio 50
PortNum Valor que indica el puerto para la búsqueda de HASP
Password1Primera Password HASP
Password2Segunda Password HASP
Par1 Start Address – Define el inicio de la dirección de memoria de HASP para leer el bloque:
0 a 55 – HASP4 M1
0 a 247 – HASP4 M4
0 a 247 – HASP4 Time
Par2 Block length – El tamaño del bloque, en words.
Par3 Buffer segment – Dirección del segmento de un buffer de programa(variable).
Par4 Buffer Offset – Dirección del Offset de un buffer de programa(variable).
El tamaño del buffer debe ser como mínimo tan largo como el tamaño del bloque
Códigos Devueltos Par3 Status – Un código indicando el estado de la operación de memoria. Vea “Códigos de status del API de HASP” en la página 197.
Resultado El contenido de la memoria HASP es leído dentro del buffer de programa.
Servicios HASP Memoria Parte 3 - Capítulo 12
158
Servicio 51: WriteBlock Descripción Escribe un bloque de datos en la memoria HASP.
Llaves implicadas HASP4 M1, HASP4 M4, HASP4 Time
Sintaxis hasp (Servicio, SeedCode, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 51
PortNum Valor que indica el puerto para la búsqueda de HASP.
Password1 Primera password de HASP.
Password2 Segunda password de HASP.
Par1 Start Address – Define la dirección inicial de memoria HASP para escribir un bloque:
0 a 55 – HASP4 M1
0 a 247 – HASP4 M4
0 a 247 – HASP4 Time
Par2 Block length – El tamaño del bloque, en words.
Par3 Buffer segment – Dirección del segmento de un buffer de programa (variable).
De relevancia sólo para aplicaciones 16 bits
Par4 Buffer Offset – Dirección del Offset de un buffer de programa (variable).
El tamaño del buffer debe ser como mínimo tan largo como el tamaño del bloque.
Valores Devueltos
Par3 Status – Un código indicando el estado de la operación de memoria. Vea “Códigos de status del API de HASP” en la página 197.
Resultado Los contenidos del buffer del programa están escritos en la memoria HASP.
159
Parte 3 – Capítulo 13
Servicios HASP4 Time
Este capítulo describe los servicios del API de HASP aplicables para HASP4
Time. Cada servicio se describe en detalle.
La batería de HASP4 Time tiene una vida de 3-5 años. Al integrar el API con
HASP4 Time, se recomienda incorporar llamadas que comprueben el
funcionamiento del reloj en primer lugar y actuar consecuentemente cuando
éste se detenga.
La tabla 13.1 muestra los parámetros de la rutina hasp() para cada servicio.
Para cada servicio se asignan dos columnas en la tabla:
• La columna Llamada, C (Call), lista los parámetros que usted envía a la
rutina hasp().
• La columna Retorno, R, lista los parámetros que la rutina hasp()
devuelve.
Los valores de Par1, Par2, Par3, y Par4 cambian según el servicio.
Todos los parámetros son de 16 bits en aplicaciones de 16-bits y 32 bits en
aplicaciones de 32-bits.
êê Debido a que los sistemas Macintosh operan en Big Endian y los sistemas Intel en Little Endian, los valores de ReadWord y WriteWord son byte-swapped en Macintosh en relación con Intel.
Considérelo cuando lea y escriba en una llave HASP con estos servicios, o utilice los servicios ReadBlock y WriteBlock que operan Endian independientemente.
Servicios HASP4 Time Parte 3 - Capítulo 13
160
Tabla 13.1: Servicios HASP4 Time y sus Parámetros
Service (no.)
Seed
Cod
e
PortN
um
Pas
swor
d1
Pas
swor
d2
Par1
Par2
Par3
Par4
SetTime (70) C
PortN
um
Pas
swor
d1
Pas
swor
d2
Seg
undo
Min
uto
Hor
a
R
Stat
us
GetTime (71) C
PortN
um
Pas
swor
d1
Pas
swor
d2
R
Seg
undo
Min
uto
Stat
us
Hor
a
SetDate (72) C
PortN
um
Pas
swor
d1
Pas
swor
d2
Día
Mes
Año
R
Stat
us
GetDate (73) C
PortN
um
Pas
swor
d1
Pas
swor
d2
R
Día
Mes
Stat
us
Año
WriteByte (74) C
PortN
um
Pas
swor
d1
Pas
swor
d2
Dire
cció
n
Dat
os
Uso del API de HASP Servicios HASP4 Time
161
Service (no.)
Seed
Cod
e
PortN
um
Pas
swor
d1
Pas
swor
d2
Par1
Par2
Par3
Par4
R
Stat
us
ReadByte (75) C
PortN
um
Pas
swor
d1
Pas
swor
d2
Dire
cció
n
R
Dat
os
Stat
us
WriteBlock (76) C
PortN
um
Pas
swor
d1
Pas
swor
d2
Dire
cció
n de
Inic
io
Tam
año
del
Bloq
ue
Segm
ento
de B
uffe
r
Buf
fer
Offs
et
R
Stat
us
ReadBlock (77) C
PortN
um
Pas
swor
d1
Pas
swor
d2
Dire
cció
n de
Inic
io
Tam
año
del
Bloq
ue
Segm
ento
de B
uffe
r
Buf
fer
Offs
et
R
Stat
us
HaspID (78) C
LptN
um
Pas
swor
d1
Pas
swor
d2
R
IDLo
w
IDH
igh
Stat
us
ëë El parámetro Segmento de Buffer sólo es de relevancia para aplicaciones de 16 bits.
Servicios HASP4 Time Parte 3 - Capítulo 13
162
Servicio 70: SetTime
Descripción Pone en hora el reloj de HASP4 Time
Llaves implicadas HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 70
PortNum Valor que indica el puerto para la búsqueda de la llave.
Password1 Primera password HASP4 Time.
Password2 Segunda password HASP4 Time.
Par1 Second - Los segundos de la hora que desea fijar (00 a 59).
Par2 Minute - Minutos de la hora que desea fijar (00 a 59).
Par4 Hour - Horas de la hora que desea fijar (00 a 23).
Valores Devueltos
Par3 Status – Un código que indica el status de la operación. Véase “Códigos de Status del API de HASP” en la página 197.
Uso del API de HASP Servicios HASP4 Time
163
Servicio 71: GetTime
Descripción Consulta la hora del reloj HASP4 Time.
Llaves implicadas HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 71
PortNum Valor que indica el puerto para la búsqueda de la llave.
Password1 Primera password HASP4 Time.
Password2 Segunda password HASP4 Time.
Valores Devueltos
Par1 Second – Los segundos leídos del reloj HASP4 Time.
Par2 Minute – Los minutos leídos del reloj HASP4 Time.
Par3 Status – Un código que indica el status de la operación. Véase “Códigos de Status del API de HASP” en la página 197.
Servicios HASP4 Time Parte 3 - Capítulo 13
164
Servicio 72: SetDate
Descripción Fija la fecha en el reloj de HASP4 Time
Llaves implicadas HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 72
PortNum Valor que indica el puerto para la búsqueda de la llave.
Password1 Primera password HASP4 Time.
Password2 Segunda password HASP4 Time.
Par1 Day – Día que desea fijar en el reloj HASP4 Time (1 a 31).
Par2 Month – Mes que desea fijar en el reloj HASP4 Time (1 a 12).
Par4 Year – Año que desea fijar en el reloj HASP4 Time (0 a 99).
Valores Devueltos
Par3 Status – Un código que indica el status de la operación. Véase “Códigos de Status del API de HASP” en la página 197.
Comentarios El rango de Años es de 0 a 99, donde 92 a 99 se refiere a los años 1992-1999, y 00 a 91 a 2000-2091.
Uso del API de HASP Servicios HASP4 Time
165
Servicio 73: GetDate
Descripción Obtiene la fecha del reloj HASP4 Time.
Llaves implicadas HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros Utilizados
Servicio 73
PortNum Valor que indica el puerto para la búsqueda de la llave.
Password1 Primera password HASP4 Time.
Password2 Segunda password HASP4 Time.
Valores Devueltos
Par1 Day – Día leído del reloj HASP4 Time (1 a 31).
Par2 Month – Mes leído del reloj HASP4 Time (1 a 12).
Par3 Status – Un código que indica el status de la operación. Véase “Códigos de Status del API de HASP” en la página 197.
Par4 Year – Año leído del reloj HASP4 Time (0 a 99).
Comentarios El rango de años es de 0 a 99, donde 92 a 99 se refieren a 1992-1999, y 00 a 91 a 2000-2091.
Servicios HASP4 Time Parte 3 - Capítulo 13
166
Servicio 74: WriteByte
Descripción Escribe un byte de datos en la memoria HASP4 Time.
Llaves implicadas HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros Utilizados
Servicio 74
PortNum Valor que indica el puerto para la búsqueda de la llave.
Password1 Primera password HASP4 Time.
Password2 Segunda password HASP4 Time.
Par1 Address – La dirección de memoria HASP4 Time en la que desea escribir (0 a 15).
Par2 Data – Un byte de datos.
Valores Devueltos
Par3 Status – Un código que indica el status de la operación. Véase “Códigos de Status del API de HASP” en la página 197.
Comentarios Este servicio escribe en la memoria de 16-bytes de HASP4 Time. Para escribir las 248 words de la memoria HASP4 Time, use el Servicio 4 (página 155)
Uso del API de HASP Servicios HASP4 Time
167
Servicio 75: ReadByte
Descripción Lee un byte de datos de la memoria HASP4 Time.
Llaves implicadas HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros Utilizados
Servicio 75
PortNum Valor que indica el puerto para la búsqueda de la llave.
Password1 Primera password HASP4 Time.
Password2 Segunda password HASP4 Time.
Par1 Address – La dirección de memoria HASP4 Time en la que desea leer (0 a 15).
Valores Devueltos
Par2 Data – Un byte de datos leído de la memoria HASP4 Time.
Par3 Status – Un código que indica el status de la operación. Véase “Códigos de Status del API de HASP” en la página 197.
Comentarios Este servicio lee los 16 bytes de la memoria HASP4 Time. Para leer las 248 words de memoria de HASP4 Time, use el Servicio 3 (página 154).
Servicios HASP4 Time Parte 3 - Capítulo 13
168
Servicio 76: WriteBlock
Descripción Escribe un bloque de datos en la memoria HASP4 Time.
Llaves implicadas HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros Utilizados
Servicio 76
PortNum Valor que indica el puerto para la búsqueda de la llave.
Password1 Primera password HASP4 Time.
Password2 Segunda password HASP4 Time.
Par1 Start Address – Define la dirección de memoria inicial para escribir un bloque (0 a 15).
Par2 Block length – Tamaño, en bytes, del bloque de datos (el máximo es 16).
Par3 Buffer segment– Dirección de Segmento de un buffer de programa (variable). De relevancia únicamente en aplicaciones de 16 – bits.
Par4 Buffer Offset – Dirección Offset de un programa de buffer (variable). De relevancia únicamente en aplicaciones de 16 – bits.
Valores devueltos
Par3: Status – Un código que indica el status de la operación. Véase “Códigos de Status del API de HASP” en la página 197.
Comentarios Este servicio escribe un bloque en la memoria de 16 bytes de HASP4 Time. Para escribir un bloque de datos en la memoria de 248 words de HASP4 Time, use el Servicio 51 (página 158).
Uso del API de HASP Servicios HASP4 Time
169
Servicio 77: ReadBlock
Descripción Lee un bloque de datos de la memoria HASP4 Time.
Llaves implicadas HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 77
PortNum Valor que indica el puerto para la búsqueda de la llave.
Password1 Primera password HASP4 Time.
Password2 Segunda password HASP4 Time.
Par1 Start Address – dirección inicial de la memoria HASP4 Time para leer un bloque (0 a 15).
Par2 Block length – El tamaño, en bytes, del bloque de datos (máximo 16).
Par3 Buffer segment – Dirección del Segmento del buffer De relevancia sólo en aplicaciones 16 bits.
Par4 Buffer Offset – Dirección Offset de un buffer de programa (variable). El tamaño del buffer debe ser al menos tan largo como el tamaño del bloque.
Valores Devueltos
Par3 Status – Un código que indica el status de la operación. Véase “Códigos de Status del API de HASP” en la página 197.
Comentarios Este servicio lee un bloque de la memoria de 16-byte de HASP4 Time. Para leer un bloque de la memoria de 248 words de HASP4 Time, use el Servicio 50 (página 157).
Servicios HASP4 Time Parte 3 - Capítulo 13
170
Servicio 78: HaspID
Descripción Determina el Número ID de HASP4 Time.
Llaves implicadas HASP4 Time
Sintaxis hasp (Servicio, CódigoSemilla, LptNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 78
PortNum Valor que indica el puerto para la búsqueda de la llave.
Password1 Primera password HASP4 Time.
Password2 Segunda password HASP4 Time.
Valores Devueltos
Par1 IDLow – Palabra inferior (menos significante) del ID Number.
Par2 IDHigh – Palabra superior (más significante) del Número ID.
Par3 Status – Un código que indica el status de la operación. Véase “Códigos de Status del API de HASP” en la página 197.
Comentarios El Número ID es un entero (32 bits). Donde IDLow y IDHigh no tienen signo.
Número ID = IDLow + 65536 * IDHigh,
Si IDLow e IDHigh son con signo, deberá compensar los valores negativos sumando 65535.
171
Parte 3 – Capítulo 14
Servicios HASP4 Net
Este capítulo describe los servicios del API de HASP para HASP4 Net. Cada
uno de los servicios se describe con detalle.
La Tabla 14.1 “Servicios y Parámetros HASP4 Net” de la página 173 lista
los parámetros de la rutina hasp() para cada servicio. A cada servicio listado
en la siguiente tabla se le asignan dos filas:
• La fila Call, C, lista los parámetros que se envían a la rutina hasp().
• La fila Return, R, rutina hasp(), lista los parámetros que devuelve la
rutina hasp().
Los valores de Par1, Par2, Par3, y Par4 cambian según el servicio.
Todos los parámetros son de 16 bits en las aplicaciones 16-bits y de 32 bits
en las aplicaciones de 32-bits.
Servicios HASP4 Net Parte 3 - Capítulo 14
172
Uso de los servicios HASP4 Net El API de HASP4 Net requiere que algunos servicios sean llamados de
forma secuencia, cómo se describe a continuación:
1. De forma opcional, llame a la rutina hasp() con el servicio
SetConfigFilename y a continuación con el servicio LastStatus.
2. Opcionalmente, llame a la rutina hasp() con el servicio
SetServerByName y a continuación con LastStatus
3. Llame a la rutina hasp() con el servicio Login y a continuación con el
servicio LastStatus.
4. Cuando llame al servicio Login, ya puede llamar a cualquier servicio
HASP4 Net. Después de cada llamada a un servicio, llame a la rutina
hasp() con el servicio LastStatus.
5. Llame a la rutina hasp() con el servicio Logout y seguidamente con el
servicio LastStatus.
êê Bajo el protocolo TCP/IP, una aplicación Windows 16-bits que
llama a la rutina hasp() obtiene control automáticamente
mientras la rutina se está procesando. El control se toma a través
del bucle de mensajes de la aplicación en lugar de a través de la
siguiente instrucción después de llamar a la rutina hasp().
No llame a la rutina hasp() de nuevo hasta que se recupere el
control a través de la siguiente instrucción a la llamada. Si lo
hace, la aplicación se bloqueará. Para evitar esta situación, utilice
marcas para prevenir nuevas llamadas a la rutina hasp()
mientras se procesa la llamada previa.
Uso del API de HASP Servicios HASP4 Net
173
Tabla 10.1: Servicios HASP4 Net y sus correspondientes parámetros
Service (no.)
See
d
Cod
e
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2 Par
1
Par
2
Par
3
Par
4
LastStatus (40) C
R
Est
ado
de
la re
d
Err
or d
el
Sis
tem
a
Cód
igo
de
avis
o
Login (42) C C
ódig
o
Sem
illa
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2
R
Logout (43) C
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2
R
ReadWord (44) C
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2 Dire
cció
n
R
Dat
os
Sta
tus
WriteWord (45) C
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2 Dire
cció
n
Dat
os
R
Sta
tus
Servicios HASP4 Net Parte 3 - Capítulo 14
174
Service (no.)
See
d
Cod
e
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2 Par
1
Par
2
Par
3
Par
4
HaspID (46) C
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2
R ID
Low
IDH
igh
Sta
tus
IdleTime (48) C
Tiem
po
deso
cupa
do
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2
R
ReadBlock (52) C
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2 Dire
cció
n
Inic
ial
Long
itud
del b
loqu
e
Seg
men
to
del B
uffe
r
Buf
fer
Offs
et
R
Sta
tus
WriteBlock (53) C
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2 Dire
cció
n
Inic
ial
Long
itud
del b
loqu
e
Seg
men
to
del B
uffe
r
Buf
fer
Offs
et
R
Sta
tus
SetConfigFilename (85) C
Tam
año
del B
uffe
r
Seg
men
to
del B
uffe
r
Buf
fer
Offs
et
R
Uso del API de HASP Servicios HASP4 Net
175
Service (no.)
See
d
Cod
e P
rogN
um
Pas
swor
d
1 Pas
swor
d
2 Par
1
Par
2
Par
3
Par
4
HaspEncodeData
(88)
C
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2 Tam
año
del B
uffe
r
Seg
men
to
del B
uffe
r
Buf
fer
Offs
et
R
Sta
tus
HaspDecodeData
(89)
C P
rogN
um
Pas
swor
d
1 Pas
swor
d
2 Tam
año
del B
uffe
r
Seg
men
to
del B
uffe
r
Buf
fer
Offs
et
R
Sta
tus
SetServerByName (96) C
Tam
año
del B
uffe
r
Seg
men
to
del B
uffe
r
Buf
fer
Offs
et
R
HaspQueryLicense C
Pro
gNum
Pas
swor
d
1 Pas
swor
d
2
R
Lice
ncia
s
Activ
as
Lice
ncia
s
Máx
imas
Tipo
de
Llav
e
Act
ivac
ione
s
Servicios HASP4 Net Parte 3 - Capítulo 14
176
Servicio 40: LastStatus
Descripción Comprueba el estado de la llamada previa a la rutina hasp(). Llame a hasp() con el servicio LastStatus después de cada llamada con uno de los servicios HASP4 Net.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 40
Par1 Net Status - Un código que indica el estado de la llamada previa a la rutina hasp(). Devuelve un 0 si la última llamada se realizó correctamente.
Si no es así, devuelve un código de error – consulte la tabla 15.3 “Códigos de Status HASP4 Net” en la página 200.
Par2 System error - Un código de error que depende del contexto. Por ejemplo:
• Un error de comunicación de NetBIOS devuelve un código de error específico de NetBIOS.
• Un error en el archivo de configuración HASP4 Net retorna el número de línea del archivo de configuración donde se encuentra el error.
Par3 Warning – Un código de aviso. Vea la tabla 15.4 “Códigos de aviso de HASP4 Net” en la página 204.
Comentarios Si ocurre un error, su aplicación debe mostrar en pantalla el Net status, System Error y Warning.
Uso del API de HASP Servicios HASP4 Net
177
Servicio 42: Login
Descripción Ejecute un login HASP4 Net. La aplicación protegida accede al Administrador de Licencias HASP solicitando una licencia.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 42
ProgNum El número asignado a la aplicación en la memoria HASP4 Net, mediante la utilidad HaspEdit. Vea “Acceso a las llaves con HASP Edit” en la página 73.
Password1 Primera password HASP4 Net.
Password2 Segunda password HASP4 Net.
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Comentarios Para una descripción del proceso de login, vea “Cómo trabaja HASP4 Net” en la página 210.
A excepción de SetConfigFilename, SetServerByName, y LastStatus, llame a login antes que a otro servicio.
Si llama a la rutina hasp() con el servicio login más de una vez desde la misma estación, el Administrador de Licencias HASP no añade la estación y la aplicación a la tabla log una segunda vez. En otras palabras, el Administrador de Licencias HASP no consume una licencia adicional de la aplicación.
Si no se apagó adecuadamente el PC, al reiniciar la aplicación protegida está listada en la tabla log y el Administrador de Licencias HASP4 Net no consume una licencia adicional.
Servicios HASP4 Net Parte 3 - Capítulo 14
178
Múltiples procesos Win32 bajo Windows NT o Windows 95/98/ME toman sólo una licencia con un solo protocolo, o cuando NetBIOS e IPX son utilizados en combinación. Sin embargo, estos procesos bajo estos sistemas operativos toman dos licencias si TCP/IP es utilizado junto con NetBIOS y/o IPX.
Uso del API de HASP Servicios HASP4 Net
179
Servicio 43: Logout
Descripción Realiza un logout de HASP4 Net. Cuando llama a hasp() con el servicio logout, el Administrador de Licencias HASP borra la estación y la aplicación de la tabla de log HASP4 Net. Como resultado, se libera una licencia.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 43
ProgNum El número asignado a la aplicación en la memoria HASP4 Net mediante la utilidad HaspEdit. Vea “Acceso a las llaves con HASP Edit” en la página 73.
Password1 Primera password HASP4 Net.
Password2 Segunda password HASP4 Net.
Valores devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Comentarios
El comportamiento del logout es el siguiente:
• Las aplicaciones Win32 requieren un logout por cada login.
• Las aplicaciones Mac requieren un solo logout independientemente del número de logins.
Si no se realiza un logout HASP4 Net, la estación permanece listada en la tabla log de HASP4 Net. En este caso el comportamiento es el siguiente:
Servicios HASP4 Net Parte 3 - Capítulo 14
180
• El número de estaciones ejecutando la aplicación al mismo tiempo permanece inalterado y no se libera una licencia. Si ha autorizado a una aplicación protegida a funcionar en n estaciones, y n estaciones han realizado un login HASP4 Net, ninguna otra estación puede ejecutar la aplicación hasta que una de esas n estaciones realice un logout HASP4 Net.
• Si la misma estación reactiva la aplicación, la aplicación funciona utilizando la licencia que ya ha sido concedida.
* Cuando el número de estaciones ejecutando una aplicación protegida alcanza el máximo y hay un intento de activar la aplicación desde otra estación, el Administrador de Licencias HASP busca en la tabla log una estación inactiva. Si encuentra una, el Administrador de Licencias HASP elimina la estación inactiva de la tabla log de HASP. Como resultado, libera una licencia e inmediatamente la concede a la estación que realizó la solicitud. Por defecto, el tiempo para considerar inactiva una estación es de 36 horas. Puede cambiar este valor mediante el servicio 48: IdleTime (página 184).
Uso del API de HASP Servicios HASP4 Net
181
Servicio 44: ReadWord Descripción Lee un word de datos de la memoria HASP4 Net.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 44
ProgNum El número asignado a la aplicación en la memoria HASP4 Net mediante la utilidad HASP Edit. Vea “Acceso a las llaves con HASP Edit” en la página 73.
Password1 Primera password HASP4 Net.
Password2 Segunda password HASP4 Net.
Par1 Address - La dirección de memoria HASP4 Net desde la que desea leer (0 a 247).
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Par2 Data Datos leídos de la memoria HASP4 Net.
Par3 Status – Código que indica el status de la operación. Vea “Códigos de Status del API de HASP” en la página 197.
Servicios HASP4 Net Parte 3 - Capítulo 14
182
Servicio 45: WriteWord Descripción Escribe un word de datos en la memoria HASP4 Net.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 45
ProgNum
Password1 Primera password HASP4 Net.
Password2 Segunda password HASP4 Net.
Par1 Address - La dirección de memoria HASP4 Net donde quiere escribir (0 a 247).
Par2 Data - Una palabra de datos.
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Par3 Status – Código que indica el status de la operación. Vea “Códigos de Status del API de HASP” en la página 197.
Comentarios Los offsets de los words 24 y posteriores de la memoria HASP4 Net están reservados para la lista de programa HASP4 Net. Si quiere escribir en alguno de esos offsets, puede sobrescribir los parámetros de protección que ha salvado previamente en el área de memoria.
Uso del API de HASP Servicios HASP4 Net
183
Servicio 46: HaspID
Descripción Determina el número ID de HASP4 Net (ID Number).
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio , SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 46
ProgNum El número asignado a la aplicación en la memoria HASP4 Net mediante la utilidad HASP Edit. Véase “Acceso a las llaves con HASP Edit” en la página 73.
Password1 Primera password HASP4 Net.
Password2 Segunda password HASP4 Net.
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Par1 IDLow - Word inferior (el menos significativo) del número ID
Par2 IDHigh - Word superior (el más significativo) del número ID
Par3 Status - Un código que indica el status de la operación. Vea “Códigos de Status del API de HASP en la página 197.
Comentarios El número de identificación es un entero largo (32 bits). Se calcula como sigue, si IDLow e IDHigh son sin signo.
Número ID = IDLow + 65536 * IDHigh,
Si IDLow e IDHigh son con signo, necesita compensar el valor negativo sumando 65535.
Servicios HASP4 Net Parte 3 - Capítulo 14
184
Servicio 48: IdleTime
Descripción Controla las estaciones que no utilizan una aplicación protegida. Con IdleTime, se especifica una franja de tiempo. Si la estación que utiliza la aplicación protegida no accede a HASP4 Net dentro de este tiempo, el Administrador de Licencias HASP considera la estación como inactiva.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, IdleTime, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados Servicio 48
IdleTime La franja de tiempo en minutos (0 a 65535).
Una estación que no accede a la llave durante este espacio de tiempo se considera inactiva.
ProgNum El número asignado a la aplicación en la memoria HASP4 Net mediante la utilidad HASP Edit. Véase “Acceso a las llaves con HASP Edit” en la página 73.
Password1 Primera password HASP4 Net.
Password2 Segunda password HASP4 Net.
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Comentarios
Cuando el número de estaciones ejecutando una aplicación protegida ha alcanzado su máximo y se intenta activar la aplicación desde otra estación, el Administrador de Licencias HASP busca en la tabla log una estación inactiva. Si encuentra una, el Administrador de Licencias HASP borra la estación inactiva de la tabla log de HASP. Como resultado, se libera una licencia que se asigna a la estación que realizó un login.
Uso del API de HASP Servicios HASP4 Net
185
La aplicación protegida, funcionando en la estación que fue eliminada de la tabla log, retornará un código de error (error 135 ó 139) la próxima vez que intenta acceder a HASP4 Net.
Cuando una estación accede al HASP4 Net durante la franja de idletime, el contador se pone a cero.
Para integrar IdleTime, llame a la rutina hasp() con el servicio IdleTime después de un servicio login. Si no fija el idletime, el Administrador de Licencias HASP utiliza su valor predeterminado, que es de 36 horas.
Servicios HASP4 Net Parte 3 - Capítulo 14
186
Servicio 52: ReadBlock
Descripción Lee un bloque de datos de la memoria HASP4 Net.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 52
ProgNum El número asignado a la aplicación en la memoria HASP4 Net mediante la utilidad HASP Edit. Véase “Acceso a las llaves con HASP Edit” en la página 73.
Password1 Primera password HASP4 Net.
Password2 Segunda password HASP4 Net.
Par1 Start Address - Define la dirección inicial de memoria HASP4 Net para leer el bloque (0 a 247).
Par2 Block Size - Tamaño del bloque de datos en words (máximo 24 words).
Par3 Buffer segment - Dirección del segmento de un buffer de programa (variable). De relevancia sólo en aplicaciones de 16 bits
Par4 Buffer Offset – Dirección Offset de un buffer de programa (variable). El tamaño del buffer debe ser al menos tan largo como el tamaño del bloque.
Uso del API de HASP Servicios HASP4 Net
187
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Par3 Status - Un código que indica el status de la operación. Vea “Códigos de Status del API de HASP en la página 197.
Servicios HASP4 Net Parte 3 - Capítulo 14
188
Servicio 53: WriteBlock
Descripción Escribe un bloque de datos en la memoria HASP4 Net.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 53
ProgNum El número asignado a la aplicación en la memoria HASP4 Net mediante la utilidad HASP Edit. Véase “Acceso a las llaves con HASP Edit” en la página 73.
Password1 Primera password HASP4 Net.
Password2 Segunda password HASP4 Net.
Par1 Start Address - Define la dirección inicial de la memoria HASP4 Net para escribir un bloque (0 a 247).
Par2 Block Size - Tamaño del bloque de datos en words (máximo 24 words).
Par3 Buffer segment - Dirección del segmento de un buffer de programa (variable).
No necesita especificar el parámetro del segmento del buffer para aplicaciones de 32-bits.
Par4 Buffer Offset - Dirección Offset de un buffer de programa (variable). El tamaño del buffer debe ser al menos tan largo como el tamaño del bloque.
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Uso del API de HASP Servicios HASP4 Net
189
Comentarios Los offsets del word 24 en delante de la memoria HASP4 Net están reservados para el listado de programas HASP4 Net.
Si escribe en cualquier de estos offsets, se podrían sobrescribir los parámetros de protección que ha guardado previamente en esta área de memoria.
Servicios HASP4 Net Parte 3 - Capítulo 14
190
Servicio 85: SetConfigFilename
Descripción Fija el nombre del archivo de configuración de HASP4 Net. El archivo de configuración de HASP4 Net contiene parámetros de ajuste para la aplicación protegida.
Llaves Implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 85
Par2 Buffer Size - El tamaño en bytes del buffer que contiene el nombre del archivo de configuración HASP4 Net.
Par3 Buffer Segment - La dirección del segmento del buffer que contiene el nombre del archivo de configuración de HASP4 Net. De relevancia sólo para aplicaciones 16 bits.
Par4 Buffer Offset - La dirección offset del buffer que contiene el nombre del archivo de configuración de HASP4 Net.
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Comentarios Si utiliza el servicio SetConfigFilename, llámelo antes de realizar un login HASP4 Net. Si no usa el SetConfigFilename, la aplicación protegida o bien no utiliza un archivo de configuración de HASP4 Net, o utiliza el archivo por defecto llamado nethasp.ini si lo encuentra. Para más información sobre el archivo de configuración HASP4 Net, vea “Configuración de clientes HASP4 Net” (página 247).
Uso del API de HASP Servicios HASP4 Net
191
Servicio 88: HaspEncodeData
Descripción Codifica datos a través de HASP4 Net.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 88
ProgNum El número asignado a la aplicación en la memoria HASP4 Net mediante la utilidad HASP Edit. Véase “Acceso a las llaves con HASP Edit” en la página 73.
Password1 Primera Password HASP4 Net
Password2 Segunda Password HASP4 Net
Par1 0 (reservado)
Par2 Buffer Size- El tamaño en bytes del buffer a codificar. Debe tener al menos 8 bytes de tamaño.
Par3 Buffer Segment - La dirección del segmento del buffer. De relevancia sólo en aplicaciones 16 bits.
Par4 Buffer Offset - La dirección offset del buffer.
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Par3 Status - Un código que indica el status de la operación. Vea “Códigos de Status del API de HASP” en la página 197.
Comentarios El contenido del buffer de programa se codifica a través de la HASP conectada y se actualiza sobre el terreno.
Servicios HASP4 Net Parte 3 - Capítulo 14
192
Este servicio sólo puede usarse con la generación HASP4 de llaves HASP. Si hay una llave anterior a la generación HASP4 conectada, los datos no se codificarán y el servicio devolverá un código de error.
Este servicio no está disponible para aplicaciones DOS.
Si los datos se codifican con una aplicación Win16, el tamaño máximo del buffer es 64K. Los datos codificados con una aplicación Win32 que excedan las 64K no podrán decodificarse desde el API Win16.
La codificación durante la ejecución debe reducirse al mínimo. En su lugar, entregue al usuario final archivos y datos codificados previamente para su decodificación. Vea el capítulo 13 para mayor información.
Uso del API de HASP Servicios HASP4 Net
193
Servicio 89: HaspDecodeData
Descripción Decodifica datos a través de HASP4 Net.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 89
ProgNum El número asignado a la aplicación en la memoria HASP4 Net mediante la utilidad HASP Edit. Véase “Acceso a las llaves con HASP Edit” en la página 73.
Password1 Primera Password HASP4 Net
Password2 Segunda Password HASP4 Net
Par1 0 (reservado)
Par2 Buffer Size- El tamaño en bytes del buffer a codificar. Debe tener al menos 8 bytes de tamaño.
Par3 Buffer Segment - La dirección del segmento del buffer. De relevancia sólo en aplicaciones 16 bits.
Par4 Buffer Offset - La dirección offset del buffer.
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Par3 Status - Un código que indica el status de la operación. Vea “Códigos de Status del API de HASP” en la página 197.
Comentarios El contenido del buffer de programa se decodifica a través de la HASP conectada y se actualiza sobre el terreno
Servicios HASP4 Net Parte 3 - Capítulo 14
194
Este servicio sólo puede usarse con la generación HASP4 de llaves HASP. Si hay una llave anterior a la generación HASP4 conectada, los datos no se decodificarán y el servicio devolverá un código de error.
Si los datos se decodifican con una aplicación Win16, el tamaño máximo del buffer es 64K. Los datos codificados con una aplicación Win32 que excedan las 64K no podrán decodificarse desde el API Win16.
Uso del API de HASP Servicios HASP4 Net
195
Servicio 96: SetServerByName
Descripción Especifica el nombre del Administrador de Licencias HASP e instruye a la aplicación protegida para comunicarse con el Administrador de Licencias HASP específico.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados Servicio 96
Par2 Buffer Size - El tamaño en bytes del buffer con el nombre del Administrador de Licencias HASP.
Par3 Buffer Segment - La dirección del segmento del buffer que contiene el nombre del Administrador de Licencias HASP. No es necesario especificar el parámetro del segmento del buffer para aplicaciones de 32-bits.
Par4 Buffer Offset - La dirección offset del buffer con el nombre del Administrador de Licencias HASP.
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Comentarios Si llama a la rutina hasp() con el servicio SetServerByName, hágalo antes de realizar un login HASP4 Net.
Para nombrar un Administrador de Licencias HASP, cárguelo con el switch –srvname, vea “Parámetros del Administrador de Licencias HASP” (página 236).
Cuando una aplicación llama a la rutina hasp() con SetServerByName, la rutina busca un Administrador de Licencias HASP cargado con el nombre especificado. Si encuentra uno, la rutina hasp() almacena la ubicación del Administrador de Licencias HASP. Cuando la aplicación realiza un login HASP4 Net, se accede al Administrador de Licencias HASP de la ubicación guardada.
El nombre del Administrador de Licencias HASP puede ser de hasta siete caracteres.
Servicios HASP4 Net Parte 3 - Capítulo 14
196
Servicio 104: HaspQueryLicense
Descripción Averigua los atributos actuales de la licencia desde la HASP4 Net.
Llaves implicadas HASP4 Net
Sintaxis hasp (Servicio, SeedCode, ProgNum, Password1, Password2, Par1, Par2, Par3, Par4)
Parámetros utilizados
Servicio 104
ProgNum El número asignado a la aplicación en la memoria HASP4 Net con la utilidad HASP Edit. Vea “Acceso a las llaves con HASP Edit” en la página 73.
Password1 Primera Password HASP4 Net
Password2 Segunda Password HASP4 Net
Valores Devueltos Use el Servicio 40: LastStatus (página 176) para comprobar si la llamada se ha realizado correctamente.
Par1 Número de licencias activas actualmente (usuarios concurrentes) para ese ProgNum
Par2 Máximo número de licencias disponibles para ese ProgNum
Par3 Tipo de llave HASP4 Net
Par4 Número de activaciones restantes para ese ProgNum (-1 = ilimitadas).
197
Parte 3 – Capítulo 15
Códigos de Status del API de HASP
Cuando utiliza el API para acceder a HASP, la rutina hasp () devuelve un
código de status en Par3. Las siguientes tablas enumeran los códigos de
status devueltos según el tipo de llave HASP que esté utilizando.
Tabla 15.1: Códigos de Status para todas las llaves HASP
Código Descripción
0 Operación realizada con éxito.
-1 Time-out: error en una operación de escritura.
-2 La dirección indicada no está dentro del rango.
-3 No se ha encontrado una HASP con la password indicada.
-4 Se encontró una HASP pero no es una HASP de memoria.
-5 Error en una operación de escritura.
-6 El puerto paralelo no está actualmente disponible. Otro dispositivo conectado a él, como una impresora, está activo. Reintente una llamada desde el API tras unos segundos.
Códigos de Status del API de HASP Parte 3 - Capítulo 15
198
Código Descripción
-7 El tamaño del buffer es muy pequeño. Este error ocurre únicamente con los servicios que requieren un tamaño mínimo de buffer.
-8 El hardware no soporta el servicio solicitado. Este servicio requiere una llave de la generación HASP4 conectada
-9 Puntero no válido. El puntero enviado al servicio no es válido
-10 Acceso a la llave prohibido porque la aplicación está trabajando a través de una pantalla remota en Citrix Winframe o Windows Terminal Server (la aplicación sólo funciona en la pantalla de consola)
-11 Acceso a la llave prohibido porque la aplicación está trabajando a través de una pantalla remota en Citrix Winframe o Windows Terminal Server (se requiere Service Pack 4 + para detectar si está trabajando en la consola).
-12 Se envió al servicio un parámetro no válido o fuera de rango.
-100 No puede abrir el HASP Device Driver
De aplicación para aplicaciones Win32.
Instale el HASP Device Driver
-101 No puede abrir el HASP Device Driver
De aplicación para aplicaciones Win32
-102 No puede cerrar el HASP Device Driver
De aplicación para aplicaciones Win32
-110 No puede abrir el HASP Device Driver
De aplicación a aplicaciones DOS, DOS Extender, y Windows que tratan de acceder al HASP Device Driver.
Instale el HASP Device Driver
-111 No puede leer el HASP Device Driver
De aplicación a aplicaciones DOS, DOS Extender, y Windows que tratan de acceder al HASP Device Driver.
Uso del API de HASP Códigos de Status del API de HASP
199
Código Descripción
-112 No puede cerrar el HASP Device Driver
De aplicación a aplicaciones DOS, DOS Extender, y Windows que tratan de acceder al HASP Device Driver.
-120 No puede ubicar memoria DOS
De aplicación para aplicaciones DOS Extender y Windows con llaves monopuesto
Trate de liberar memoria.
-121 Error liberando memoria DOS
De aplicación para aplicaciones DOS Extender y Windows con llaves monopuesto
-999 Servicio no válido
Códigos de Status para HASP4 Time Tabla 15.2 Códigos de Status para HASP4 Time
Código Descripción
0 Operación realizada con éxito.
-20 Día no válido.
-21 Mes no válido.
-22 Año no válido.
-23 Segundos no válidos.
-24 Minutos no válidos.
-25 Horas no válidas.
-26 Dirección no válida: la dirección no está dentro del rango 0 a 15.
-27 Time-out: error en una operación de escritura.
-28 No se encontró una HASP con las passwords especificadas.
-29 Se encontró una llave HASP pero no es una HASP4 Time.
Códigos de Status del API de HASP Parte 3 - Capítulo 15
200
Códigos LastStatus de HASP4 Net Cuando llama a la rutina hasp() con el servicio LastStatus de HASP4 Net, la
rutina hasp() retorna un código de status en Par1 (NetStatus), con el status
de la llamada anterior. Si ocurre un error que depende del contexto, recibirá
en Par2 (Error de Sistema) cuando llame a LastStatus. La rutina hasp()
también puede devolver un código de alerta en Par3.
Cuando la rutina hasp() retorna un error, la ejecución del servicio se detiene y
no se completa.
Los códigos LastStatus se dividen en dos grupos:
Códigos de Status 1 a 127 – indican errores en las comunicaciones entre la
aplicación protegida y el Administrador de Licencias HASP, o errores en los
parámetros que ha enviado a la rutina hasp().
Códigos de Status 129 a 151 – indican errores que ocurren después de
establecerse la comunicación entre cliente y servidor.
La siguiente tabla enumera los posibles valores de Par1 (NetStatus).
Tabla 15.3: Códigos NetStatus de HASP4 Net
Código Descripción
0 Operación realizada con éxito.
1 Los protocolos IPX, NetBIOS, o TCP/IP no se han instalado adecuadamente, actúe en consecuencia.
2 Error de comunicaciones; no es posible obtener el número de socket (de aplicación para IPX y TCP/IP).
Verifique que el protocolo está bien instalado.
3 Error de comunicaciones.
NetBIOS no puede establecer la sesión.
IPX no puede obtener la dirección del Administrador de licencias HASP. Verifique que el protocolo está bien instalado.
TCP/IP no puede conectar con el servidor. Verifique que la dirección del servidor es correcta.
Uso del API de HASP Códigos de Status del API de HASP
201
Código Descripción
4 No se encontró el Administrador de Licencias HASP.
Compruebe que su aplicación tiene acceso al archivo de dirección.
5 No puede leer el archivo de dirección del Administrador de Licencias HASP.
6 No pudo cerrar el archivo de dirección del Administrador de Licencias HASP.
7 Error de Comunicación en envío de un paquete (aplicable a IPX y NetBIOS). Verifique que el protocolo está bien instalado.
8 Sin respuesta del Administrador de Licencias HASP. IPX – la red está ocupada o se han encontrado archivos de dirección incorrectos. En el último caso, borre todas las copias de los archivos haspaddr.dat y newhaddr.dat.
10 Ha llamado a la rutina hasp() con uno de los servicios, sin llamar antes al servicio login.
11 Error de Comunicación de adaptador (de aplicación sólo para NetBIOS). Verifique que el protocolo está bien instalado.
15 No se encontró activo el Administrador de Licencias HASP.
18 No puede realizar un login de HASP4 Net debido a una llamada SetServerByName infructuosa.
19 Error de sintaxis en el archivo de configuración. El servicio LastStatus retorna el número de la línea que contiene el error en Par2. Si LastStatus devuelve 0 en Par2, existe un valor ilegal en una variable de entorno.
20 Error en el manejo del archivo de configuración HASP. Una operación de archivo de tipo “abrir archivo” o “ leer archivo” ha fallado. El servicio LastStatus retorna el código de error de sistema en Par2.
Códigos de Status del API de HASP Parte 3 - Capítulo 15
202
Código Descripción
21 HASP4 Net no pudo encontrar memoria disponible. Este error se produce únicamente en entornos HASP4 Net bajo DOS extendido y Windows. Trate de liberar memoria DOS.
22 HASP4 Net no pudo liberar memoria DOS. Este error se produce únicamente en entornos HASP4 Net bajo DOS extendido y Windows.
23 Dirección de memoria HASP4 Net no válida.
25 Error al cargar winsock.dll (de aplicación sólo a TCP/IP e IPX).
26 Error al descargar winsock.dll (de aplicación sólo a TCP/IP e IPX).
28 Error al iniciar winsock.dll (de aplicación sólo a TCP/IP e IPX).
30 Fallo al cerrar un socket (de aplicación sólo con TCP/IP)
33 Se ha solicitado el servicio SetProtocol sin realizar un logout.
34 Acceso prohibido a la llave debido a que se está trabajando en Citrix Winframe o Windows Terminal Server (se requiere Service Pack 4+ para detectar si se está trabajando en la pantalla de consola).
129 La HASP4 Net conectada al Administrador de Licencias HASP no es correcta
130 El número de programa especificado no está en la lista de programas de la memoria HASP4 Net.
131 Error de lectura de la memoria HASP4 Net.
132 Error de escritura de la memoria HASP4 Net.
133 El login actual excede el número de estaciones autorizadas para ejecutar la aplicación simultáneamente.
134 El login actual excede el número de ejecuciones autorizadas para la aplicación.
Uso del API de HASP Códigos de Status del API de HASP
203
Código Descripción
135 Ha llamado a la rutina hasp() con el servicio Logout sin llamar antes al servicio Login.
136 El Administrador de Licencias HASP esta saturado, esto puede ocurrir si su sistema HASP4 Net no está bien adaptado a la red.
137 No hay espacio en la tabla log HASP.
138 Error interno de HASP4 Net, el número de estaciones autorizadas es mayor que el número de estaciones que soporta el modelo HASP4 Net instalado.
139 El PC con la llave HASP4 Net se ha reiniciado, o se ha llamado a la rutina hasp() con un servicio (excluyendo los servicios 40,85 ó 96) sin llamar previamente al servicio login.
140 El Administrador de Licencias HASP no sirve a la red de su estación.
141 Servicio no válido, o una nueva versión del API de HASP está comunicando con una versión anterior del Administrador de Licencias HASP.
142 No se ha encontrado el Administrador de Licencias HASP con el nombre especificado en el archivo de configuración HASP4 Net.
150 No se ha encontrado el Administrador de Licencias HASP con el nombre especificado. Este error procede del servicio SetServerByName.
151 Se han encontrado dos o más Administradores de Licencias HASP con un mismo nombre asignado. Este error procede del servicio SetServerByName.
Códigos de Status del API de HASP Parte 3 - Capítulo 15
204
Código Descripción
152 Ha fallado la operación de codificado porque el hardware no soporta el servicio.
153 Ha fallado la operación de decodificado porque el hardware no soporta el servicio.
155 Se ha encontrado una versión antigua del Administrador de Licencias HASP. El API utilizado requiere la instalación de una versión más actual del Administrador de Licencias.
La siguiente tabla enumera los posibles códigos de alerta devueltos en Par3 utilizando el servicio LastStatus. Cuando Par3 retorna una alerta, la ejecución del servicio se completa excepto en lo indicado en la alerta.
Tabla 15.4: Códigos de Alerta HASP4 Net
Código Descripción
1 IPX está habilitado vía nethasp.ini o vía variable de entorno NETHASPPROTOCOL, pero el protocolo IPX no está instalado.
Esta alerta ocurre bajo el login de HASP4 Net.
2 NetBIOS está habilitado vía nethasp.ini o vía una variable de entorno, pero el protocolo NetBIOS no está instalado.
Esta alerta ocurre bajo el login de HASP4 Net.
3 IPX y NetBIOS están habilitados vía nethasp.ini o vía una variable de entorno, pero ambos protocolos no están instalados.
Esta alerta ocurre bajo el login de HASP4 Net.
4 TCP/IP está habilitado vía nethasp.ini o vía una variable de entorno, pero el protocolo TCP/IP no está instalado.
Esta alerta ocurre bajo el login de HASP4 Net.
5 IPX y TCP/IP están habilitados vía nethasp.ini o vía una variable de entorno, pero ambos protocolos no están instalados.
Esta alerta ocurre bajo el login de HASP4 Net.
Uso del API de HASP Códigos de Status del API de HASP
205
Código Descripción
6 TCP/IP y NetBIOS están habilitados vía nethasp.ini o vía una variable de entorno, pero ambos protocolos no están instalados.
Esta alerta ocurre bajo el login de HASP4 Net.
7 IPX, NetBIOS y TCP/IP están habilitados vía nethasp.ini o vía una variable de entorno, pero ninguno de los tres protocolos están instalados.
Esta alerta ocurre bajo el login de HASP4 Net.
18 El Administrador de Licencias HASP ha devuelto un logout de HASP4 Net OK, pero debido a un excesivo retraso en la respuesta, puede que el logout no se haya realizado. En ese caso, debe realizar un logout HASP4 Net adicional. Si el logout de HASP4 Net retorna un error 135, el logout se realizó bien a pesar del error.
Esta alerta ocurre bajo el logout de HASP4 Net.
19 Existe algún valor no válido en nethasp.ini, o no se ha reconocido una nueva palabra por parte de la versión antigua del API.
Este error ocurre bajo el login de HASP4 Net.
20 Los protocolos TCP o UDP se han especificado en el nethasp.ini junto con otro protocolo. Si la dirección IP del Administrador de Licencias HASP no está especificada en nethasp.ini, el cliente HASP4 Net trabajará con el otro protocolo especificado, a pesar de ello se retorna un código de alerta para notificarle que TCP o UDP no están siendo utilizados debido a la falta de dirección IP.
Esta alerta ocurre después de usar SetProtocol.
22 El API de HASP no puede liberar memoria.
Esta alerta puede ocurrir después de cualquier servicio del API de HASP4 Net.
Los códigos LastStatus de HASP4 Net se actualizan constantemente. Para obtener las últimas actualizaciones, vea el archivo de ayuda del Administrador de Licencias HASP.
207
Parte 4
Uso de HASP4 Net en una red
Esta parte describe el sistema HASP4 Net y las herramientas y procesos
relacionados.
El capítulo “Conceptos Básicos HASP4 Net “ (página 209) explica los
términos y conceptos de importancia si está protegiendo software con HASP4
Net.
El capítulo “Protección de aplicaciones con HASP4 Net“ (página 221)
describe cómo puede proteger su aplicación para usar HASP4 Net.
El capítulo “Administración de Licencias HASP4 Net” (página 227) explica
la instalación del Administrador de Licencias HASP que provee licencias
HASP4 Net en la red.
El capítulo “Configuración de los clientes HASP4 Net” (página 247) describe
cómo una aplicación protegida con HASP4 Net – el cliente HASP4 Net –
puede configurarse con un archivo de configuración.
El capítulo “Monitorización de Licencias HASP4 Net” (página 257) explica el
uso del Monitor Aladdin que permite centralizar la administración de las
aplicaciones Administrador de Licencias HASP y las llaves HASP4 Net.
Uso de HASP en una Red Parte 4
208
El capítulo “Adaptación de HASP4 Net a la red” (página 263) ofrece
información acerca de la adaptación de HASP4 Net a una red definiendo el
rango de estaciones y la adaptación del timeout.
209
Parte 4 – Capítulo 17
Conceptos Básicos HASP4 Net
Este capítulo contiene términos y conceptos que son importantes si se está
protegiendo software con HASP4 Net. Antes de empezar el capítulo,
familiarícese con los términos y conceptos generales de HASP. Si no esta
usando HASP4 Net, puede saltarse este capítulo.
¿Qué es HASP4 Net?
HASP4 Net es una llave HASP diseñada para redes. Le permite una
distribución efectiva de su aplicación para entornos de red controlando el
número de copias de software que pueden ser ejecutadas al mismo tiempo.
Conectando una sola llave HASP4 Net a cualquier PC de la red, puede
proteger su aplicación contra el uso no autorizado, y monitorizar el número
de estaciones usando la aplicación simultáneamente.
Conceptos Básicos de HASP4 Net Parte 4 – Capítulo 17
210
Figura 17.1 El Sistema HASP4 Net
¿Cómo trabaja HASP4 Net?
Cuando una aplicación protegida es activada desde una estación de la red,
accede al Administrador de Licencias HASP y solicita permiso de acceso
realizando un login HASP4 Net. El Administrador de Licencias HASP
entonces comprueba la llave HASP y accede a la memoria HASP4 Net para:
• Verificar que la aplicación protegida tienen licencia para funcionar.
• Comprobar que el número de estaciones permitidas para ejecutar la
aplicación protegida al mismo tiempo no ha sido excedido.
Si todos los resultados del chequeo son positivos, el Administrador de
Licencias HASP da a la aplicación permiso para funcionar y actualiza la
tabla log de HASP4 Net. Si no es así, devuelve un código de error.
Las imágenes de las siguientes páginas muestran el mecanismo de
protección HASP4 Net. La red mostrada en estas imágenes consta de cuatro
estaciones. En una de las estaciones, hay una HASP4 Net conectada y el
Administrador de Licencias HASP está activo.
La aplicación protegida número 1 esta autorizada para funcionar
simultáneamente en cinco estaciones. Las imágenes muestran el proceso por
el cual la estación 3 prueba a activar la aplicación protegida número 1.
Uso de HASP en una Red Conceptos Básicos de HASP4 Net
211
Figura 17.2 Antes de un login HASP4 Net…
Las estaciones 1 y 2 están ejecutando la aplicación protegida 1, y ambas
están listadas en la tabla log. De las cinco estaciones que están autorizadas
para ejecutar la aplicación protegida concurrentemente, dos están ya
listadas en la tabla log.
Figura 17.3 Se realiza un login de HASP4 Net …
La estación 3 carga la aplicación protegida 1, la cual accede al
Administrador de Licencias HASP con un login de HASP4 Net. El
Administrador de Licencias HASP determina si la estación 3 está
autorizado o no para activar la aplicación.
Conceptos Básicos de HASP4 Net Parte 4 – Capítulo 17
212
Figura 17.4 Después de un login HASP4 Net...
Los chequeos realizados por el Administrador de Licencias HASP son positivos, y la
aplicación 1 es autorizada para funcionar en la estación 3. La tabla de log se actualiza y
ahora incluye la estación 3.
Preparación de la Protección
Protección de aplicaciones con HASP4 Net
Al proteger su aplicación, puede elegir entre proteger su aplicación para uso
en modo local, para uso en red o para ambos. Para habilitar HASP4 Net, use
uno de los siguientes métodos:
• habilite HASP4 Net al utilizar la Envelope HASP
• Use los servicios HASP4 Net del API HASP en lugar de, o además de
otros servicios del API.
Para más información vea “Protección de aplicaciones con HASP4 Net”
(página 221).
Uso de HASP en una Red Conceptos Básicos de HASP4 Net
213
Generación de Licencias con llaves HASP4 Net
Las llaves HASP4 Net le permiten hacer lo siguiente:
• Limitar el número de estaciones para cada aplicación protegida.
• Limitar el número de activaciones para cada aplicación protegida.
Existen diversos modelos de llaves HASP4 Net. El modelo de HASP4 Net
determina el número máximo de licencias disponible para cada aplicación
(ej. El número máximo de estaciones que pueden acceder a la aplicación
simultáneamente). Por ejemplo, HASP4 Net5 puede permitir desde cero
hasta cinco licencias. Otros modelos permiten hasta 10, 20, 50 ó 100 . Con
HASP4 NetU, su aplicación puede tener un número ilimitado de licencias.
Las llaves HASP4 Net están disponibles para puerto paralelo o puerto USB.
Uso de HASP4 Net
Instalación de HASP4 Net
Los pasos necesarios para instalar HASP4 Net en una red son los siguientes:
• Instale el HASP Device Driver o daemon adecuado y conecte la llave
HASP4 Net.
• Instale e inicie el Administrador de Licencias HASP en la misma
máquina. Para más información vea “Administración de licencias
HASP4 Net” (página 227)
• Personalice el Administrador de Licencias HASP y el cliente HASP4
Net, si es necesario. Para mayor información consulte “Personalización
del Administrador de Licencias HASP” (página 236) y “Configuración de
clientes HASP4 Net” (página 247).
Conceptos Básicos de HASP4 Net Parte 4 – Capítulo 17
214
Administración de licencias con el Administrador de Licencias
HASP
El Administrador de Licencias HASP es la aplicación que comunica con la
aplicación protegida y la llave HASP4 Net, funcionando como enlace entre
ambos. Puede comunicar con varias aplicaciones protegidas funcionando en
la red y con múltiples llaves HASP4 Net conectadas al PC.
El Administrador de Licencias HASP está disponible para los siguientes
entornos: Windows 95/ 98/ ME, Windows NT /2000 / XP, Mac OS X y Novel
Netware 3.12 y posteriores.
El Administrador de Licencias HASP mantiene una tabla log que lista todas
las aplicaciones protegidas que han realizado un login HASP4 Net. La lista
identifica cada aplicación protegida, y la estación que activó la aplicación.
Una aplicación y su estación permanecen en la tabla log hasta que la
aplicación realiza un logout HASP4 Net.
Para más información consulte “Administración de Licencias HASP4 Net”
(página 227).
Solicitud de Licencias con el cliente HASP4 Net
La aplicación protegida actúa como cliente HASP4 Net. Solicita la licencia
HASP4 Net y comunica con el Administrador de Licencias HASP. Cuando
activa la aplicación protegida, realiza un login HASP4 Net para acceder al
Administrador de Licencias HASP con la solicitud para funcionar. Cuando la
aplicación protegida es cerrada, informa al Administrador de Licencias
HASP mediante un HASP4 Net logout.
ëë No confunda el login y logout de HASP4 Net con el login y logout estándar de la red.
El cliente HASP4 Net está disponible para entornos Windows 3.1, Windows
95 / 98 / ME, Windows NT / 2000 / XP, Mac OS 8.6, Mac OS 9.x y Mac OS X.
Uso de HASP en una Red Conceptos Básicos de HASP4 Net
215
Los clientes HASP4 Net pueden configurarse individualmente. Para más
información consulte “Configuración de clientes HASP4 Net” (página 247).
Monitorización de Licencias con Aladdin Monitor
Aladdin Monitor permite centralizar la administración de aplicaciones de
Administrador de Licencias HASP y las llaves HASP4 Net.
Opciones disponibles:
• Comprobación de propiedades del Administrador de Licencias HASP.
• Comprobación de las llaves HASP4 Net.
• Inicio y detención del servicio Administrador de Licencias HASP.
Aladdin Monitor está disponible para los siguientes entornos: Windows 98 /
ME, Windows NT / 2000 / XP. Puede comunicar vía TCP / IP e IPX.
Para más información consulte “Monitorizando Licencias HASP4 Net”
(página 257).
Distribución de HASP4 Net
Distribución de HASP4 Net
Junto con la aplicación protegida, debe suministrar a su cliente con lo
siguiente:
• La llave HASP4 Net
• HASP Device Driver
• Administradores de Licencias HASP (con archivo de configuración
Nhsrv.ini)
• Aladdin Monitor
• Archivo de configuración para clientes HASP4 Net Nethasp.ini
Conceptos Básicos de HASP4 Net Parte 4 – Capítulo 17
216
Asistencia al usuario final
La utilidad Aladdin Diagnostic permite a sus clientes recoger información
acerca de su sistema y de su llave HASP. Esta información le ayudará a
usted y a su cliente a resolver problemas que puedan encontrar con el uso de
aplicaciones protegidas.
Sus clientes pueden usar la utilidad Aladdin Diagnostic para:
• Chequear una llave HASP.
• Crear un archivo informe que contenga datos de los dispositivos Aladdin
y otra información relevante del sistema.
Aladdin Diagnostic está disponible para los siguientes entornos: Windows
95 / 98 / ME y Windows NT / 2000 / XP.
Para más información consulte “Asistencia a usuarios finales” (página 107).
Uso de HASP en una Red Conceptos Básicos de HASP4 Net
217
Protocolos, Plataformas y Sistemas Operativos soportados
HASP4 Net es una solución multi-plataforma que soporta los siguientes
sistemas operativos.
Tabla 17.1 Plataformas Soportadas con HASP4 Net
Windows 3.x
Windows 95 / 98 /
ME / NT / 2000 /XP
Mac OS 8.6
Mac OS 9.x
Mac OS X
Novell
Cliente HASP4 Net
Si Si Si Si Si
Administrador de Licencias HASP
Si Si Si Si
Aladdin Monitor Si
Aladdin Diagnostic Si Si
Para la comunicación entre el cliente HASP4 Net y el Administrador de
Licencias HASP pueden utilizarse los siguientes protocolos.
Windows Apple Macintosh Novel Netware
IPX Soportado Soportado
TCP /IP (UDP / IP) Soportado Soportado
NetBIOS soportado
ë Se usa TCP / IP para referirse tanto a TCP / IP como a UDP / IP
Conceptos Básicos de HASP4 Net Parte 4 – Capítulo 17
218
Preguntas Frecuentes
Pregunta ¿Es necesario instalar HASP4 Net en el servidor de archivos de la red?
Respuesta No. Se puede instalar la llave HASP4 Net y el Administrador de Licencias HASP en cualquier estación de la red. La estación asignada debe estar activa y el Administrador de Licencias HASP cargado mientras que la aplicación protegida con HASP4 Net se está ejecutando.
Pregunta ¿Puedo ver qué estaciones acceden a la llave HASP4 Net?
Respuesta Sí. La utilidad Aladdin Monitor muestra todas las estaciones que han activando una aplicación que ha realizado un login HASP4 Net al Administrador de Licencias HASP. Vea “Monitorización de licencias HASP4 Net” (página 257) para más información.
Pregunta ¿Si yo conecto dos llaves HASP4 Net5 del mismo código a una única estación, dispongo de 10 licencias?
Respuesta No. Cuando hay dos llaves HASP4 Net con el mismo código en el mismo PC, sólo una de ellas responde. Para permitir 10 licencias con dos llaves HASP4 Net5, conecte cada llave a una estación distinta y ejecute el Administrador de Licencias HASP adecuado. Preferentemente, use una llave HASP4 Net10.
Pregunta Mi cliente ya tiene una HASP4 Net de otro fabricante de software conectada a la estación de la red y un Administrador de Licencias HASP cargado. ¿Qué debo hacer para instalar mi llave HASP4 Net?
Respuesta Todo lo que su cliente necesita hacer es conectar su HASP4 Net a la otra llave instalada. El Administrador de Licencias HASP cargado sirve para ambas llaves HASP4 Net.
Uso de HASP en una Red Conceptos Básicos de HASP4 Net
219
Pregunta ¿Puede HASP4 Net trabajar sobre Internet?
Respuesta Sí. HASP4 Net trabaja sobre Internet con el protocolo TCP / IP.
Pregunta Si, por ejemplo, yo tengo una HASP4 Net20 ¿puedo dar acceso a sólo 17 usuarios?
Respuesta Si, usando HASP Edit puede especificar cualquier número de usuarios hasta 20.
Pregunta ¿Usando HASP4 Net, en que estación debo instalar el HASP Device Driver?
Respuesta Sólo en la estación con la llave HASP4 Net. El HASP Device Driver sirve como enlace entre la HASP y la aplicación protegida.
Puesto que la aplicación protegida con HASP4 Net se comunica con el Administrador de licencias HASP, que a su vez debe acceder a la llave HASP4 Net, instale el HASP Device Driver en la estación que cargue el administrador de licencias HASP.
221
Parte 4 – Capítulo 18
Protección de aplicaciones
con HASP4 Net Este capítulo describe cómo puede proteger su aplicación con HASP4 Net.
Cuando proteja su aplicación, usted puede elegir entre la protección de su aplicación
para uso local, para su uso en red o para ambos. Para habilitar HASP4 Net use uno
de los siguientes métodos:
• Habilite HASP4 Net al utilizar la Envelope HASP
• Use los servicios HASP4 Net del API en lugar de, o además de, otros
servicios del API de HASP.
Protección de Aplicaciones con HASP4 Net Parte 4 – Capítulo 18
222
Opciones de la Envelope HASP para HASP4 Net
La Envelope HASP le permite proteger su aplicación sin tener que alterar el
código fuente. Para información de los procesos básicos consulte “Protección
con la Envelope HASP” (página 43).
Envelope HASP para Win32
Además del proceso usual, realice los siguientes pasos:
• Introduzca las passwords HASP4 Net.
• Especifique un número para el programa.
• Indique cuantas licencias y activaciones desea suministrar para ese
archivo de programa. Si no desea limitar el número, active la opción
Unlimited. Esta información sólo es de interés si usted desea escribirlo
en la llave HASP4 Net conectada después del proceso de protección.
• Introduzca el nombre del archivo de configuración HASP4 Net, o
búsquelo. Para más información acerca del archivo de configuración
HASP4 Net, consulte “Configuración de clientes HASP4 Net” (página
247).
ë Si desea proteger su aplicación para uso local y de red, puede especificar los parámetros de HASP4 Net además de los parámetros para uso local.
Uso de HASP en una Red Protección de Aplicaciones con HASP4 Net
223
La herramienta HASP Envelope de línea de comando
Si está utilizando la herramienta HASP Envelope de línea de comando, los
siguientes parámetros son de aplicación para habilitar HASP4 Net:
Tabla 18.1 Parámetros HASP Envelope para HASP4 Net
Parámetro Función
-nhpass <password1> <password2> Indica las passwords HASP4 Net
-prgnum <número de programa> Indica un número único de programa entre 1 y 112
-netcfg <nombre de archivo> Indica un archivo de configuración HASP4 Net
Servicios del API para HASP4 Net
Al proteger su aplicación para su uso en redes añadiendo llamadas API a su
código fuente, necesita usar los servicios HASP4 Net. Para una descripción
detallada acerca de cada servicio, consulte “Servicios HASP4 Net” (página
171).
ë Si desea proteger su aplicación para uso en modo local y de red, debe implementar tanto los servicios HASP4 Net como los servicios básicos y de memoria.
Protección de Aplicaciones con HASP4 Net Parte 4 – Capítulo 18
224
Tabla 18.2 Servicios del API HASP4 Net
Servicio Nombre Operación
40 LastStatus Comprueba el status de la última llamada. Utilice este servicio después de cada llamada a la rutina hasp()
42 Login Solicita permiso al Administrador de Licencias HASP para activar la aplicación. Excepto para los servicios 85 ó 96, login debe ser la primera llamada a la rutina hasp()
43 Logout Solicita finalizar la sesión HASP4 Net al Administrador de Licencias HASP
44 ReadWord Lee un word de datos de la memoria HASP4 Net
45 WriteWord Escribe un word de datos en la memoria HASP4 Net
46 HaspID Obtiene el número ID de HASP4 Net
48 IdleTime Establece la máxima franja de tiempo para estaciones inactivas
52 ReadBlock Lee un bloque de datos de la memoria HASP4 Net
53 WriteBlock Escribe un bloque de datos en la memoria HASP4 Net
85 SetConfigFilename Establece el nombre del archivo de configuración HASP4 Net.
Uso de HASP en una Red Protección de Aplicaciones con HASP4 Net
225
Servicio Nombre Operación
88 HaspEncodeData Codifica datos enviados a la llave HASP4 Net conectada. Utilícese junto con HaspDecodeData para verificar la presencia de una llave HASP4 Net determinada en la red.
89 HaspDecodeData Decodifica datos enviados a la llave HASP4 Net conectada. Utilícese junto con HaspEncodeData para verificar la presencia de una llave HASP4 Net determinada en la red.
96 SetServerByName Establece el Administrador de Licencias HASP al que la aplicación protegida realizará un login HASP4 Net.
227
Parte 4 – Capítulo 19
Administración de
Licencias HASP4 Net Este capítulo describe como administrar licencias HASP4 Net con el
Administrador de Licencias HASP.
El Administrador de Licencias HASP es la aplicación que comunica con la
aplicación protegida y la llave HASP4 Net, funcionando como enlace entre
ambas. Puede comunicar con múltiples aplicaciones protegidas trabajando
en la red y con múltiples llaves HASP4 Net conectadas al PC.
El Administrador de Licencias HASP está disponible para los siguientes
entornos: Windows 95 / 98 / ME, Windows NT/ 2000 / XP, Mac OS X y Novell
Netware 3.12 y posteriores.
Administración de Licencias HASP4 Net Parte 4 – Capítulo 19
228
¿Cómo trabaja el Administrador de Licencias
HASP?
El Administrador de Licencias HASP mantiene una tabla log que lista todas
las aplicaciones protegidas que han realizado un login HASP4 Net. La lista
identifica cada aplicación protegida, y la estación que ha activado la
aplicación. Una aplicación y su estación permanecen en la tabla log hasta
que la aplicación realizar un logout HASP4 Net.
El Administrador de Licencias HASP usa la tabla log para controlar el
número de estaciones que están ejecutando una aplicación protegida al
mismo tiempo. Lo que asegura que el número de estaciones no excede el
máximo número de licencias permitidas por el programador. Por defecto la
tabla login puede controlar logins para hasta 250 aplicaciones.
Uso de HASP en una Red Administración de Licencias HASP4 Net
229
Administrador de Licencias HASP para Windows El Administrador de Licencias HASP para Windows está disponible como
ejecutable para Windows 95 / 98 /ME / NT / 2000 / XP y como servicio para
Windows NT /2000 / XP.
El Administrador de Licencias HASP para Windows puede comunicar vía
TCP / IP, IPX y NetBIOS. Los protocolos pueden cargarse y descargarse
mediante la interfaz gráfica de usuario del Administrador de Licencias
HASP o mediante parámetros de línea de comando.
Instalación del Administrador de Licencias HASP bajo Windows
Ambos tipos de Administradores de Licencias HASP pueden instalarse con
el archivo de setup lmsetup.exe.
Instale el Administrador de Licencias HASP apropiado en la estación donde
esté conectada la llave HASP4 Net.
La instalación puede personalizarse usando los siguientes métodos:
• Inicie el Administrador de Licencias HASP con parámetros, vea
“Parámetros para el Administrador de Licencias HASP” (página 236).
• Use el archivo de configuración nhsrvw32.ini, vea “El archivo de
configuración nhsrv.ini” (página 239).
• Use el API de Instalación del Administrador de Licencias (sólo como
servicio Win32), vea “API de Instalación del Administrador de
Licencias” (página 240).
En una estación Windows 95/98/ME
El Administrador de Licencias HASP para Windows es nhsrvw32.exe. Use el
archivo de setup lmsetup.exe para instalarlo.
1. Instale el HASP Device driver y conecte la llave HASP4 Net a una
estación.
2. Instale el Administrador de Licencias HASP mediante lmsetup.exe
desde su CD HASP y siga las instrucciones del proceso de instalación.
Administración de Licencias HASP4 Net Parte 4 – Capítulo 19
230
En una estación Windows NT/2000/XP
El Administrador de Licencias HASP para Windows NT / 2000 / XP es
nhsrvice.exe. Use el archivo de setup lmsetup.exe para instalarlo.
Lo recomendable es instalar el Administrador de Licencias HASP como
servicio NT, de forma que no sea necesario abrir una sesión en la estación
para disponer de su funcionalidad.
1. Instale el HASP device driver y conecte HASP4 Net en una estación.
2. Instale el Administrador de Licencias ejecutando lmsetup.exe desde su
CD HASP y siga las instrucciones del proceso de instalación. Como
instalación tipo, seleccione Service.
ëë También puede integrar la instalación del servicio Administrador de Licencias HASP en su aplicación usando el API de Instalación del Administrador de Licencias HASP, que encontrará en el directorio utility\servers\win32\service\lmapi
Activación y Desactivación del Administrador de Licencias HASP
Aplicación Administrador de Licencias HASP
Para activar la aplicación Administrador de Licencias HASP, iníciela desde
el menú Inicio o desde el Explorador Windows. La aplicación
Administrador de Licencias HASP está siempre activa cuando se carga
cualquier protocolo y la llave HASP4 Net está conectada. Para desactivarlo,
pulse Exit del menú principal
Servicio Administrador de Licencias HASP
Para activar el servicio Administrador de Licencias HASP, inícielo desde el
menú Inicio o el Explorador Windows. Para desactivar el servicio
Administrador de Licencias HASP, use desde el panel de control Servicios de
Windows.
También puede usar Aladdin Monitor para iniciar y detener el servicio
Administrador de Licencias HASP.
Uso de HASP en una Red Administración de Licencias HASP4 Net
231
Trabajo con Administrador de Licencias HASP
Puede operar con el Administrador de Licencias HASP mediante la interfaz
gráfica de usuario. También puede trabajar con él desde línea de comando.
Para abrir la ventana principal de la interfaz gráfica de usuario, pulse doble
clic sobre el icono de la llave HASP4 Net roja de la bandeja del sistema.
La ventana principal del Administrador de Licencias HASP mostrará la
siguiente información:
• Número de versión del Administrador de Licencias HASP
• Status de cada protocolo (loaded, unloaded, o failed to load) y la fecha
y hora del último cambio de status.
• Status del Administrador de Licencias HASP (activo o inactivo)
Puede cerrar la ventana principal del Administrador de Licencias HASP
pulsando el botón de cierre de la esquina derecha de la barra del título. A
pesar de ello, el Administrador de Licencias HASP continuará activo, y el
icono permanecerá en la bandeja de sistema.
Para salir del programa, pulse Exit de la barra de menú. Si el
Administrador de Licencias HASP está instalado como servicio Windows
NT, no puede salir usando esta opción del menú.
Carga de protocolos
Para habilitar un protocolo, selecciónelo en el menú Load. Sólo puede
habilitar los protocolos que han sido instalados en el sistema.
Descarga de protocolos
Para deshabilitar un protocolo, selecciónelo en el menú Remove.
Visión del Activity Log
Para visionar un log del Administrador de Licencias HASP, seleccione
Activity Log de la barra de menú. Se abrirá la ventana Activity Log.
Para ver el log de un protocolo determinado, elija un protocolo de la lista.
Administración de Licencias HASP4 Net Parte 4 – Capítulo 19
232
El Administrador de Licencias HASP para Mac
El Administrador de Licencias HASP para Mac está disponible para Mac OS
X. Se comunica vía TCP / IP.
El Administrador de Licencias HASP para Mac consiste en un daemon y la
interfaz gráfica de usuario. El Administrador de Licencias HASP para Mac
puede ser operado mediante la interfaz gráfica de usuario. También puede
operar daemon como herramienta de línea de comando.
Instalación del Administrador de Licencias HASP
Para instalar el Administrador de Licencias HASP bajo MAC OS X use la
utilidad de instalación de instalación del Administrador de Licencias HASP.
ë Para instalar el Administrador de Licencias HASP es necesario acceder al sistema como administrador.
1. Pulse doble clic sobre el archivo HASP License Manager Install en el
directorio License Manager del CD HASP.
2. Introduzca su password de administrador
3. Seleccione Install para realizar la instalación.
Activación y Desactivación del Administrador de Licencias HASP
Para activar el Administrador de Licencias HASP, inicie la aplicación desde
el menú de aplicaciones e inicie el daemon mediante Start Daemon en la
ventana de la aplicación. También puede iniciar el daemon utilizando el
script instalación.
ë Para cargar el Administrador de Licencias HASP automáticamente, active la opción Activate in system startup
Uso de HASP en una Red Administración de Licencias HASP4 Net
233
Trabajo con Administrador de Licencias HASP
Puede operar con el Administrador de Licencias HASP mediante la interfaz
gráfica de usuario. También puede trabajar con él desde línea de comando,
vea “Parámetros del Administrador de Licencias HASP” (página 236).
El Administrador de Licencias HASP para Mac muestra la siguiente
información:
• Nombre y dirección del Servidor
• Parámetros disponibles
• Si el daemon se ha iniciado durante el inicio del sistema
• Status de Daemon
Opciones disponibles:
• Definición de parámetros (sólo cuando el proceso daemon está detenido)
• Inicio y detención de daemon
• Activación de daemon al iniciar
Definición del nombre del servidor
Puede asignar hasta seis nombres de servidor al Administrador de Licencias
HASP.
ë No puede asignar nombres de servidor a un daemon activo, porque los nombres se asignan cuando se inicia el daemon.
Para asignar un nombre de servidor, detenga el daemon si ya se ha iniciado.
Active la opción SRVNAMES e introduzca hasta seis nombres. Separe los
nombres con punto y coma, coma o espacio. Los nombres se asignarán cuando
se inicie el daemon.
ë Evite utilizar caracteres no-ASCII en los nombres de servidor, sus códigos difieren entre sistemas. Los nombres de server no diferencian entre mayúsculas y minúsculas.
Administración de Licencias HASP4 Net Parte 4 – Capítulo 19
234
Definición de un archivo de configuración
Puede configurar el Administrador de Licencias HASP para Mac utilizando
un archivo de configuración. Para definir el nombre y el path del archivo de
configuración, active la opción CFGFILE e introduzca path y nombre. Para
información acerca del archivo de configuración consulte “Definición del
archivo de configuración nhsrv.ini” (página 239).
Inicio y detención de Daemon
Para iniciar y detener Daemon, use los botones en la ventana de la
aplicación.
Activación automática de Daemon
Dispone de la opción de activar daemon de forma automática al iniciar el
sistema. Para ello, active la opción Activate in system startup.
Uso de HASP en una Red Administración de Licencias HASP4 Net
235
El Administrador de Licencias HASP en un
servidor de archivos Novell
El Administrador de Licencias HASP para servidores de archivos Novell
Netware es haspserv.nlm. Se comunica vía IPX.
ë Bajo Novell, las llaves USB no están soportadas.
Carga del Administrador de Licencias HASP
Para cargar el Administrador de Licencias HASP:
1. Conecte la llave HASSP al servidor Novell.
2. Copie haspserv.nlm al directorio system del servidor de archivos.
3. Cargue el Administrador de Licencias HASP introduciendo:
load haspserv
Aparece la pantalla del Administrador de Licencias HASP aparece
mostrando los detalles de la operación.
ëë Para cargar el Administrador de Licencias HASP automáticamente, añada la línea load haspserv en el archivo autoexec.ncf en el directorio sys:system.
Desinstalación del Administrador de Licencias HASP
Para desinstalar el Administrador de Licencias HASP introduzca unload
haspserv
Administración de Licencias HASP4 Net Parte 4 – Capítulo 19
236
Personalización del Administrador de Licencias
HASP
Al instalar y operar con el Administrador de Licencias HASP puede desear
adaptarlo al entorno de red. Puede utilizar los siguientes métodos:
• Operar con el Administrador de Licencias HASP mediante parámetros
• Usar el archivo de configuración nhsrv.ini
• Usar el API de Instalación del Administrador de Licencias (sólo servicio
Win32)
Parámetros para el Administrador de Licencias HASP
El Administrador de Licencias HASP puede ser activado con diferentes
parámetros que instruyen al sistema HASP4 Net con protocolos a usar y
como dar servicio a los clientes HASP4 Net.
Tabla 19.1 Parámetros del Administrador de Licencias HASP
Parámetro Explicación N
ovel
l
Win
dow
s
Mac
-? Muestra una lista de los parámetros disponibles Si
-addrpath= <path>
Indica una ubicación para guardar haspaddr.dat. Por defecto, el Administrador de Licencias HASP lo coloca en el directorio desde donde se ha cargado
Si Si
-c Indica la ubicación del archivo de configuración del Administrador de Licencias HASP.
Si
-help Muestra una lista de los parámetros disponibles Si Si
-ipx Instruye al sistema HASP4 Net para usar el protocolo IPX con SAP.
Si Si
Uso de HASP en una Red Administración de Licencias HASP4 Net
237
Parámetro Explicación
Nov
ell
Win
dow
s
Mac
-ipxnosap Instruye al sistema HASP4 Net para usar el protocolo IPX (sin SAP). Con el Administrador de Licencias HASP para Win32, puede cargar otros protocolos usando los parámetros –tcpip o –netbios o ambos. Con este parámetro, el Administrador de Licencias HASP crea un archivo llamado newhaddr.dat. Este archivo contiene la dirección del nodo de la estación que está ejecutando el Administrador de Licencias HASP. Cuando carga el Administrador de Licencias HASP con este parámetro, sólo las aplicaciones protegidas con acceso a newhaddr.dat pueden comunicar con el Administrador de Licencias HASP.
Si Si
-ipxsocketnum= <número>
Utilice este parámetro si desea cambiar el socket IPX que el Administrador de Licencias está usando para la comunicación. Por defecto es 7483 (hex).
Si Si
-localnet Utilice este parámetro si desea que el Administrador de Licencias HASP sirva únicamente las solicitudes de estaciones en la red local.
Si Si
-nbname= <nombre>
Asigna un nombre NetBIOS al Administrador de Licencias HASP. Este parámetro es idéntico a - nethaspnbname.
Si
-netbios Fuerza al sistema HASP4 Net a escuchar sólo al protocolo NetBIOS. Con el Administrador de Licencias HASP para Win32, aún puede cargar otros protocolos usando tanto –tcpip como –ipxnosap o ambos.
Si
-portnum= <número>
Si está utilizando el protocolo TCP / IP, puede usar este parámetro para instruir al Administrador de Licencias HASP a escuchar en el puerto que le especifique. El Número de Puerto predeterminado es 475.
Si Si
Administración de Licencias HASP4 Net Parte 4 – Capítulo 19
238
Parámetro Explicación
Nov
ell
Win
dow
s
Mac
-saptofile Cuando utiliza este parámetro, el Administrador de Licencias HASP crea un archivo newhaddr.dat. Este archivo contiene la dirección del nodo de la estación con el Administrador de Licencias HASP activo.
Si
-srvname= <nombre>[,nombre]
Asigna uno o más nombres IPX, TCP/IP o NetBios al Administrador de Licencias HASP. Puede asignar hasta seis nombres para IPX y TCP/IP o uno para NetBIOS.
Si Si Si
-tcpip Fuerza al sistema HASP4 Net a escuchar sólo el protocolo TCP/IP. Con el Administrador de Licencias HASP para Win32, aún puede cargar otros protocolos usando –ipx o –netbios o ambos
Si
-uselananum= <x>[,<x>]
Instruye al Administrador de Licencias HASP a escuchar a determinados números lana
Si
-userlist Limita o aumenta el número máximo de usuarios servidos por el Administrador de Licencias HASP. El valor predeterminado es 250.
Si
Uso de HASP en una Red Administración de Licencias HASP4 Net
239
Definición del archivo de configuración nhsrv.ini
Para configurar el Administrador de Licencias HASP puede utilizar el
archivo nhsrv.ini. Se incluye una copia de nhsrv.ini con las utilidades HASP.
Orden de Búsqueda
Puede situar nhsrv.ini y el ejecutable del Administrador de Licencias HASP
en el mismo directorio o en cualquier otra ubicación de acuerdo con el orden
de búsqueda de nhsrv.ini descrito en la siguiente tabla.
Tabla 19.2 Orden de búsqueda de nhsrv.ini
Sistema Operativo Orden de Búsqueda
Windows 95 / 98 / ME Directorio del archivo ejecutable
Directorio Actual
Directorio System de Windows
Directorio Windows
Path
Windows NT4 / 2000 / XP Directorio del archivo ejecutable
Directorio Actual
Directorio System de Windows
Directorio Windows
Path
Novell Directorio actual
Mac Directorio actual. Puede establecer un nombre y un path para el archivo de configuración con el parámetro -c
Claves para la sección [NHS_SERVER]
Modifique las claves en la sección [NHS_SERVER] del archivo nhsrv.ini para
personalizar el Administrador de Licencias HASP de acuerdo con sus
necesidades.
Administración de Licencias HASP4 Net Parte 4 – Capítulo 19
240
Nhs_ip_limit
Valores posibles <Dir IP>,<Dir IP>,…
Descripción Indica el rango de estaciones al que el Administrador de Licencias HASP da servicio. Aplicable para el Administrador de Licencias HASP para Win 32, Novell y Mac. Por ejemplo: 10.1.1.1,10.1.1.*,10.1.1.1/32,10.1.1.1/24
Nhs_adapter
Valores posibles <Dir IP-SubMask>,<DirIP-SubMask>,…
Descripción Indica la dirección IP de uno o más tarjetas de red a las que escucha el Administrador de Licencias HASP. Aplicable únicamente para el Administrador de Licencias HASP para Win32. Por ejemplo: 10.1.1.111-255.255.0.0
API de Instalación del Administrador de Licencias HASP
El API ofrece un conjunto de funciones con las que puede instalar y
desinstalar el servicio Administrador de Licencias HASP.
Instalación con HaspLMInstall()
Propósito Instala y/o introduce la correcta configuración en el registro para el servicio NT del Administrador de Licencias HASP.
Estructura DWORD HaspLMInstall(
DWORD InstallMode //Installation mode
LPSTR LMPath //Path del Administrador de Licencias HASP
LPSTR CmdLineSwitches //Parámetros de línea de comando
);
Uso de HASP en una Red Administración de Licencias HASP4 Net
241
Parámetros InstallMode Define las características del proceso de instalación.
LMPath Path completo de la ubicación donde reside el archivo de programa nhsrvice.exe del Administrador de Licencias HASP. Es usado por el administrador de Control de Servicio para localizar el Administrador de Licencias HASP.
Si se le pasa una cadena Null, entonces la función utiliza el path a la DLL, con el nombre por defecto del ejecutable del Administrador de Licencias HASP, “nhserv32.exe”.
Se recomienda sea al archivo que en el CD HASP se encuentra en: Utilities\Servers\Win32\Service\nhsrvice.exe
Opciones InstallMode
LM_SERVICE_INSTALL Instala el Administrador de Licencias HASP como servicio Windows NT.
LM_SERVICE_START Mientras LM_SERVICE_INSTALL instala el Administrador de Licencias HASP como servicio de Windows NT, esta opción le permite ejecutar el Administrador de Licencias HASP sin reiniciar. Llame HaspLMInstall() con este parámetro después de la primera llamada con LM_SERVICE_INSTALL, o llame este parámetro ORED LM_SERVICE_INSTALL
Administración de Licencias HASP4 Net Parte 4 – Capítulo 19
242
Valores Devueltos Si todo es correcto, la función devuelve el valor LM_SUCCESS. Si falló, la función devuelve el valor LM_FAIL. Puede obtener detalles del error llamado a HaspLMLastError().
Consideraciones Especiales
Esta función no copia los archivos Administrador de Licencias HASP.
Desinstalación con HaspLMRemove()
Propósito Elimina las entradas en el registro del servicio Administrador de Licencias HASP o desinstala el servicio.
Estructura DWORD HaspLMRemove(
DWORD RemoveMode //Removal mode
LPSTR LMPath //Para su uso futuro
);
Parámetros RemoveMode Establece las características del proceso de eliminación.
LMPath Para uso futuro. Actualmente, el valor es NULL.
Opciones RemoveMode
LM_REMOVE_SERVICE
Elimina el servicio Windows NT Administrador de Licencias HASP.
LM_REMOVE_SERVICE_UNLOAD
Elimina de la memoria el servicio de Windows NT Administrador de Licencias HASP. El servicio permanece instalado y volverá a funcionar en el próximo inicio del sistema.
Valores Devueltos Si todo es correcto, la función retorna el valor LM_SUCCESS. Si ha fallado, la función devuelve el valor LM_FAIL. Puede obtener los detalles del error llamando a HILastErrorEx().
Consideraciones Especiales
La eliminación del servicio de Windows NT Administrador de Licencias HASP envía un comando al Administrador de Licencias HASP para cerrarlo si está activo.
Uso de HASP en una Red Administración de Licencias HASP4 Net
243
Mostrado de información con HaspLMInfo()
Propósito Recibe información relativa al servicio de Windows NT Administrador de Licencias HASP instalado y otra información general.
Estructura DWORD HaspLMInfo(
LPLMINFO lpLMInfo, // Dirección de estructura de información
);
Parámetros lpLMInfo Apunta a la estructura LMINFO que recibe información referente al servicio Administrador de Licencias HASP instalado.
Valores Devueltos Si todo es correcto, la función retorna el valor LM_SUCCESS. Si ha fallado, la función devuelve el valor LM_FAIL. Puede obtener los detalles del error llamando a HILastErrorEx().
Solicitud de Status con HaspLMLastError()
Propósito Recoge información acerca de la última llamada a una de las funciones del Administrador de Licencias HASP.
Estructura DWORD HaspLMLastError(
DWORD *System Error // Dirección de localización de error de sistema
LPSTR Error Str // Dirección de buffer de descripción de error
);
Administración de Licencias HASP4 Net Parte 4 – Capítulo 19
244
Parámetros *System Error Apunta a una variable que contiene el número de error de sistema
ErrorStr Apunta a un buffer para recibir la última descripción de error del servicio Administrador de Licencias HASP.
ErrorStrSize Tamaño del buffer de ErrorStr (en bytes).
Valores Devueltos Si todo es correcto, la función retorna el valor LM_SUCCESS. Si ha fallado, la función devuelve el valor LM_FAIL.
Mensajes de error
Las funciones de HASP LM Installation retornan los siguientes mensajes de error:
Tabla 19.3 Códigos de Error del API HASP LM Installation
Error Descripción
CLOSE_KEY_FAIL Fallo al cerrar la llave
CLOSE_SERVICE_FAIL Fallo al cerrar el servicio
CLOSE_SERVICE_MANAGER_FAIL Fallo al cerrar el administrador de base de datos del servicio
CONTROL_SERVICE_FAIL Fallo en el control del servicio
CREATE_SERVICE_FAIL Fallo al crear el servicio
DELETE_SERVICE_FAIL Fallo al borrar el servicio
FREE_LIB_FAIL Fallo al liberar la DLL
GET_DATE_FAIL Fallo al obtener la fecha
GET_PROC_ADDR_FAIL Fallo al obtener una dirección desde la DLL
INVALID_PARAM Parámetro Inválido
LOAD_LIB_FAIL Fallo al cargar la DLL
Uso de HASP en una Red Administración de Licencias HASP4 Net
245
Error Descripción
OPEN_KEY_FAIL Fallo al abrir la llave
OPEN_SERVICE_FAIL Fallo al abrir el servicio
OPEN_SERVICE_MANAGER_FAIL Fallo al abrir el administrador de base de datos del servicio
SERVICE_NOT_SUPPORTED Este servicio no está soportado
SET_VALUE_FAIL Fallo al fijar un valor
START_SERVICE_FAIL Fallo al iniciar el servicio
247
Parte 4 – Capítulo 20
Configuración de clientes
HASP4 Net Este capítulo describe cómo una aplicación protegida por HASP4 Net – el
cliente HASP4 Net – puede ser configurado con un archivo de configuración.
Si el cliente encuentra su respectivo archivo de configuración, lo lee y usa la
información. Si no, se utilizan los valores predeterminados.
En el archivo de configuración HASP4 Net puede afinar la búsqueda del
Administrador de Licencias HASP por parte del cliente HASP4 Net.
El nombre por defecto del archivo de configuración HASP4 Net es
nethasp.ini. Se incluye una copia de nethasp.ini con las utilidades HASP y
también con cada API HASP. Si desea cambiar el nombre, debe indicarlo
cuando proteja su aplicación con la Envelope o el API de HASP.
Secuencia de Búsqueda del Archivo de
configuración
La secuencia de búsqueda del archivo depende del sistema operativo y del
tipo de aplicación.
La aplicación protegida busca el archivo de configuración cuando se accede al
primer servicio HASP4 Net. Busca el archivo de configuración HASP4 Net en
las siguientes ubicaciones:
Configuración de Clientes HASP4 Net Parte 4 – Capítulo 20
248
Tabla 20.1 Orden de Búsqueda del archivo de configuración
Tipo de aplicación / Sistema Operativo
Secuencia de Búsqueda
Win16 Directorio Actual à directorio Windows à directorio system de Windows à directorio del archivo ejecutable à Path
Win32 Directorio del archivo ejecutable à directorio actual à directorio system de Windows à directorio Windows à Path
Mac OS 8.6, 9.1, Mac OS X (sólo aplicaciones Carbon)
Directorio Actual
Mac OS X Directorio Actual à Directorio Home del usuario actual à directorio etc
Secciones en el archivo de configuración
El archivo de configuración cliente de HASP4 Net se compone de cuatro
secciones, todas ellas opcionales:
• [NH_COMMON] para ajustes generales
• [NH_IPX] para el protocolo IPX
• [NH_NETBIOS] para el protocolo NetBIOS
• [NH_TCPIP] para el protocolo TCP / IP
La sección [NH_COMMON] contiene indicaciones generales para todas las
secciones del archivo de configuración. Cada una de las otras secciones
contiene indicaciones de ajuste de operaciones para el protocolo específico.
Uso de HASP en una Red Configuración de Clientes HASP4 Net
249
Especificación de claves
En cada sección, puede indicar tanto claves generales como las específicas de
la sección. Si define una de las claves generales en una de las tres secciones
de protocolos, ésta mandará sobre la indicación de la sección
[NH_COMMON] (sólo para ese protocolo).
Use las claves específicas de sección para ajustar las indicaciones
adicionales para un protocolo particular.
Las indicaciones de API y Envelope mandan sobre las del archivo de
configuración.
Cada línea del archivo de configuración HASP que ha recibido con el software
HASP está precedida de un punto y coma (;). Para usar una línea, borre el
punto y coma. Si desea añadir comentarios, precédalos con un punto y coma.
ë Los nombres de los archivos de configuración HASP4 Net y sus claves pueden ser escritos indiferentemente en mayúsculas o minúsculas (excepto el nombre del archivo bajo Mac OS X si se utiliza un sistema de archivos que si distinga los dos modos).
Las siguientes secciones describen cada sección del archivo de configuración
cliente de HASP4 Net. Para cada clave, se incluye una breve descripción y los
valores posibles. Cuando existe un valor predeterminado, se muestra.
Configuración de Clientes HASP4 Net Parte 4 – Capítulo 20
250
[NH_COMMON]
Claves específicas de sección para [NH_COMMON]
nh_ipx
Valores posibles Enabled, disabled (habilitado, deshabilitado)
Descripción Usa el protocolo IPX
nh_netbios
Valores posibles Enabled, disabled (habilitado, deshabilitado)
Descripción Usa el protocolo NetBIOS
nh_tcpip
Valores posibles Enabled, disabled (habilitado, deshabilitado)
Descripción Usa el protocolo TCP / IP
Claves Generales para [NH_COMMON]
nh_session
Valores posibles <número>
Descripción Establece la longitud de tiempo durante el cual la aplicación protegida trata de establecer comunicación con el Administrador de Licencias HASP.
Predeterminado 2 segundos
Uso de HASP en una Red Configuración de Clientes HASP4 Net
251
nh_send_rcv
Valores posibles <número>
Descripción Fija el tiempo máximo para que el Administrador de Licencias HASP envíe o reciba un paquete
Predeterminado 1 segundo
[NH_IPX]
Claves específicas de sección para [NH_IPX]
nh_use_bindery
Valores Posibles Enabled, disabled (habilitado, deshabilitado)
Descripción Usa IPX con bindery. Se ignora bajo API de Win32. Este parámetro sustituye al antiguo parámetro llamado NH_USE_SAP
Predeterminado Disabled (deshabilitado)
nh_use_broadcast
Valores posibles Enabled, disabled (habilitado, deshabilitado)
Descripción Usa el mecanismo IPX Broadcast
Predeterminado Enabled (habilitado)
nh_bc_socket_num
Valores posibles <número>
Descripción Establece el número de socket para el mecanismo broadcast. El número es hexadecimal
Predeterminado 7483H
Configuración de Clientes HASP4 Net Parte 4 – Capítulo 20
252
nh_use_int
Valores posibles 2F_NEW, 7ª_OLD
Descripción 2F_NEW significa que el protocolo IPX usará la interrupción 2Fh SOLAMENTE. 7F_OLD significa que el protocolo IPX usará la interrupción 7Ah SÓLO.
Predeterminado 2F_NEW
nh_server_name
Valores posibles <nombre1>,<nombre2>,…
Descripción Comunica con el Administrador de Licencias HASP con el nombre indicado.
Máximo: 6 nombres, de hasta 7 caracteres cada uno.
nh_search_method
Valores posibles Localnet, internet
Descripción Determina que la aplicación protegida comunique únicamente con el Administrador de Licencias HASP en la red local, o con algún Administrador de Licencias HASP en la interred.
Predeterminado Internet
nh_datfile_path
Valores posibles <path>
Descripción Especifica la ubicación del archivo de dirección del Administrador de Licencias HASP.
Claves Generales para [NH_IPX]
Uso de HASP en una Red Configuración de Clientes HASP4 Net
253
nh_session
Valores posibles <número>
Descripción Establece la longitud de tiempo durante el cual la aplicación protegida trata de establecer comunicación con el Administrador de Licencias HASP.
Predeterminado 2 segundos
nh_send_rcv
Valores posibles <número>
Descripción Fija el tiempo máximo para que el Administrador de Licencias HASP envíe o reciba un paquete
Predeterminado 1 segundo
Configuración de Clientes HASP4 Net Parte 4 – Capítulo 20
254
[NH_NETBIOS]
Claves específicas de sección para [NH_NETBIOS]
nh_nbname
Valores posibles <nombre>
Descripción Asigna un nombre al Administrador de Licencias HASP. Máximo: 1 nombre, de hasta 8 caracteres
nh_uselananum
Valores posibles <número>
Descripción Asigna un número de lana para usarlo como canal de comunicación.
Claves Generales para [NH_NETBIOS]
nh_session
Valores posibles <número>
Descripción Establece la longitud de tiempo durante el cual la aplicación protegida trata de establecer comunicación con el Administrador de Licencias HASP.
Predeterminado 2 segundos
nh_send_rcv
Valores posibles <número>
Descripción Fija el tiempo máximo para que el Administrador de Licencias HASP envíe o reciba un paquete
Predeterminado 1 segundo
Uso de HASP en una Red Configuración de Clientes HASP4 Net
255
[NH_TCPIP]
Claves específicas de sección para [NH_TCPIP]
nh_server_addr
Valores posibles <dirección1>,<dirección2>
Descripción Establece una dirección IP para todos los Administradores de Licencias HASP que desea buscar. Son posibles ilimitadas direcciones IP y múltiples líneas.
Los posibles formatos de dirección incluyen:
Dirección IP: 192.114.176.65
Nombre de host local: ftp.aladdin.co.il
nh_server_name
Valores posibles <nombre1>,<nombre2>,…
Descripción Comunica con el Administrador de Licencias HASP con el/los nombre(s) indicado(s). Máximo: 6 nombres, de hasta 7 caracteres cada uno.
nh_port_number
Valores posibles <número>
Descripción Fija el número de puerto TCP/IP (opcional).
Predeterminado 475
nh_tcpip_method
Valores posibles TCP, UDP
Descripción Envía un paquete TCP o un paquete UDP
Predeterminado UDP
Configuración de Clientes HASP4 Net Parte 4 – Capítulo 20
256
nh_use_broadcast
Valores posibles Enabled, disabled (habilitado, deshabilitado)
Descripción Usa el mecanismo UDP broadcast
Predeterminado Enabled (habilitado)
Claves Generales para [NH_TCPIP]
nh_session
Valores posibles <número>
Descripción Establece la longitud de tiempo durante el cual la aplicación protegida trata de establecer comunicación con el Administrador de Licencias HASP.
Predeterminado 2 segundos
nh_send_rcv
Valores posibles <número>
Descripción Fija el tiempo máximo para que el Administrador de Licencias HASP envíe o reciba un paquete
Predeterminado 1 segundo
257
Parte 4 – Capítulo 21
Monitorización de Licencias
HASP4 Net Aladdin Monitor permite centralizar la administración de las aplicaciones
del Administrador de Licencias HASP y las llaves HASP4 Net.
Las opciones disponibles son:
• Comprobar las propiedades del Administrador de Licencias HASP.
• Comprobar las llaves HASP4 Net.
• Iniciar y detener el servicio Administrador de Licencias HASP.
Aladdin Monitor está disponible para los siguientes entornos: Windows 98 /
ME, Windows NT / 2000 / XP. Puede comunicar vía TCP/IP e IPX.
Distribución de Aladdin Monitor
Entregue a sus clientes Aladdin Monitor. Aladdin Monitor dispone de un
archivo de ayuda online.
ë Puede configurar Aladdin Monitor con un archivo de configuración cliente HASP4 Net, vea “Configuración de Clientes HASP4 Net” (página 247)
Monitorización de Licencias HASP4 Net Parte 4 – Capítulo 21
258
Instalación de Aladdin Monitor
Puede instalar Aladdin Monitor en cualquier estación de la red. No es
necesario instalar el Administrador de Licencias HASP en la misma
estación.
Para instalar Aladdin Monitor use la utilidad de instalación aksmon.exe y
siga las instrucciones del proceso de instalación.
Indicaciones para Aladdin Monitor
Puede adaptar el programa para que reúna sus requisitos:
• El lenguaje utilizado (Alemán o Inglés)
• La frecuencia de refresco para la caja de dialogo (por defecto cada 2
segundos)
• La frecuencia de solicitudes a la red (por defecto cada 3 minutos)
• Si desea utilizar modo Hardlock, modo HASP o ambos.
• Si desea usar el archivo de configuración nethasp.ini
Uso de HASP en una Red Monitorización de Licencias HASP4 Net
259
Comprobación de las Propiedades del
Administrador de Licencias HASP
En la parte izquierda de la ventana, pulse el Administrador de Licencias
HASP para el que desea comprobar la información del login
ë Si no se muestra el Administrador de Licencias HASP, pulse en primer lugar en la carpeta HASP LM o refresque la pantalla mediante File / Rescan.
La información del Administrador de Licencias HASP se muestra en la parte
derecha de la ventana.
ë Los Administradores de Licencias HASP que atienden únicamente NetBIOS no son reconocidos actualmente por Aladdin Monitor.
Se muestra la siguiente información acerca del Administrador de Licencias
HASP seleccionado:
• Información general acerca del Administrador de Licencias HASP
seleccionado (Tabla 21.1).
• Información acerca de las llaves HASP4 Net que se están
administrando (Tabla 21.2).
Tabla 21.1 Información del Administrador de Licencias HASP
Caja Significado
Name Nombre del PC en el que se está ejecutando el Administrador de Licencias HASP.
Version Versión del Administrador de Licencias HASP.
IP Dirección IP del PC.
Monitorización de Licencias HASP4 Net Parte 4 – Capítulo 21
260
Caja Significado
IPX Dirección IPX del PC
LM Type Versión del Administrador de Licencias HASP.
TCP / IP, IPX Aquí, puede ver qué protocolos se están usando.
Tabla 21.2 Información de la llave HASP
Caja Significado
HASP # Número acumulativo de la llave HASP.
HASP Model Máximo numero de licencias posible
Current Stations Estaciones que actualmente han realizado un login
Comprobación de llaves HASP
En la parte izquierda de la ventana, pulse la llave HASP para la que desea
chequear la información del login. La llave HASP sólo puede ser comprobada
si se ha realizado un login.
ë Si no se muestra la llave HASP, en primer lugar pulse doble clic en el Administrador de Licencias HASP que está haciendo disponible la llave, o refresque la pantalla mediante File / Rescan
La información HASP se muestra en la parte derecha de la ventana.
La información que se muestra acerca de la llave HASP seleccionada es la
siguiente:
• Información general acerca de la llave HASP (Tabla 21.3)
• Una vista de los programas (Tabla 21.4)
• Una vista de los logins de los programas individuales (Tabla 21.5)
Uso de HASP en una Red Monitorización de Licencias HASP4 Net
261
Tabla 21.3 Información HASP
Caja Significado
HASP # Numero acumulativo de la llave HASP
Tabla 21.4 Tabla de Programas
Caja Significado
Program No. Número que representa el programa protegido
Current Stations Estaciones que actualmente han realizado un login
Maximum
Stations
Número máximo posible de estaciones
Activations Máximo de activaciones del programa
Tabla 21.5 Tabla Login
Caja Significado
No. Número acumulativo de logins
Login ID Dirección bajo la que la estación ha realizado login
Protocol Protocolo utilizado
Timeout Tiempo que debe transcurrir sin actividad hasta que la
entrada de login se borra o cancela (en segundos)
Monitorización de Licencias HASP4 Net Parte 4 – Capítulo 21
262
Inicio y detención del Administrador de Licencias
HASP como servicio
El servicio Administrador de Licencias HASP le permite administrar las
llaves HASP4 Net en una estación NT.
Inicio del servicio
Seleccione Start HASP LM Service en el menú HASP LM Service o en
Services/HASP. Se inicia el servicio y ahora puede hacer disponible las
llaves HASP4 Net conectadas localmente a través de la red.
También puede iniciar el servicio pulsando el botón derecho sobre la carpeta
HASP LM y seleccionar Start HASP LM.
Detención del servicio
Seleccione Stop HASP LM Service en el menú HASP LM Service o en
Services/HASP.
El servicio es detenido. La vista se refresca. Esto puede llevar algún tiempo
puesto que supone una búsqueda a través de toda la red.
También puede detener el servicio pulsando el botón derecho sobre la carpeta
HASP LM y seleccionar Stop HASP LM.
263
Parte 5 – Capítulo 22
Adaptación de HASP4 Net
a la Red
Definición del Rango de Estaciones bajo IPX Esta sección describe parámetros adicionales del Administrador de
Licencias HASP y claves de nethasp.ini que puede utilizar para ajustar el
sistema HASP4 Net a su entorno de red.
Con IPX, puede autorizar el acceso a estaciones específicas en un segmento
diferente al Administrador de Licencias HASP.
Para autorizar el acceso desde un segmento diferente:
1. Cargue el Administrador de Licencias HASP con el parámetro -
ipxnosap.
Esto asegura que la dirección del Administrador de Licencias HASP no se
difunde mediante el mecanismo SAP, sino que se encuentra en el archivo
de dirección de HASP4 Net newhaddr.dat.
2. Edite el archivo nethasp.ini como sigue:
• En la sección [NH_COMMON], fije NH_IPX = Enabled
• En la sección [NH_IPX], fije NH_USE_BROADCAST = Disabled
Adaptación de HASP4 Net a la Red Parte 5 – Capítulo 22
264
• En la sección [NH_IPX], fije NH_USE_BINDERY = Disabled
Estas estructuras instruyen a la aplicación protegida para funcionar en
estaciones del entorno para buscar el archivo de dirección y leer la
dirección del Administrador de Licencias HASP.
3. Copie la aplicación protegida y el archivo nethasp.ini en el mismo
directorio. Asegúrese de que cada estación en el rango, y sólo estaciones
en el rango, cargan la aplicación desde este directorio.
Definición del Rango de Estaciones bajo TCP/IP Hay dos métodos para definir el rango de estaciones bajo TCP/IP. Puede
especificar el rango de estaciones que el Administrador de Licencias HASP
sirve, o especificar el rango de estaciones que busca un Administrador de
Licencias HASP concreto.
Especificación del rango utilizando nhsrv.ini Los Administradores de Licencias HASP de Windows y Win32 pueden leer el
archivo de configuración nhsrv.ini. Puede editar este archivo para especificar
qué estaciones debe servir el Administrador de Licencias bajo TCP/IP.
Para especificar el rango de estaciones, edite nhsrv.ini como sigue:
• En la sección [NHS_SERVER], NHS_IP_LIMIT = <ipaddr> [,<ipaddr....]
Formatos de ejemplo para <ipaddr>
Cuando usted especifica el rango de estaciones mediante nhsrv.ini, puede
utilizar cualquiera de los siguientes formatos:
• 10.1.2.3
Uso de HASP en una Red Adaptación de HASP4 Net a la Red
265
El Administrador de Licencias HASP sirve sólo a la estación con la dirección IP
especificada.
• 10.1.2.*
El Administrador de Licencias HASP sirve sólo a estaciones dentro de la
dirección IP especificada, p.e. 10.1.2.0 hasta 10.1.2.255.
• 10.1.*.*
El Administrador de Licencias HASP sirve sólo a estaciones dentro de la
dirección IP especificada, p.e. 10.1.0.0 hasta 10.1.255.255.
• 10.1.2.3-5
El Administrador de Licencias HASP sirve sólo a estaciones con las
direcciones IP 10.1.1.3, 10.1.1.4, 10.1.1.5.
Observe que también puede excluir ciertas direcciones utilizando el
símbolo !. Por ejemplo, escribiendo !10.1.2.7.
Para permitir sólo a algunas estaciones acceder a HASP4 Net en una red
basada en TCP/IP:
1. Edite nhsrv.ini y fije el rango de estaciones.
2. Copie nhsrv.ini en un directorio accesible por el Administrador de Licencias HASP.
Especificación del Rango Utilizando nethasp.ini
Puede editar el archivo de configuración HASP4 Net para especificar el
Administrador de Licencias HASP (según su dirección) que buscará unas
determinadas estaciones.
Para especificar el Administrador de Licencias HASP que buscarán
determinadas estaciones:
1. Edite el archivo nethasp.ini: En la sección [NH_TCPIP], fije
NH_SERVER_ADDRESS= <dirección del Administrador de Licencias
HASP>
2. Copie nethasp.ini en un directorio accesible sólo para el rango de las
estaciones que se desee.
Adaptación de HASP4 Net a la Red Parte 5 – Capítulo 22
266
Definición del Rango de Estaciones bajo NetBIOS Para permitir el acceso sólo a algunas de las estaciones en una red
basada en NetBIOS:
1. Cargue el Administrador de Licencias HASP con el parámetro -nbname
con un nombre de su elección (hasta 8 caracteres). Así da un nombre
NetBIOS del Administrador de Licencias HASP.
Por ejemplo, para cargar haspserv.exe y definir el nombre de la estación de
NetBIOS como firstsrv, introduzca:
haspserv -nbname = firstsrv
2. Edite el archivo nethasp.ini:
• En la sección [NH_COMMON], fije NH_NETBIOS = Enabled
• En la sección [NH_NETBIOS], fije NH_NBNAME = firstsrv
Esto enlaza las estaciones con el nombre NetBIOS.
3. Copie la aplicación protegida y el archivo nethasp.ini en el mismo
directorio. Asegúrese de que cada estación del rango, y sólo estaciones del
rango, cargan la aplicación desde este directorio.
ë No puede tener dos estaciones con el mismo nombre NetBIOS. Si quiere cargar el Administrador de Licencias HASP en más de una estación, debe definir un nombre NetBIOS diferente para cada Administrador de Licencias HASP.
Uso de HASP en una Red Adaptación de HASP4 Net a la Red
267
Adaptación de la Longitud del Timeout
El Administrador de Licencias HASP no puede servir más de una llamada al
mismo tiempo. La longitud del timeout determina cuanto tiempo intenta acceder
una aplicación protegida repetidamente al Administrador de Licencias HASP antes
de dejarlo.
En casi todas las redes, los valores por defecto del timeout son suficientes, así sólo
necesita cambiar los valores por defecto en redes que tienen una HASP4 Net
conectada a una estación lenta u ocupada.
Para definir la longitud del timeout:
En la sección apropiada del archivo nethasp.ini, fije:
NH_SESSION = <m>
NH_SEND_RCV = <n>
Donde m y n se miden en segundos. Por defecto, m son 2 segundos y n 1 segundo.
Definición del Número de Aplicaciones Protegidas Soportadas
Con el Administrador de Licencias HASP, usted puede cambiar el número de
aplicaciones protegidas soportadas. Por defecto el Administrador de Licencias
HASP puede servir un máximo de 250 aplicaciones protegidas, o 1000 (Win32,
Mac).
Para cambiar la ubicación de espacio de memoria predeterminado
Cargue el Administrador de Licencias HASP con el parámetro:
nhsrvw32 –userlist = n
donde n es el número de aplicaciones protegidas que sirve.
El parámetro –userlist sólo está disponible para Win32.
269
Parte 5
Uso del Remote Update
System
Esta parte le ofrece información acerca del Remote Update System (Sistema
de Actualización remota), que le permite actualizar la memoria de las llaves
HASP que ya están en posesión de sus clientes.
El capítulo “Remote Update System (página 271) describe el concepto RUS y
herramientas relacionadas.
El capítulo “API Win32 Remote Update System” (página 291) contiene
información acerca del API que puede utilizarse para actualizar las llaves
remotamente.
271
Parte 5 – Capítulo 24
Remote Update System
El Sistema de Actualización Remota (Remote Update System (RUS)) es una
avanzada utilidad para la actualización segura de llaves HASP de clientes.
RUS le permite actualizar la memoria de las llaves HASP que ya están en
posesión de sus clientes. Usted encripta los cambios a realizar en la
memoria y los envía a sus clientes vía teléfono, fax o e-mail.
Sus revisiones de la memoria permiten habilitar o modificar la ejecución de
módulos de software. Por ejemplo, con los nuevos parámetros que establezca,
los clientes pueden actualizar una aplicación demo a una versión completa.
Con RUS, puede actualizar la memoria de los modelos HASP4 M1, M4,
HASP4 Time y HASP4 Net.
Remote Update System Parte 5 – Capítulo 24
272
Implantación de RUS
La implantación de RUS supone los siguientes dos pasos:
• Creación de las utilidades RUS
• Actualización de las llaves HASP de sus clientes
Utilidades RUS
Con RUS, puede crear dos utilidades:
• La utilidad Vendor
• La utilidad Customer
La utilidad Vendor se queda en su poder y entrega la utilidad Customer a su
cliente.
Para actualizar la HASP, su cliente y usted deben utilizar sus respectivas
utilidades RUS para actualizar la memoria HASP.
Proceso de Actualización
Para actualizar la memoria de HASP:
1. El cliente utiliza la utilidad Customer para obtener el Número ID de la
llave que requiere la actualización y comunicarle a usted el número.
2. Introduzca el Número ID y actualice los datos actualizados en la utilidad
Vendor.
3. Genere las passwords RUS en la utilidad Vendor, y suminístreselas a su
cliente.
4. Su cliente introduce las passwords RUS en la utilidad Customer y
actualiza la memoria de la llave HASP.
Uso del Remote Update System Remote Update System
273
ë El proceso de actualización de la llave HASP del cliente es completamente seguro. Todos los datos intercambiados entre su cliente y usted están encriptados aleatoriamente. Además, las passwords RUS son específicas para cada llave para la que se generan, y no pueden actualizar ninguna otra llave que no sea esa.
Etapas del Sistema de Actualización Remota
Las siguientes ilustraciones muestran los dos pasos en la actualización
remota de las llaves HASP:
Figura 24.1: Paso 1: Creación de las utilidades RUS
Remote Update System Parte 5 – Capítulo 24
274
Figura 24.2: Paso 2: Actualización de la HASP
Uso del Remote Update System Remote Update System
275
Creación de las Utilidades RUS
Cuando genera las dos utilidades separadas – una para usted y otra para su
cliente – usa los dos programas de instalación RUS: vendinst.exe y
custinst.exe.
En concreto, vendinst.exe genera la utilidad Vendor, vendor.exe, y custinst.exe
genera la utilidad Customer, customer.exe.
Ambos, vendinst.exe y custinst.exe se encuentran en el directorio RUS. El
directorio RUS también contiene dos subdirectorios. El subdirectorio IBM
contiene los archivos BIN necesarios para generar las utilidades RUS para
ordenadores IBM y compatibles. El subdirectorio NEC contiene los archivos
BIN necesarios para generar las utilidades RUS para ordenadores NEC
japoneses. Cuando genera las utilidades, copie el contenido del directorio
apropiado en el directorio RUS.
ë Debe suministrar a sus clientes con customer.exe y customer.hlp.
Generación de las utilidades RUS
Cuando genere las utilidades RUS, asegúrese de que los archivos
vendinst.exe, vendor.bin, custinst.exe y customer.bin están en el mismo
directorio:
• Si va a utilizar las utilidades RUS en un IBM, copie el contenido del
subdirectorio IBM en el directorio raíz RUS.
• Si va a utilizar las utilidades RUS en un sistema NEC, copie el
contenido del subdirectorio NEC en el directorio raíz RUS.
Para generar las utilidades RUS:
1. Conecte la llave HASP de su aplicación al PC.
2. Introduzca la siguiente línea de comando desde el DOS para generar la
utilidad Vendor: vendinst <password1> <password2> [pc destino]
Remote Update System Parte 5 – Capítulo 24
276
3. Introduzca la siguiente línea de comando desde el DOS para generar la
utilidad Customer:
custinst <password1> <password2> [pc destino]
Ahora ya ha generado las utilidades RUS
ë Como las utilidades Vendor y Customer se han generado con las passwords correspondientes a una llave HASP específica (o a una serie de llaves con el mismo código de programador), están personalizadas para actualizar esa llave concreta (o serie de llaves).
Parámetros de Instalación RUS
Cuando genere las utilidades RUS desde la línea de comandos, especifique
los siguientes parámetros:
password1, password2
Las passwords de la llave HASP concreta.
target pc
Un parámetro opcional que define en qué tipo de sistema se va a poder
utilizar la utilidad RUS:
Parámetro Función
-ibm El sistema de destino es un PC IBM o compatible. Predeterminado.
-nec El sistema de destino es del estándar japonés NEC.
Uso del Remote Update System Remote Update System
277
La Utilidad Vendor
La utilidad Vendor le permite definir los nuevos datos para la llave HASP de
su cliente.
Estos nuevos datos se recogen como las passwords RUS que debe
suministrar a su cliente.
Consulte “La Utilidad Customer” (página 286) para ver cómo debe usar su
cliente estas passwords para actualizar la llave HASP.
Generación de las Passwords RUS
Para generar las passwords RUS:
1. Para ejecutar vendor.exe teclee desde la línea de comando: Vendor.
La pantalla principal de Vendor:
2. Pulse la flecha de la derecha del campo HASP Type y seleccione el
modelo HASP de su cliente de la lista que aparece.
3. Introduzca el Número ID de la HASP de su cliente en el campo ID
Number.
Remote Update System Parte 5 – Capítulo 24
278
Este número se lo puede proporcionar su cliente, que lo conocerá a través
de la utilidad Customer. Para más información, vea “La Utilidad
Customer” en la página 286.
4. Introduzca los datos con los que desea actualizar la llave de su cliente.
Existen dos formas de introducir los datos, modo FAS o modo Directo.
• Pulse FAS para introducir nuevos parámetros de protección del
sistema Full Authorization System (FAS). La pantalla FAS muestra
los parámetros FAS para el modelo HASP que ha seleccionado. Vea la
siguiente sección, “Introducción de Datos en Modo FAS”.
• Pulse Direct para editar la memoria HASP. Vea la sección
siguiente, “Introducción de datos en Modo Directo”,
Durante una sola sesión RUS puede introducir, o bien parámetros
FAS, o bien editar la memoria de la llave, pero no ambas cosas.
5. Pulse Config si desea usar un archivo de configuración. En la ventana que
se abre puede:
• Grabar los parámetros definidos en un archivo de configuración.
Teclee el nombre del archivo, o seleccione un archivo pulsando
Browse, y a continuación pulse Save.
• Cargar parámetros grabados previamente de un archivo de
configuración.
Teclee el nombre del archivo, o seleccione un archivo pulsando
Browse, y a continuación pulse Load.
6. Pulse Generate para generar las passwords RUS y luego OK para
mostrar en pantalla las passwords RUS. Pueden haber hasta 11
passwords RUS.
Es posible grabar las passwords RUS a un archivo en la opción Save
RUS passwords to a File, introduzca el nombre de un archivo, y luego
OK. Este archivo, después puede usarlo la utilidad Customer para cargar
las passwords RUS automáticamente.
Uso del Remote Update System Remote Update System
279
Ahora entregue las passwords RUS a su cliente, que ya puede actualizar la
llave HASP utilizándolas en la utilidad Customer.
Introducción de Datos en Modo FAS
Con la información para el sistema Full Authorization System (FAS), puede
definir los parámetros de protección de su(s) programa(s), Consulte las
páginas 20 y 159 para más información sobre FAS.
Estos son los parámetros de protección FAS que puede definir en RUS:
Program Number
A cada programa se le asigna su propio número. Si está actualizando los
parámetros de protección de un programa, especifique el número que
previamente le adjudicó. Si está añadiendo un programa, asígnele un número
nuevo.
ë Puede definir los parámetros FAS para un solo programa durante una sesión RUS. Para cada programa que se actualice se generan las passwords por separado.
No asigne un valor superior que el número máximo de programas que puede
grabarse en la llave HASP. Según las diferentes llaves, este es el rango de
números que puede asignar:
• 1-16 para HASP4 M1
• 1-112 para HASP4 M4
• 1-8 para HASP4 Time
• 1-112 para HASP4 Net
Number of Authorized Activations
Este valor es el número máximo de ejecuciones autorizadas para una
aplicación protegida. Introduzca un número de su elección en este campo.
Como alternativa, introduzca U para autorizar un número ilimitado de
ejecuciones. Puede especificar este parámetro con HASP4 M1, M4 y HASP4
Net.
Remote Update System Parte 5 – Capítulo 24
280
Expiry Date
Este parámetro, que únicamente es de aplicación para las llaves HASP4
Time, indica la fecha a partir de la cual, el programa protegido no puede
funcionar. Introduzca números de dos dígitos para el día, mes y año de
caducidad de la aplicación. Pulse “00-00-00” para una fecha ilimitada.
Number of Authorized Stations
Este parámetro, que únicamente es de aplicación para las llaves HASP4
Net, indica el número máximo de estaciones autorizadas a ejecutar el
programa protegido simultáneamente.
Asigne un valor inferior al número de estaciones soportado por el modelo
HASP4 Net de su cliente (5 para HASP4 Net5, y 10 para HASP4 Net10… ).
Si tiene una HASP4 NetU, puede introducir una U para autorizar un número
ilimitado de estaciones.
Introducción de Datos en Modo Directo Cuando introduce datos en modo Directo, puede editar hasta 16 celdas de
memoria consecutivas.
La pantalla Edit Memory in Direct Mode se muestra así:
Introduzca datos en los siguientes campos:
Uso del Remote Update System Remote Update System
281
Start Address
En esa dirección, se inicia la actualización de la memoria HASP. Introduzca
un valor decimal. No deje este campo vacío.
Data Cells
Las 16 celdas de datos se muestran en tres modos (Characters, Decimal, y
Hexadecimal), cada uno en un panel separado. Introduzca datos en uno de
los tres paneles en el formato de ese panel.
Introduciendo datos en uno de los tres paneles, actualiza simultáneamente
las correspondientes celdas en los otros paneles con valores análogos.
Para moverse entre paneles, pulse el ratón en cualquier celda del panel
deseado.
ë Puede introducir datos en menos de 16 celdas. Sin embargo, no deje una celda de memoria vacía entre dos celdas que contengan valores.
Remote Update System Parte 5 – Capítulo 24
282
Activación de la Utilidad Vendor con parámetros Mediante parámetros de la línea de comando del DOS puede ahorrar tiempo
y trabajo sobre el teclado. También puede ejecutar la utilidad Vendor desde
archivos batch o desde sus propias aplicaciones sin pasar por las pantallas
de la utilidad.
Parámetros de línea de comando de la utilidad Vendor
La siguiente tabla enumera los parámetros de la línea de comando y una
breve descripción de cada uno. Puede usar la cadena completa o un
parámetro con su abreviación representada por mayúsculas contenidas en la
cadena. Por ejemplo, puede introducir tanto, -HT como -HaspType.
Tabla 24.1: Parámetros de línea de comando de la utilidad Vendor
Parámetro Función
-Help Muestra una lista de todos los parámetros y una breve explicación de cada uno.
-HaspType <Tipo de HASP >
Introduzca el tipo de llave HASP que usa su cliente.
Los valores posibles son:
• memo para llaves HASP4 M1 y M4
• time para HASP4 Time
• net para HASP4 Net
-IDnum < HASP ID number>
El valor hexadecimal del Número ID de la HASP del cliente.
-CfgFile <archivo de configuración >
El path completo y nombre del archivo de configuración donde se grabaron todos o alguno de los parámetros definidos previamente en la utilidad Vendor.
-DiRect Indica que los datos se han introducido en modo FAS.
-Fas Los datos que se han definido en los parámetros FAS.
-GenPassFile <nombre de archivo>
El nombre del archivo en que graba los passwords RUS.
Uso del Remote Update System Remote Update System
283
Parámetro Función
-PrgNum <program number>
El número que asigna al programa.
-STations <número de estaciones >
El número de estaciones autorizadas a ejecutar el programa. Sólo para llaves HASP4 Net.
-ACtivations <número de ejecuciones >
El número máximo de ejecuciones para un programa. Introduzca Upara permitir un número de ejecuciones ilimitadas. Este parámetro FAS es aplicable a HASP4 M1, M4 y HASP4 Net.
-ExpDate <mm-dd-yy> La caducidad del programa. Introduzca 00-00-00 para una fecha ilimitada. Sólo para llaves HASP4 Time.
-StartAddr <dirección de inicio >
La dirección de inicio para editar la memoria en modo Directo.
-DataD <dataD1>..<dataD16>
Hasta 16 valores decimales con que edita la memoria HASP.
-DataH <dataH1>..<dataH16>
Hasta 16 valores hexadecimales con que edita la memoria HASP.
-DataS <"cadena" > El número de caracteres (hasta 32 para HASP4 M1, M4 y HASP4 Net, y hasta 16 para HASP4 Time) con que actualiza la memoria HASP. Introduzca la cadena usando comillas.
-BatcH Ejecuta la utilidad Vendor en modo batch sin acceder a las pantallas de la utilidad.
Ejemplo del Uso de los Parámetros en la Línea de Comando
Los siguientes ejemplos muestran la ejecución de la utilidad Vendor desde la
línea de comando:
vendor -bh -ht memo -id 7a37381e -f -pn 5 -ac u -gpf ruspass.txt
Ejecuta la utilidad Vendor (vendor) en modo batch (-bh) sin acceder a la
pantalla de la utilidad. La llave del cliente que se va a actualizar es una
HASP4 M1, M4 (-ht memo), cuyo Número ID es 7a37381e (-id 7a37381e).
La actualiza usando FAS (-f), fijando para el programa número 5 (-pn 5) un
número ilimitado de ejecuciones autorizadas (-ac u). Genera las passwords
RUS, guardándolas en un archivo llamado ruspass.txt (-gpf ruspass.txt)
Remote Update System Parte 5 – Capítulo 24
284
ë El archivo ruspass.txt puede usarse junto con la utilidad Customer para cargar las passwords RUS automáticamente.
vendor -ht net -dr -dd 12 15 25
Ejecuta la utilidad Vendor (vendor) para actualizar una HASP4 Net (-ht
net). Edita la memoria (-dr) para que las tres primeras celdas (-dd)
reciban como valores decimales 12, 15, y 25. (Los campos de datos de
carácter y hexadecimal recibirán sus correspondientes valores
automáticamente.)
Códigos de Error de la Utilidad Vendor
La utilidad Vendor retorna los códigos de error de nivel DOS enumerados:
Tabla 24.2: Códigos de Error de la Utilidad Vendor
Código Descripción
2, 5 Número ID no válido o no se encuentra
3, 4 Tipo de llave Hasp no válido o no se encuentra
7, 8 Número de Programa FAS no válido o no se encuentra
9, 10 Número de ejecuciones autorizadas no válido o no se encuentra
11, 12 Número de estaciones autorizadas no válido o no se encuentra
13, 14, 16 Dirección de inicio no válida o no se encuentra
15, 20 Datos no válidos o no se encuentra
17, 18 Datos fuera de rango
22 No se encuentra cadena de datos
23, 24 Cadena de datos demasiado larga
25 Sólo puede usar un parámetro de datos (DataD, DataH, o DataS)
Uso del Remote Update System Remote Update System
285
Código Descripción
26, 27 Fecha de caducidad no válida o no se encuentra
29 Imposible utilizar el parámetro CfgFile desde el archivo de configuración
30 No encuentra el archivo de configuración
31, 35 Error al abrir o leer el archivo de configuración
32, 39 No encuentra o no puede crear el archivo de passwords RUS
33 Desbordamiento de memoria al leer un archivo
34 No es un archivo de configuración de la utilidad Vendor
36 No encuentra el modo de introducción de datos (FAS/Direct)
40 Demasiadas palabras de datos
41 Parámetro no válido
52 Número ID no válido
55, 56 No puede usar parámetros FAS para modo directo y viceversa
59 El rango de ejecuciones es 0-65534, o U para ilimitadas
60 El rango de estaciones es 1-65534, o U para ilimitadas
Remote Update System Parte 5 – Capítulo 24
286
La Utilidad Customer
Para que su cliente pueda actualizar la llave HASP, debe proporcionarle la
utilidad Customer, customer.exe. Las siguientes instrucciones explican cómo
debe instalar la utilidad su cliente en su puesto de trabajo.
Suministre estas instrucciones a sus clientes junto con el archivo de ayuda
customer.hlp.
Uso de la Utilidad Customer
Cuando usted, el cliente, usa la utilidad Customer, tiene dos opciones
principales:
• Obtener el Número ID de la llave HASP
• Actualización de la llave HASP
Obtención del Número ID HASP
En este paso, usted comprueba el Número ID de su llave HASP, y se lo
comunica a su proveedor.
Para obtener el Número ID HASP:
1. Conecte la llave HASP a su PC.
2. Desde la línea de comando del DOS teclee:
customer.
Aparece la pantalla principal de la utilidad Customer.
3. Pulse Get ID para obtener el Número ID de HASP (y saber el tipo de
HASP que tiene).
Aparece la pantalla Número ID HASP, mostrando el Número ID de HASP y
el tipo de su llave HASP:
Uso del Remote Update System Remote Update System
287
4. Si desea grabar esta información en un archivo de configuración, pulse
Save e introduzca el nombre del archivo, o pulse Browse y elija un
archivo de uno de sus directorios, y pulse OK.
Suministre a su proveedor el Número ID HASP de la llave y el tipo de HASP
bien dictándoselos directamente o enviando el archivo de configuración. Con
esos datos, el proveedor puede generar las passwords RUS que necesita para
actualizar su llave HASP.
Actualización de su llave HASP con las Passwords RUS
En este paso, obtiene las passwords RUS de su proveedor. Estas passwords
contienen los datos que se grabarán en la memoria de su llave HASP.
Para actualizar su llave HASP con las passwords RUS:
1. Conecte la llave HASP al PC.
2. Desde la línea de comando del DOS teclee:
customer.
Aparece la pantalla principal de la utilidad Customer.
3. Introduzca las passwords RUS que ha recibido de su proveedor en la
utilidad Customer:
Remote Update System Parte 5 – Capítulo 24
288
• Pulsando Manual y tecleando las passwords en la siguiente pantalla:
• Pulsando Config, teclee el nombre del archivo de configuración que
contiene las passwords RUS (o pulsando Browse para encontrarlo) y
pulsando OK. Este proceso carga las passwords automáticamente del
archivo de configuración suministrado por su proveedor.
Aparecen en pantalla las passwords RUS.
4. Pulse Update cuando las passwords estén introducidas o cargadas desde
el archivo de configuración para actualizar su llave HASP.
Ejecución de la Utilidad Customer con parámetros
Mediante los parámetros de la línea de comando del DOS puede ahorrar
tiempo y labor de teclado. Con los parámetros también puede ejecutar la
utilidad Customer desde archivos batch o desde sus propias aplicaciones sin
pasar por las pantallas de la utilidad.
Parámetros de línea de comando de la utilidad Customer
La siguiente lista enumera los parámetros de línea de comando y una breve
descripción. Puede usar la cadena completa o una abreviación representada
por las mayúsculas de la cadena. Por ejemplo, puede teclear -UP o -UPdate.
Uso del Remote Update System Remote Update System
289
Tabla 24.3: Parámetros de línea de comando de la Utilidad Customer
Parámetro Función
-Help Muestra una lista de todos los parámetros con una breve explicación de cada uno.
-GetId Muestra el Número ID de HASP.
-VenFile <nombre de archivo> Nombre de un archivo donde se graba el Número ID de HASP.
-UPdate <pass1>..<pass11> Actualiza la llave HASP con las passwords RUS específicas. Pueden haber hasta 11 passwords.
-CfgFile <archivo de configuración >
Nombre del archivo de configuración que contiene las passwords RUS.
-BatcH Ejecuta la utilidad Customer en modo batch sin acceder a las pantallas de la utilidad.
-NoBatch Deshabillita el modo batch (como cuando se desea cargar las passwords RUS desde un archivo de configuración).
Ejemplo de Uso de los parámetros desde la Línea de Comando:
Los siguientes ejemplos muestran la ejecución de la utilidad Customer
desde la línea de comando:
customer -bh -cf ruspass.txt
Ejecuta la utilidad Customer (customer) en modo batch (-bh) sin
acceder a la pantalla de la utilidad. Actualiza la llave HASP obteniendo
las passwords RUS desde un archivo de configuración llamado ruspass.txt
(-cf ruspass.txt).
customer -cf ruspass.txt –nb
Ejecuta la utilidad Customer (customer). Accede a la pantalla de la
utilidad (-nb) y actualiza la HASP obteniendo las passwords RUS desde
un archivo de configuración llamado ruspass.txt (-cf ruspass.txt).
Remote Update System Parte 5 – Capítulo 24
290
Códigos de Error de la Utilidad Customer
La utilidad Customer retorna códigos de error de nivel DOS enumerados en
la siguiente tabla de errores:
Tabla 24.4: Códigos de Error de la Utilidad Customer
Código Descripción
1, 2 Passwords RUS no válidos o no se encuentran
4 No se encuentra el archivo de configuración
6 Error abriendo el archivo de configuración
7 Archivo de configuración ilegal
8 Desbordamiento de memoria leyendo el archivo de configuración
12 Llave HASP incorrecta
13 Imposible generar el archivo de configuración sin el Número ID
14 No encuentra el nombre del archivo para grabar el Número ID
18 Error al abrir/crear el archivo para grabar el Número ID
19 Parámetro no válido
101 No se encontró la llave HASP
104 Número ID HASP erróneo
106 Dirección de inicio no válida
107 Demasiadas palabras de datos
108 Passwords RUS incorrectas
109 Error de lectura de la memoria HASP
291
Parte 5 – Capítulo 25
Remote Update System API Win32
Con el API de Win32 puede actualizar remotamente la memoria de las
llaves HASP4 M1, M4, HASP4 Time y HASP4 Net. La actualización genera
un conjunto de cadenas seguras que pueden enviarse al usuario, para ser
interpretadas por una llave específica. Los siguientes componentes son de
interés a la hora de actualizar las llaves HASP utilizando este sistema. El
directorio RUS API del CD de HASP contiene los siguientes archivos:
haspdev.dll
Librería para el vendedor. Esta librería ofrece dos funciones diferentes para
crear las cadenas de actualización para llaves HASP: una para una
actualización de la memoria general, y la segunda para actualizar la
memoria FAS.
Haspclnt.dll
Librería para el cliente. Esta librería ofrece dos funciones diferentes de
utilidad para la actualización de las llaves HASP: una para la integración de
las actualizaciones de memoria en las llaves del cliente, y la segunda para
obtener los IDs de las llaves HASP.
Utilidad de personalización
La utilidad de personalización (confdll.exe) es una aplicación de línea de
comando para la incorporación de las passwords HASP en la DLL de cliente,
haspclnt.dll.
Remote Update System API Win32 Parte 5 – Capítulo 25
292
Aplicaciones de ejemplo
El API de Win32 se entrega con aplicaciones de ejemplo para ayudarle a
integrar el RUS de Win32 en su aplicación.
Las siguientes secciones describen la implantación del API de Win32 en su
aplicación y cómo realizar actualizaciones utilizándolo.
Implantación de RUS
Antes de actualizar las llaves HASP con el API Win32 de RUS, debe
familiarizarse con los conceptos RUS, Para este fin, repase las aplicaciones
de ejemplo suministradas.
La implementación del API de RUS supone dos etapas:
Paso1: Preparación de su aplicación para RUS
1. Personalice haspclnt.dll con sus passwords HASP. La DLL personalizada
puede enviarse junto con su aplicación. Vea la página 299, utilidad de
personalización.
2. Incorpore las rutinas de actualización RUS cliente en su aplicación. Vea
las aplicaciones de ejemplo.
Paso2: Realización de Actualizaciones
1. Utilice haspclnt.dll (DLL de cliente) para obtener el Número ID de la llave a actualizar.
2. Utilice haspdev.dll desde su entorno de producción para crear las cadenas de actualización necesarias.
Envíe los datos de actualización a su cliente para que los introduzca en la aplicación.
Uso del Remote Update System Remote Update System API Win32
293
Funciones Suministradas en la DLL Vendor La librería haspdev.dll es el API Win32 para vendedores. Contiene estas dos
funciones:
• Signed int RUS_CreateUpdateDirect para actualización de la memoria
general, y
• Signed int RUS_CreateUpdateFAS para actualizar la memoria FAS
Ambas funciones generan cadenas de actualización, que deben enviarse al
cliente para la actualización de la memoria de su llave HASP.
RUS_CreateUpdateDirect
Descripción
Cuando utilice esta función no es necesario que esté ninguna llave HASP conectada
Sintaxis
Signed int RUS_CreateUpdateDirect ( DWORD IdNum, Int Password1,
Int Password2, Int KeyType, Int Address, Int NumOfBytesToUpdate, Char *MemoryImage, Int CodeBufferSize Char *Code, Void *sKey)
Parámetros Utilizados
IdNum Número ID de la llave HASP del cliente. Introduzca el Número ID único de 32-bits de la llave HASP de su cliente. Si desea generar datos para llaves sin comprobar el Número ID durante el proceso de actualización, introduzca 0. Esto actualizará todas las llaves con las passwords que se especifiquen.
Password1, Password2
Passwords de las llaves HASP a actualizar.
Remote Update System API Win32 Parte 5 – Capítulo 25
294
KeyType Tipo de la llave HASP. Las llaves posibles son HASP4 M1, M4, HASP4 Net o HASP4 Time
Address Dirección de inicio de la memoria HASP a partir de la que va a actualizar la memoria HASP:
NumOfBytesToUpdate Número de Bytes a actualizar en la memoria HASP.
MemoryImage Puntero de los datos que desea escribir en la memoria HASP
CodeBufferSize Longitud del buffer provisto
Code Puntero del área de datos que va a contener las cadenas ASCIIZ (ASCII zero) de códigos generados.
SKey Parámetro (puntero) reservado para uso futuro. Actualmente debe fijarse a NULL.
Valores Devueltos Consulte la sección “Valores Devueltos” más adelante.
Uso del Remote Update System Remote Update System API Win32
295
RUS_CreateUpdateFAS
Descripción
Cuando utilice esta función, no es necesario que tenga una llave HASP conectada. La función está disponible para llave HASP4 Net, HASP4 Time y HASP4 M1, M4.
Sintaxis
Signed int RUS_CreateUpdateDirect (
DWORD IdNum, Int Password1, Int Password2, Int KeyType, Int ProgramNumber, Int Activations, Int Year, Int Month, Int Day, Int Stations, Int CodeBufferSize Char *Code Void *skey)
Parámetros usados
IdNum Número ID de la llave HASP del cliente. Introduzca el Número ID único de 32-bits de la llave HASP de su cliente. Si desea generar datos para llaves sin comprobar el número ID durante el proceso de actualización, introduzca 0. Esto actualizará todas las llaves con las passwords que se especifiquen.
Password1, Password2
Passwords de las llaves a actualizar
KeyType Tipo de llave HASP. Los tipos de llave posibles son HASP4 M1, M4, HASP4 Net o HASP4 Time.
ProgramNumber Cada programa tiene asignado su propio número. Si está actualizando los parámetros de protección de un programa, especifique el número que le asignó previamente. Si está añadiendo un programa nuevo, asígnele un nuevo número.
Remote Update System API Win32 Parte 5 – Capítulo 25
296
Activations Número de activaciones autorizadas para la aplicación protegida. Sólo aplicable para llaves HASP4 Net y HASP4 M1, M4. Introduzca 65535 para autorizar un número ilimitado de activaciones
Year, Month, Day Fecha de caducidad. De aplicación sólo para HASP4 Time. Observe que el rango que debe dar es 1992 – 2091. Fije todos los valores a 0 para dar una fecha ilimitada
Stations Número de estaciones autorizadas. De aplicación sólo para HASP4 Net. Este parámetro indica el número de estaciones autorizadas a ejecutar la aplicación simultáneamente. Fije el valor 0 para autorizar un número ilimitado de estaciones.
CodeBufferSize Longitud del Buffer provisto.
Code Puntero del área de datos que va a contener las cadenas ASCIIZ (ASCII zero) de códigos generados.
SKey Parámetro (puntero) reservado para uso futuro. Actualmente debe fijarse a NULL.
Valores Devueltos Consulte la sección “Valores Devueltos” más adelante.
Uso del Remote Update System Remote Update System API Win32
297
Funciones Provistas en la DLL de cliente La librería haspclnt.dll incluye las siguientes funciones que deben ser llamadas desde el PC con la correspondiente HASP conectada:
• signed int RUS_PerformUpdate para actualizar la memoria de la HASP del cliente.
• Signed int Get_KeyID para obtener el ID de la llave HASP conectada
Antes de llamar a una de estas funciones, la DLL debe haberse personalizado. Vea “Utilidad de Personalización” en la página 301.
RUS_PerformUpdate
Descripción
Esta función actualiza la memoria de una o más llaves HASP. Si la actualización se realiza contemplando el Número ID, se comprobará el Número ID, el tipo de llave y las passwords. Si no es así, sólo se comprueba el tipo de llave y las passwords.
Sintaxis
Signed int RUS_PerformUpdate (char *Code)
Parámetros usados
Code Cadenas de datos ASCIIZ para la actualización (generadas usando la correspondiente función de la DLL del vendedor.)
Valores Devueltos Consulte la sección “Valores Devueltos” más adelante.
Remote Update System API Win32 Parte 5 – Capítulo 25
298
Get_KeyID
Descripción
Esta función obtiene el Número ID de la llave conectada. Esta función es similar a la correspondiente función del API de HASP, pero se incluye en la DLL para la optimización de la instalación.
Sintaxis
Signed int Get_KeyID (unsigned int *KeyID)
Parámetros usados
KeyID Devuelve el ID de la llave conectada en ese momento
Valores Devueltos
Consulte la sección “Valores Devueltos” más adelante.
Uso del Remote Update System Remote Update System API Win32
299
Valores Devueltos General
SUCCESS La función se ejecutó correctamente.
HASP_ERROR_IN_LOW_WORD Error durante una llamada a HASP. Se devuelve un código de error del API de HASP en low word
OPERATION_FAILED La operación no se realizó correctamente
DLL_NOT_CUSTOMIZED La librería no ha sido personalizada.
RUS ID
HASP_NOT_FOUND No se encuentra la llave HASP
UNDEFINED_HASP La llave HASP
HASP_3_DETECTED Se ha detectado una llave HASP 3
BATTERY_DEAD_OR_MEMORY_CORRUPT
La batería de la llave no funciona o la memoria está corrompida
Remote Update System API Win32 Parte 5 – Capítulo 25
300
RUS Update
INVALID_CODE La cadena especificada en el parámetro Code no es válida
INVALID_KEY_ID La actualización es dependiente del número ID; el ID de la llave conectada no coincide.
KEY_NOT_FOUND No se encuentra la llave HASP con las passwords especificadas
KEYTYPE_MISMATCH La llave HASP conectada no corresponde al tipo especificado
Memory Update
BUFFER_TOO_SMALL
La longitud del buffer especificado en el parámetro CodeBufferSize es demasiado pequeña
ILLEGAL_MODULE_NUMBER El número de programa está fuera de rango para el tipo de llave especificada
INVALID_PARAMETER
Al menos uno de los parámetros introducidos no es válido, por ejemplo, no se especificaron passwords
ILLEGAL_KEYTYPE El tipo de llave especificada en el parámetro KeyType es desconocido.
DETECTED_TAMPERING Se ha detectado una manipulación en la información de la licencia
HASH_MEMORY_OVERFLOW El buffer que contiene el hash es demasiado pequeño
Uso del Remote Update System Remote Update System API Win32
301
Utilidad de Personalización
Cada vendedor genera una DLL única con las funciones necesarias para la
actualización remota de las llaves. Esta DLL contiene las passwords HASP
y está protegida con la Envolvente HASP Win32 contra ingeniería inversa.
Para personalizar la DLL, debe utilizarse una sencilla utilidad de línea de
comando (confdll.exe):
Sintaxis
Confdll <nombre de DLL> <Password1> <Password2> <Envolvente>
Ejemplo
Confdll.exe C:\demo\haspclnt.dll 15417 9632 D:\demo\instww32.exe
En el ejemplo anterior, la DLL se personalizará respecto a las passwords de
la Demo HASP y se protegerá usando la utilidad HASP Envelope Win32,
instw32.exe del CD.
303
Apéndice A
Solución de Problemas
La primera parte de este apéndice ofrece una lista de pruebas que le puede ayudar
a resolver algunos de los problemas más comunes que podría encontrar cuando
utiliza HASP. La segunda parte le ayuda listando problemas específicos que usted
y sus clientes puedan encontrar, junto con sus soluciones.
La línea de productos HASP representa el más alto estándar de calidad asegurada.
Sin embargo, como cualquier otro dispositivo periférico, podría no operar en ciertas
configuraciones del PC debido a un equipo defectuoso o a una instalación
inadecuada. Este apéndice de Solución de problemas le puede guiar si se encuentra
en esta situación.
Para evitar dificultades, asegúrese de que está utilizando versiones de software
actualizadas de HASP. Contacte con su proveedor local de HASP para disponer de
las últimas actualizaciones.
Si los problemas persisten, compruebe si funciona el ejemplo de HASP, y las
utilidades de test y diagnósticos. Comunique los resultados a su distribuidor local
HASP.
Apéndice A: Solución de Problemas
304
Listado de Comprobación Si uno de sus clientes reporta un problema, compruebe la siguiente lista:
• ¿Ocurre el mismo problema con otra llave HASP?
Si no es así, reemplace la llave defectuosa por otra nueva.
• ¿Está la llave HASP conectada correctamente al puerto paralelo?
• ¿Hay una impresora conectada a la HASP?
Si está, y funciona bien, desconecte la impresora y compruebe si la
HASP funciona sin ella.
Si lo hace, compruebe la calidad del cable, y asegúrese de que se ajusta
a los estándares IEEE. Debe estar escrito en el mismo cable.
Si el cable se ajusta a los estándares, pero la llave no funciona
apropiadamente, intente utilizar o instalar un segundo puerto paralelo
para la HASP para evitar cualquier problema que la impresora pudiera
estar causando.
Si no está, intente reemplazar la tarjeta de impresora original o
utilizar otro puerto paralelo.
• ¿Hay algún problema de impresión?
Si es así, compruébelo con otra impresora en el mismo PC para
determinar si el problema es específico de la impresora. Ejecute hinstall
con el parámetro –i –cnt=yes
• ¿Está el PC infectado por un virus (que podría estar evitando el
funcionamiento correcto de la aplicación)?
• ¿Persiste el problema cuando la aplicación protegida funciona en otro PC del mismo
modelo?
Apéndice A Solución de Problemas
305
Problemas y Soluciones
Problema La HASP está conectada pero la aplicación protegida no la encuentra.
Solución A pesar del esfuerzo realizado para asegurar la mejor comunicación, en raras ocasiones una llamada a la rutina hasp() podría no ser activada o bien transmitida. Recomendamos que llame a la rutina hasp() con un servicio varias veces antes de asumir que la HASP no está conectada.
Problema Obtiene errores de impresión cuando intenta imprimir desde una aplicación protegida de Windows.
Solución Esta situación se debe a un conflicto entre el acceso a la impresora y el acceso a HASP. Para evitar conflictos entre HASP y otros dispositivos paralelos (tales como la impresora), instale el HASP Device Driver.
Problema Estando conectada una HASP a la impresora, Windows 3.x le advierte de que la impresora es inaccesible o que hay un conflicto de dispositivos.
Solución Abra la ventana Principal del Administrador de Programas.
Seleccione Panel de Control.
Seleccione 386 Extendido.
Seleccione LPT1 en la sección Contención de Dispositivo y active Nunca Alertar.
Repita el paso 4 para LPT2 y LPT3.
Pulse OK.
Apéndice A: Solución de Problemas
306
Problema Intenta utilizar hinstall.exe para instalar el HASP Device Driver bajo Windows NT pero recibe el error 9121.
Solución Si usted intenta activar la utilidad Hinstall bajo Windows NT sin los privilegios del administrador, recibirá este error. Asegúrese de que tiene los privilegios del administrador.
Problema Intenta activar una aplicación protegida con HASP4 M1 / M4 bajo Windows NT / 2000 / XP y Windows 95 / 98 / ME, pero la aplicación no puede encontrar la llave.
Solución Asegúrese de que el HASP Device Driver está instalado. Si el problema persiste cuando el HASP Device Driver está instalado, ejecute:
hinstall –info
La utilidad de Hinstall muestra el número de versión, fecha de instalación, y tipo de sistema. Contacte con su distribuidor local de HASP con la información de estos parámetros.
Problema Sus aplicaciones de 16-bits están protegidas con HASP4 Net y la Envelope. Aunque el número de estaciones activando la aplicación es menor que el número de licencias autorizadas, cuando una estación adicional intenta activarla, recibe un error “too many users”.
Solución Una aplicación 16-bits, protegida sólo con HASP4 Net y la Envelope, no realiza un logout HASP4 Net. Cuando esta aplicación termina, permanece listada en la tabla log, y por lo tanto la licencia no es liberada.
Vuelva a proteger su aplicación utilizando el API de HASP para ejecutar un logout HASP4 Net. Esto borra su aplicación de la tabla log y libera la licencia.
Apéndice A Solución de Problemas
307
Problema Ha protegido una aplicación para red y monopuesto con HASP4 M1 / M4 y HASP4 Net. Ahora descubre que puede activar la aplicación una estación más del número de licencias que ha autorizado.
Solución Esta situación ocurre porque la aplicación primero intenta acceder al puerto local para encontrar una HASP4 M1 / M4. Si los códigos deprogramador de su HASP4 M1 / M4 y HASP4 Net son los mismos, la aplicación activada desde la estación con la HASP4 Net conectada encuentra la HASP4 Net local. La aplicación trata la HASP4 Net local como si ésta fuera una llave monopuesto y no informa de la activación en la tabla log de HASP4 Net. Por lo tanto, la aplicación no utiliza una licencia.
Para evitar esta situación, asegúrese de que HASP4 M1 / M4 y HASP4 Net tienen diferentes códigos de programador.
Problema Su aplicación de Windows protegida con HASP4 Net retorna el Error 21 del LastStatus de HASP4 Net.
Solución Las aplicaciones de DOS extendido y Windows requieren una media de 8KB de memoria DOS. El API de HASP4 Net requiere 1 KB de memoria DOS.
El error 21 del LastStatus de HASP4 Net es emitido cuando la cantidad de memoria DOS es menor de 1KB y por lo tanto insuficiente para el sistema HASP4 Net. En tales casos, no sólo las aplicaciones protegidas HASP4 Net, sino otras aplicaciones Windows están desactivadas.
Para resolver este problema, descargue algún programa residente o salga de alguna aplicación abierta de Windows. Debe utilizar la misma solución con cualquier aplicación que se queje sobre memoria DOS insuficiente.
Apéndice A: Solución de Problemas
308
Problema Su aplicación está funcionando en una estación que no tiene drivers de red cargados. La estación se deja de responder cuando la aplicación ejecuta un login HASP4 Net.
Solución Esto ocurre cuando el archivo de configuración de HASP4 Net activa un protocolo específico. El sistema HASP4 Net intenta utilizar el protocolo especificado sin comprobar si está realmente presente. Si la estación no tiene drivers de protocolo instalados, reacciona parándose.
La solución es borrar el archivo de configuración de HASP4 Net. O, si lo necesita, cargar los drivers de red.
Problema Al acceder al puerto paralelo el PC se cuelga.
Solución Los puertos paralelos de los PCs IBM y compatibles tienen asignados uno de los siguientes puertos I/O: 3BCh, 378h, o 278h.
Las tarjetas de red usualmente toman hasta 10h o 20h puertos I/O consecutivos de sus direcciones base.
Cuando el puerto I/O de una tarjeta de red pestaña una tarjeta paralelo, acceder al puerto paralelo puede causar que el PC se cuelgue. Por ejemplo: imprimir, acceder a llaves de protección de software, y acceder a periféricos conectados al puerto paralelo pueden causar que el PC se cuelgue.
Es por lo tanto esencial evitar solapar los puertos I/O cambiando la base I/O de la tarjeta de red.
Hay dos maneras de cambiar la base I/O de la tarjeta de red:
* Algunas tarjetas de red le permiten asignar la dirección I/O con jumpers. Vea la documentación suministrada con la tarjeta para una descripción de las posiciones del jumper para una dirección I/O determinada.
Con las tarjetas nuevas, puede cambiar la dirección I/O utilizando el software suministrado con las tarjetas.
Apéndice A Solución de Problemas
309
Problema Su aplicación protegida con HASP4 Net está funcionando sobre una estación en Windows para trabajo en grupo en una red Novell utilizando IPX y retorna el error 3.
Solución Los tipos de estructura en el archivo net.cfg y en el setup de la red de Windows no son idénticos. Compruebe el tipo de estructura en net.cfg y fije una idéntica para el tipo de estructura de Windows.
Para fijar los tipos de estructura en Windows:
Seleccione Configuración para la Red de la ventana Red.
Pulse en IPX/SPX Compatible Transport with NetBIOS.
Seleccione Frame Type.
Seleccione el tipo de estructura deseada y Pulse Set.
Pulse OK.
Reinicie su sistema.
Problema Su aplicación tarda mucho tiempo en encontrar la HASP4 Net en una red Novell muy grande.
Solución En este caso, es recomendable personalizar el mecanismo de búsqueda. Utilice el archivo de configuración HASP4 Net para desactivar los mecanismos de búsqueda Broadcast y Bindery. De esta forma, el cliente de HASP4 Net busca al Administrador de Licencias HASP4 Net utilizando un mecanismo basado en archivos de dirección, que es mucho más rápido.
Apéndice A: Solución de Problemas
310
Problema Su aplicación tarda mucho tiempo en encontrar la HASP4 Net en una red TCPIP grande.
Solución En este caso, es recomendable personalizar el mecanismo de búsqueda. Use el archivo de configuración para especificar el método de búsqueda UDP o TCP y fijar la dirección IP del Administrador de Licencias HASP4 Net. De esta forma, el cliente HASP4 Net busca el Administrador de Licencias HASP4 Net con la dirección IP específica, lo que es mucho más rápido.
Problema Se recibe el error 8 con HASP4 Net.
Solución El error 8 significa que el cliente HASP4 Net no recibe respuesta del Administrador de Licencias HASP. Para resolver esto, trate de incrementar el tiempo de espera que el cliente H4n requiere una respuesta. Haga esto incrementando la duración del timeout en el archivo de configuración de HASP4 Net.
Problema Se recibe un error 15 con HASP4 Net bajo TCPIP o IPX
Solución El error 15 bajo TCPIP/IPX ocurre sólo cuando se utiliza el mecanismo de búsqueda broadcast. El error 15 significa que se ha emitido por parte del cliente HASP4 Net, pero no se ha encontrado ningún Administrador de Licencias HASP.
Incremente el valor del timeout en el archivo nethasp.ini a 8 segundos. Si después de esto, el error 15 persiste, se debe a uno de los siguientes problemas:
No se ha cargado el Administrador de Licencias HASP.
2 Si se ha utilizado el protocolo TCPIP, entonces el Administrador de Licencias HASP está en una subred diferente.
3 Si se ha utilizado el protocolo IPX, entonces SAP no está soportado.
Si recibe repetidamente el error 15, intente utilizar otro mecanismo de búsqueda.
Apéndice A Solución de Problemas
311
Problema Usted está utilizando una HASP4 Net5 y autorizó a su aplicación cinco licencias, pero sólo tres usuarios pueden activar la aplicación.
Solución Primero utilice HaspEdit y asegúrese de que su aplicación está programada para cinco licencias en la HASP4 Net. Si es así, es posible que se desconozca que las cinco licencias están siendo utilizadas. Utilice Aladdin Monitor para confirmar qué estaciones están utilizando licencias.
313
Apéndice B
Passwords de las Demos HASP
Cuando pide las llaves HASP, se asigna un único código de programador con
passwords únicas de HASP. Recibe las passwords junto con sus llaves
HASP.
Las Tablas B.1 y B.2 lista las passwords a utilizar con la llave demo de
HASP que recibe en su kit de evaluación de HASP.
Tabla B-1: Passwords de las Llaves Demo de Memoria
Código de Programador Password 1 Password 2
DEMOMA 15417 9632
DEMOMB 29875 28774
DEMOMC 29313 23912
Tabla B-2 Passwords de las Llaves Demo HASP4 sin memoria
Código de Programador Password 1 Password 2
DEMO3A 5932 25657
DEMO3B 20580 22012
DEMO3C 10038 15697
315
Apéndice C
Especificaciones Técnicas
Tabla C.1 Especificaciones Generales para todas las llaves HASP
Material caja de plástico ………………………………………………………..ABS
Temperatura operativa ……………………………….0° - 55° C (32° - 131° F)
Temperatura de almacenaje …………………….-25° - 70° C (-13° - 158° F)
Tasación de humedad …………………………0 – 100% sin condensación
UL-6C61 1950 standard ……………………………………….…………….94-V0
Rango de voltaje operativo ASIC* ………………………..…………1.8 - 5.5V
Encadenamiento (no aplicable a HASP4 USB……………….hasta 10 unidades
Rescrituras que permite cada celda de memoria HASP ……… Mínimo 100,000
Retención de la fecha en la memoria HASP ………………….…Mínimo 10 años
Apéndice C: Especificaciones Técnicas
316
Tabla C.2 Especificaciones para HASP4 Std., HASP4 M1, HASP4 M4, HASP4 Net
Dimensiones ………………………………………………………………………………….39 x 53 x 17 mm
Peso ……………………………………………………………………………………….…~33 g
Conectores ………………………………………………………………………………….DB25
Líneas usadas ………………………………………………………………………….D0-D7, INIT, ATFDXT, PE
Memoria Lectura/escritura
HASP4 sin memoria ………………………………………………………..no dispone
HASP4 M1 ………………………………………………………………..112 bytes
HASP4 M4 ………………………………………………………………..496 bytes
HASP4 Net ………………………………………………………………..496 bytes
Baterías/alimentación externa no
Tabla C.3 Especificaciones para HASP4 Time
Dimensiones …………………………………………………………….…………………52 x 53 x 16 mm
Peso ……………………………………………………………….………………………~50 g
Conectores ……………………………………………………….………………….….DB25
Líneas usadas ……………………………………………….…………………….D0-D7, INIT, ATFDXT, PE
Memoria Lectura/escritura ………………………………………………………………512 bytes
HASP4 Time reloj cuenta ……………………………………………………………hora, minuto, segundo, año, mes, día
Exactitud del reloj HASP4 Time ……………………………………………………2 horas por año
Tiempo de vida de la batería ……………………………………………………4+ años
Apéndice C Especificaciones Técnicas
317
Tabla C.4 Modelos USB
Dimensiones ………………………………………………..……………..………..…..57 x 16 x 8 mm
Peso ………………………………………………………………..…..……………….~7 g
Conectores ……………………..…………………………………..…………………USB Tipo A
Líneas usadas ………………………………………………..…………………..Alimentación, tierra, dos líneas de datos
Memoria lectura/escritura
HASP4 USB ……………………………………………………….…..no dispone
HASP4 USB M1 ……………………………………………..…………….112 bytes
HASP4 USB M4 ………………………………………………….….…….496 bytes
HASP4 USB Net ……………………………………....….………496 bytes
Baterías / alimentación externa …………………………………………………..no
Tabla C.5 HASP4 PC-Card
Dimensiones ……..……………………………………………………………………Tipo II
Peso …………………………………………………………..………………………..~25g
Temperatura operativa ……………………………………………………………….0° - 70° C (32° - 158° F)
Tasación de humedad ……………………………………………………….………20 – 80 % Humedad Relativa
Consumo …………………………………………………………..………………...<100mA (normalmente 50 mA)
Voltaje para operatividad ….………………………………………………………..5 V
Baterías / Alimentación externa ………………………………………………….. no
Tecnología ASIC …………….………………………………………….….………CMOS 2µA con celdas E2
Número de ciclos de programación ………………………………….……..……> 100.000
Retención de datos …………………………………………….…..……………...> 10 años
Apéndice C: Especificaciones Técnicas
318
Tabla C.6 AladdinCard ISA
Dimensiones ………………………………………………………..... 113 mm x 100 mm
Peso ………………………………….…………………………….…. ~105 g. (incluyendo cables adaptadores)
Conector ………………………………………………….…….……. Bus ISA a slot de 8 bits
Direcciones IO ………………………………………………………..278h, 378h, 3BCh
IRQ ………………………….…………………………………………No, IRQ5, IRQ7
Voltaje para operatividad ……………………………………………..4.5 V – 5.5 V
Tabla C.7 AladdinCard PCI
Dimensiones …………………………………………………………180 mm x 124 mm
Peso ………………………………………………………………….~105 g (incluyendo cables adaptadores
Conector …………………………………………………………….Conector PCI 32 bits /33 MHz /5v conector
DB25 interno hembra
Direcciones IO …………………………………………………….. Asignadas dinámicamente
IRQ ………………………………………………………………….Asignada dinámicamente
Voltaje para operatividad ………………………………………….5 V
319
Glosario
Activaciones El número de veces que una aplicación protegida con HASP puede ser iniciada
Mecanismo de Búsqueda de Archivos de Dirección
Un mecanismo de búsqueda en el que el cliente HASP4 Net accede a un archivo para obtener la dirección del Administrador de Licencias HASP.
ASIC El Application Specific Integrated Circuit (ASIC) de HASP es un chip propietario, completamente personalizado, con un algoritmo único.
Background HASP Checks
Chequeos activos de la presencia de la llave HASP realizados por la Envelope HASP durante la ejecución de la aplicación.
Mecanismo de Búsqueda Bindery
Mecanismo de búsqueda en el que el cliente HASP4 Net busca el bindery Novell para encontrar el Administrador de Licencias HASP.
Broadcast Método de comunicación a través de la red enviando (broadcasting) mensajes a cada estación de trabajo. Durante la transmisión de mensajes, define un PC concreto como destino, o emite el mismo mensaje para todas las estaciones de la red.
Mecanismo de Búsqueda Broadcast
Mecanismo de búsqueda en el que el cliente HASP4 Net usa una emisión SAP para encontrar el Administrador de Licencias HASP
Encadenamiento La conexión de llaves HASP una detrás de otra.
DataHASP Una prestación de la utilidad HASP Envelope que usa para proteger archivos de datos.
Glosario
320
DemoMA El código de programador de las llaves HASP demo.
Código de Programador
Un código único asignado a cada fabricante de software y quemado en el componente ASIC de HASP.
Fecha de Caducidad
La fecha a partir de la cual la aplicación protegida no puede ejecutarse.
Full Authorization System (FAS)
Poderosa prestación que le permite proteger múltiples aplicaciones con una sola llave, y especificar las condiciones bajo las cuales cada aplicación puede ser utilizada.
HASP HASP es un sistema de protección de software basado en hardware.
Application Programming Interface HASP (API)
Un interface a un archivo objeto o DLL HASP que usted linka a su aplicación, y que le permite insertar llamadas a HASP desde su código fuente.
Llave HASP Demo Una llave HASP con passwords demo (15417 9632)Y CÓDIGO DE PROGRAMADOR DEMOMA que se usa para la evaluación del sistema de protección HASP.
Kit de Evaluación HASP
Un paquete que contiene todo lo necesario para evaluar el sistema de Protección HASP.
HASP Device Driver
Un driver que interviene entre la aplicación protegida con HASP y la llave HASP.
HASP Device Driver de Carga Dinámica
HASP Device Driver propietario que permite su carga sin necesidad de reiniciar el sistema.
Aladdin Diagnostic Herramienta utilizada para comprobar toda la información de su sistema relativa a HASP.
HASP Envelope Utilidad HASP que envuelve una aplicación en un escudo protector y asegura que la aplicación protegida no puede funcionar excepto si está conectada al PC la llave HASP correcta.
Glosario
321
HASP Envelope Wizard
Guía paso a paso a través del proceso de protección utilizando HASP Envelope
Número ID HASP Un número único asignada a cada llave de memoria HASP durante el proceso de fabricación.
Memoria HASP Memoria Interna de lectura / escritura, la cantidad de memoria varía dependiendo del modelo HASP
Llave de memoria HASP
Las llaves de memoria HASP tienen una memoria interna de lectura / escritura, cuyo tamaño depende del modelo. Los siguientes modelos contienen una memoria: HASP4 M1 (112 bytes), HASP4 M4 (496 bytes), HASP4 Time (496 bytes + 16 bytes), HASP4 Net (496 bytes)
Passwords HASP Dos passwords únicas asignadas a cada fabricante de software, que le permiten el acceso a las HASP.
Rutina hasp() La rutina del API de HASP que accede a HASP.
Llave HASP monopuesto
Llave HASP diseñada para PCs monopuesto.
Kit de Inicio HASP Paquete que contiene todo lo que precisa para evaluar el sistema HASP y proteger su software de forma inmediata.
Utilidades HASP Test
Utilidades para testear el API de HASP y las operaciones HASP4 Net.
HASP4 Time Llave HASP monopuesto que contiene un chip ASIC, reloj de tiempo real interno, y según el modelo, hasta 512 bytes de memoria interna de lectura / escritura.
Hinstall Aplicación que instala el HASP Device Driver
Idle Time Periodo tras el cual la estación es considerada inactiva si no ha accedido a HASP4 Net.
Búsqueda automática HASP4 Net.
Método predeterminado por el que la aplicación protegida con HASP4 Net busca el Administrador de Licencias HASP.
Glosario
322
Cliente HASP4 Net
La estación que activa la aplicación protegida con HASP4 Net.
Archivos de configuración HASP4 Net
Arcbivos que contienen las indicaciones para el ajuste del cliente HASP4 Net y el Administrador de Licencias HASP dentro de la red.
Búsqueda personalizada de HASP4 Net
Método personalizado por el que el cliente HASP4 Net busca el Administrador de Licencias HASP.
Administrador de Licencias HASP
Aplicación que comunica entre la aplicación protegida y la llave HASP4 Net, funcionando como enlace entre ambas.
Tabla Log HASP4 Net
Lista de todas las aplicaciones protegidas que han realizado un Login a HASP4 Net y las estaciones desde donde se han activado.
Login HASP4 Net Proceso por el que una aplicación protegida con HASP4 Net solicita permiso para la activación al Administrador de Licencias HASP.
Logout HASP4 Net
Proceso por el que una aplicación protegida con HASP4 Net informa al Administrador de Licencias HASP que no va a continuar utilizando la licencia.
Nethasp.ini El archivo de configuración HASP4 Net para la aplicación protegida. Contiene las indicaciones para el ajuste de HASP4 Net en la red.
Modelos HASP4 Net
Las series de llaves HASP4 Net que permiten diferente número máximo de licencias para una aplicación protegida.
Monitor HASP4 Net
Herramienta usada para el seguimiento del uso de las aplicaciones protegidas con HASP4 Net en una red (monitor.exe)
Nhsrv.ini El archivo de configuración para el Administrador de Licencias HASP. Contiene las indicaciones para el ajuste del Administrador de Licencias HASP Net.
Número de Activaciones
El número de veces que una aplicación protegida puede ejecutarse.
Glosario
323
Número de licencias
El número de estaciones que pueden ejecutar una aplicación protegida al mismo tiempo.
Pattern Estructura en la aplicación protegida que se actualiza cuando se realiza una llamada oculta a HASP.
PC-CardHASP Avanzada tarjeta de protección de software que se inserta en el slot PC-Card (PCMCIA) que se encuentra en la mayoría de notebooks.
HASP4 Programmer’s Guide 325
AAccess to HASP key.......................... 32 - 33Activations ................................................ 102Adapt timeout length............................... 267AKS Monitor. See Aladdin Monitor
aksparlnx.o .................................................. 35aksusbd ................................................. 32, 35Aladdin Diagnostic .................................... 26
check HASP keys.............................. 109diagnose HASP keys ........................ 108Key Access History pane................. 111
Aladdin Monitor... 215, 218, 257 - 262, 311Anti debug modules................................... 65Anti-debugging........................................... 71API ....................................................... 19 - 20Application activations, limit........... 21, 279Application programming interface ...... 115Application protection, prepare............... 73ASCIIZ...................................................... 297ASIC........................................................ 5, 17
BBackground HASP checks........................ 71Basic services ............................................ 143Batch code. See Developer Code
Battery in HASP4 Time ............................ 22Big Endian................................................. 151
C-c .................................................................. 65Cascading. See Daisy-chaining
-cfgfile ......................................................... 65Chaining. See Daisy-chaining
Checkclock date .......................................... 165clock time .......................................... 163for HASP presence.......................... 146HASP ID number..... 88, 156, 170, 183HASP type ........................................ 147port..................................................... 147status of call to HASP4 Net ........... 176
Checksumming ........................................ 138Clearing the memory................................. 97Clock
check date.......................................... 165check time ......................................... 163setting date ........................................ 164setting time........................................ 162
Compilers, support.................................. 130Configuration file ...................................... 65Conflicts with parallel devices, avoid ... 305Crash, reactivating after.......................... 177Create templates ...................................... 101-createcfg..................................................... 65custinst.exe. See Customer utility
Customer utility .. 272 - 273, 276, 286 - 290
Index
Index
326 © Aladdin Knowledge Systems, 2002
Status codes ....................................... 290
DDaemon....................................................... 32Daisy-chaining ............................................ 23Data
decode ....................................... 150, 193encode .............................. 135, 149, 191
Data files, protecting. See DataHASP
DataHASP............................................ 23, 60Dates. See Clock
Decode data ..................................... 150, 193DecodeData service................................... 15Defining range of stations ........... 263 - 266Demo applications ................................... 115Demo key passwords............................... 313Demo keys ................................................ 313Determine HASP ID.......................... 79, 98Determining HASP ID ........................... 116Developer code .......... 15, 17, 218, 307, 313Device conflict, avoiding ........................ 305Device driver. See HASP device driver
-dhfilter ........................................................ 65-dhfilterx ...................................................... 66-dhkey .......................................................... 66dinst.............................................................. 32Disk space requirements ........................... 44Distribution
preparing for........................................ 73DLLs
protecting........................................... 130DOS extender............................................. 69DOS, memory requirements .................. 307Driver........................................................... 33-drvwait........................................................ 66
EEditing HASP memory ........................... 116
Editing memory ......................................... 88HASP4 M1/M4.................................. 89HASP4 Net ......................................... 92Remote Update System.......... 278, 280
-enc .............................................................. 66-enclevel ...................................................... 66Encode ...................................................... 138Encode data.................... 116, 135, 149, 191
with HASP Edit............................ 77, 98Encode of HASP memory ..................... 138Encryption key........................................... 66endian ........................................................ 151Envelope. See HASP Envelope
Error codes. See Status codes
Error messagesHASP Envelope ................................. 64
Errorserror 15 .............................................. 310error 21 .............................................. 307error 3 ................................................ 309error 8 ................................................ 310error 9121 .......................................... 306HASP not found .............................. 306
Expiration dates ....................................... 102Expiry date................................................ 280-exsecnum................................................... 66
FFAS ............................................................ 102
HASP Envelope ................................. 46-fas................................................................ 66FAS area.................................................... 103-fasprgnum.................................................. 66File pattern.................................................. 65Frame types .............................................. 309Full Authorization System........ 20 - 21, 102
program list ................................. 81 - 88Remote Update System......... 278 - 279
Index
HASP4 Programmer’s Guide 327
GGetDate..................................................... 165GetHaspID............................................... 170GetTime .................................................... 163Getting started...................................... 1 - 39
H-h3easy......................................................... 66-h3hard ........................................................ 66-h3pass......................................................... 66Hard disk space .................................. 78 - 79Hardware....................................................... 8HASP
in a network......................................... 23interfaces............................................ 115problems ............................................ 303software updates............................... 303
HASP API ................. 19 - 20, 26, 115 - 131basic services ..................................... 143HASP4 Net services .............. 171 - 196HASP4 Time services............ 159 - 170Memory services..................... 151 - 158status codes ............................. 197 - 205
HASP basic concept.......................... 13 - 24HASP daemon .................................. 32, 116HASP Demo .............................................. 27HASP demo keys....................................... 97HASP Developer Kit ................................ 11HASP Device Driver ..................... 215, 306
for Windows NT.............................. 306removing.............................................. 31
HASP device driver ................................... 26HASP driver .............................. 32 - 33, 116
for Mac OS 8.6, 9 ............................... 33for Mac OS X ..................................... 32
HASP Edit ................................. 26, 73 - 104configuration file ................................ 75prepare for application protection... 98
retrieve HASP ID ........................ 79, 98setting preferences ............................. 97template files..................................... 100
HASP Envelope ......... 19 - 20, 43 - 72, 141and API protection............................ 43error messages .................................... 64Instdos.exe .......................................... 65Instw16.exe ......................................... 65Instw32.exe ......................................... 65switches ............................................... 65window ................................................ 45with HASP4 Net .............................. 306
HASP hardware............................................ 8HASP ID number ... 17, 22, 76, 79, 98, 272
and HASP API protection ............. 116and HASP Envelope protection...... 58calculating.......................................... 131check ........................... 88, 156, 170, 183entering in Vendor utility................ 277retrieving with Customer utility..... 286
HASP keycheck presence of .............................. 15
HASP keysdemo .................................................. 313
HASP License Manager 177, 195, 200, 215, 263
switches ........................... 236 - 238, 263HASP License Manager configuration file..
264HASP memory........................................... 21
options................................................. 17HASP memory, encode of..................... 138HASP passwords................ 17, 22, 276, 313
changing .............................................. 22hiding ................................................. 139
HASP protection keys ................................. 8HASP software, overview................ 25 - 27HASP Starter Kit....................................... 11HASP test utilities ..................................... 27
Index
328 © Aladdin Knowledge Systems, 2002
HASP Test Utility .................................... 128hasp( ) routine....... 117, 129, 133, 143, 151,
159, 171, 197, 305and TCP/IP....................................... 172time required to call.......................... 129
-hasp4........................................................... 66HASP4 key models ...................................... 9HASP4 key types.......................................... 9HASP4 M1............................................. 8, 10
services .................................... 151 - 158HASP4 M1/M4.......................................... 24
editing memory ................................... 89HASP Envelope.................................. 46update ................................................... 24
HASP4 M4....................................... 8, 10, 89services .................................... 151 - 158
HASP4 Net ......................... 10, 55, 209, 219and the HASP Envelope ................. 306client configuration file ......... 247 - 256editing memory ................................... 92error 21............................................... 307HASP Envelope.................................. 46Internet............................................... 219key ........................................................... 8LastStatus codes..................... 200 - 205LastStatus service.............................. 176License Manager ............................... 215log table ........... 177, 179, 185, 214, 228login ........................................... 177, 308logout................................... 70, 179, 306program list......................... 86, 182, 189services .................................... 171 - 196
HASP4 Net configuration files .............. 263client ........................................ 247 - 256setting the name................................ 190
HASP4 Standard .......................................... 9HASP4 Std .............................................. 8 - 9HASP4 Time.................................... 8, 10, 22
clock...................................................... 92
HASP Envelope ................................. 46setting clock ........................................ 97
HASP4 Time services ................... 159 - 170HASP4 without memory.......................... 81HaspDecodeData ........................... 150, 193haspdemo.exe ............................................... 128HaspEdit ................................................... 311HaspEdit. See HASP Edit
HaspEncodeData ........................... 149, 191haspenv.exe................................................. 45HaspID............................................. 156, 183HaspQueryLicense .................................. 196HaspStatus ................................................ 147HDD16.EXE............................................. 29HDD32.EXE............................................. 29-highsecoff .................................................. 67-highsecon................................................... 67Hinstall utility ..................................... 30, 306
II/O base, changing.................................. 308IBM...................................................... 54, 276-ibm.............................................................. 67ID number............................................ 17, 22Identify key ................................................. 15Idle time ...................................................... 70IdleTime.................................................... 184Implementing API................................... 117Installation .......................................... 25 - 39
customize under Linux................ 37, 39customize under Mac OS X ............. 32customize under Windows ............... 30Linux ............................................ 35 - 39Mac............................................... 32 - 34Windows...................................... 29 - 31
Installingdriver .................................................... 33
Instdos.exe.................................................. 65
Index
HASP4 Programmer’s Guide 329
Instw16.exe ................................................. 65Instw32.exe ................................................. 65Interfaces................................................... 115-interval........................................................ 67IPX protocol
defining range of stations................ 263IsHasp........................................................ 146
Kkernel mode driver..................................... 35
LLanguages
support ............................................... 130LastStatus .................................................. 176
codes......................................... 200 - 205error 21 .............................................. 307
Licensing .......................... 55, 218, 306 - 307Limit
application activations ....................... 21Limiting
applications served ........................... 267licenses ................................................. 55number of licences ............................. 55
Linux............................................................ 35Little Endian............................................. 151-loader.......................................................... 67Loading time............................................... 71Log table......... 177, 179, 185, 214, 228, 306Login......................................... 177, 214, 308-loginx.......................................................... 67Logout ............................... 70, 179, 214, 306LptNum..................................................... 119
MMac 9.x ........................................................ 33Mac OS 8.6 ................................................. 33Mac OS X ................................................... 32
Memory....................................................... 21editing .................................................. 88HASP4 Net reserved...... 104, 182, 189reading .... 154, 157, 167, 169, 181, 186remote update..................................... 24update .................................................. 24writing to 155, 158, 166, 168, 182, 188
Memory services............................ 151 - 158-mhid ........................................................... 67-mhpass....................................................... 67Micro .............................................................. 5Micro-controller ........................................... 5Multi key programming tool.................. 101
NNEC
as target computer ........................... 276-nec .............................................................. 67NetBIOS protocol
defining range of stations ............... 266station name...................................... 266
-netcfg ......................................................... 67NetHASP
login ................................................... 214logout................................................. 214
NetHASP Monitor. See Aladdin Monitor
Network cards.......................................... 308Networks and HASP4 Net ............ 209, 219New Envelope Configuration ................. 45NH_COMMON ............................. 248, 250NH_IPX................................................... 251NH_NETBIOS....................................... 254NH_TCPIP.............................................. 255-nhpass ........................................................ 67-nodbgcheck............................................... 67-noenc ......................................................... 67-nofas........................................................... 67-nohasp4 ..................................................... 68
Index
330 © Aladdin Knowledge Systems, 2002
-norandomsize ............................................ 68-nores ........................................................... 68-nospecial..................................................... 68Novell network......................................... 309-novir............................................................ 68Number of Licenses field
HASP4 Net.......................................... 55
OOpen Envelope Configuration ................ 45-out ............................................................... 68Overlay File field ........................................ 54Overlay handling ........................................ 69-ovl................................................................ 68
PParallel keys................................................... 9Parallel port ...................................... 119, 308Parameters
hasp( ) routine 118, 143, 151, 159, 171Passwords. See HASP passwords
PC-Cards ....................................................... 9PCMCIA........................................................ 9-pcs ............................................................... 68Port, check ................................................ 147Prepare for application protection .......... 98Preparing HASP keys ................................ 99-prg ............................................................... 68-prgnum....................................................... 68Printing problems ......................... 304 - 305Problems.................................................... 303Program list ........................ 81 - 88, 182, 189Program number ...... 51, 66, 68, 83 - 87, 89
Remote Update System ................... 279Programming HASP keys ......................... 99Programming multiple keys............. 94, 101Programming single HASP keys..... 99, 101Protect Application............................. 46, 50
Protect icon ................................................ 46Protection
for networks and stand-alone keys 127for networks and stand-alones ....... 307HASP API........................... 19, 26 - 131HASP Envelope ................................. 19main stages .......................................... 28maximizing ..................... 133 - 141, 221methods ............................................... 19of data files .......................................... 23of DLLs ............................................. 130quick reference ................................... 28
Protection parameters............................. 102
Q-quiz ............................................................. 68
RRAM .................................................... 78 - 79-randomsize ................................................ 68Reactivating, after crash.......................... 177Read/write memory .................................. 10ReadBlock................................ 157, 169, 186ReadByte ................................................... 167Reading memory... 154, 157, 167, 169, 181,
186ReadWord........................................ 154, 181Real-time clock........................................... 10Remote Update System . 24, 269, 271 - 301
client DLL ......................................... 297Customer utility .. 272 - 273, 276, 286 -
290customization utility........ 291, 299, 301DLL for customer............................ 291DLL for vendor................................ 291editing memory........................ 278, 280Full Authorization System .... 278 - 279passwords ......................... 272, 277, 287
Index
HASP4 Programmer’s Guide 331
performing updates.......................... 292preparing your application .............. 292sample applications .......................... 292switches.............................................. 288vendor DLL ...................................... 293Vendor utility ....... 272 - 273, 277 - 285Win32 API for HASP keys... 291 - 301
Report, Aladdin Diagnostic utility......... 108Retrieve HASP ID............................... 79, 98Return codes
hiding.................................................. 139Rmote Update System
preparing your application .............. 292RUS. See Remote Update System
SSample applications ................................. 115Scanning for connected keys.................... 98Searching, parallel port............................ 119Security, improving........................ 133 - 141Serial number.See HASP ID
Servicesbasic.................................................... 143HASP Memory ....................... 151 - 158HASP4 Net ............................. 171 - 196HASP4 Time........................... 159 - 170Service 1............................................. 146Service 104......................................... 196Service 3............................................. 154Service 40........................................... 176Service 42........................................... 177Service 43........................................... 179Service 44........................................... 181Service 45........................................... 182Service 46........................................... 183Service 48........................................... 184Service 5............................................. 147Service 50........................................... 157
Service 51 .......................................... 158Service 52 .......................................... 186Service 53 .......................................... 188Service 6 ............................................ 156Service 60 .......................................... 149Service 61 .......................................... 150Service 70 .......................................... 162Service 71 .......................................... 163Service 72 .......................................... 164Service 73 .......................................... 165Service 74 .......................................... 166Service 75 .......................................... 167Service 76 .......................................... 168Service 77 .......................................... 169Service 78 .......................................... 170Service 85 .......................................... 190Service 88 .......................................... 191Service 89 .......................................... 193Service 96 .......................................... 195Service4 ............................................. 155
SetConfigFilename.................................. 190SetDate...................................................... 164SetServerByName.................................... 195SetTime ..................................................... 162Setting
clock date .......................................... 164clock time.......................................... 162FAS Program List for HASP4 M1/M4
82FAS Program List for HASP4 Time 84frame type ......................................... 309HASP License Manager name ....... 195HASP4 Net configuration file ....... 190HASP4 Time clock............................ 92number of licences............................. 55
Setup utility................................................. 29setup.exe. See Setup utility
SoftwareHASP, overview......................... 25 - 27
Index
332 © Aladdin Knowledge Systems, 2002
updates ............................................... 303-special ......................................................... 69-special1 ....................................................... 69Specifying the port ................................... 119Specifying USB port number ................. 120Stand-alone HASP keys in a network ..... 23Start HASP Wizard.................................... 45Status codes
Customer utility ................................ 290HASP API .............................. 197 - 205HASP4 Net LastStatus ......... 200 - 205Vendor utility .................................... 284
SwitchesCustomer utility ................................ 288HASP Envelope.................................. 65HASP License Manager 236 - 238, 263Remote Update System ................... 288Vendor utility ......................... 282 - 284
TTCP/IP protocol
and hasp( ) routine............................ 172defining range of stations ................ 264
Technical support .................................... 108Template files ........................................... 100Time. See Clock
Timeout length ......................................... 267Troubleshooting....................................... 303
UUnprotected File ................................. 46, 48Update HASP keys ............... 269, 291 - 301Update System....................... 269, 291 - 301USB enumeration..................................... 120USB HASP.................................................... 5USB keys ....................................................... 9USB port number..................................... 120Use HASP4 Security Features field......... 54
Using API ................................................. 117Using Full Authorization System .......... 102
Vvendinst.exe. See Vendor utility
Vendor utility .............. 272 - 273, 277 - 285status codes ....................................... 284switches.................................... 282 - 284
Verifypresence of HASP.............................. 15
-vir................................................................ 69
WWin32 data files
protecting ............................................ 47Working with templates.......................... 100WriteBlock............................... 158, 168, 188WriteByte .................................................. 166WriteWord ....................................... 155, 182Writing to HASP keys............................... 99Writing to memory 155, 158, 166, 168, 182,
188
HASP4 _Guide.fh9 2/12/2001 11:55 Page 1
Composite
C M Y CM MY CY CMY KVersion 11
HA
SP
® P
rogram
mer’s G
uid
e
Securing the
global
vi l lage
Programmer’s Guide
0 3 7 8 2à03782!ä
Printed in Israel 11/2001 © Aladdin Know
ledge Systems Ltd. HASP
® is a registered trademark of Aladdin Know
ledge Systems Ltd.
All other product names are tradem
arks or registered trademarks of their respective ow
ners.
F o r f u r t h e r i n f o : w w w. e A l a d d i n . c o m / H A S PInternational T: +972-3-636-2222 F: +972-3-537-5796, [email protected] America T: 1-800-562-2543, 1-847-818-3800, F: 1-847-818-3810, [email protected] T: +44-1753-622266 F: +44-1753-622262, [email protected] T: +49-89-89-42-21-0 F: +49-89-89-42-21-40, [email protected] T: +31-30-688-0800 F: +31-30-688-0700, [email protected] T: +33-1-41-37-70-30 F: +33-1-41-37-70-39, [email protected] T: +972-3-636-2222 F: +972-3-537-5796, [email protected] T: +55-21-235-2499 F: +55-21-236-0768, [email protected] T: +81-426-60-7191 F: +81-426-60-7194, [email protected] T: +7-095-923-0588 F: +7-095-928-6781, [email protected] T: +34-91-375-99-00 F: +34-91-754-26-71, [email protected] T: +86-10-6526-9920 F: +86-10-6526-9921, [email protected]
HASP4 _Guide.fh9 2/12/2001 11:55 Page 2
Composite
C M Y CM MY CY CMY K
Guía del Programador
Versión 11