MANUAL DEL PROGRAMADOR

 

 

 

 

 

 

 

Subsistema  Asistente de Registro y Activación de Software


 

Introducción     

 

 

            Como parte del “Sistema integral para activación de software vía Internet”  este subsistema consiste básicamente de un componente de software que debe ser integrado al programa de aplicación a proteger contra la piratería.

 

            Este subsistema debe ser llamado desde el programa de aplicación, por lo cual debe ser implantado antes de su compilación.  Cada vez que inicie el programa de aplicación a proteger, éste llama al asistente para que verifique la existencia de la licencia de uso y poder continuar con la ejecución, de no existir se muestra un cuadro de diálogo que guía al usuario final en el proceso de obtención de la licencia de uso, si este cuadro de diálogo es cerrado o cancelado, por el usuario, se termina la ejecución del programa, es decir, se cierra por completo la aplicación.  A continuación se muestra la secuencia de ejecución de un programa  de aplicación con la integración del asistente.

 

 

 

 

            Como puede observarse en el diagrama anterior, el asistente determina la ejecución del programa de aplicación, verificando la existencia de la licencia de uso indica al mismo que continué o detenga su ejecución. Dicho de otra forma el asistente funciona como interruptor que permite la activación del programa de aplicación. Además de ser el medio a través del cual se obtiene la licencia de uso.

 


Referencia de programación

 

            Este subsistema esta integrado como un componente de software creado en Visual Basic.

 

El componente ActiveX DLL que contiene al asistente de registro y activación de software tiene las siguientes características:

 

Nombre de Archivo: AsistRA.dll

Nombre del objeto contenido: AsistRegistroActivacion

 

 

Propiedades:

 

IDSoftware: Permite establecer el valor numérico que identifica el software a registrar y activar.

 

                        Sintaxis: AsistRegistroActivacion.IDSoftware = <Número>

  

El valor numérico debe ser del tipo entero comprendido en el intervalo de 0 a 999. Este valor corresponde directamente al KeyTipoLic devuelto por el “Subsistema generador y administrador de licencias de uso”,  para cada producto de software.

 

Ejemplo: Supóngase, que el producto de software “X” tiene asignado el número 5.

 

AsistRegistroActivacion.IDSoftware = 5

 

TituloLicencia: Permite establecer la cadena de texto que conforma el titulo de la licencia de uso a mostrar en el asistente.

 

Sintaxis: AsistRegistroActivacion.TituloLicencia = [Cadena]

               

La cadena de texto esta limitada a 110 caracteres. Este texto es mostrado en la parte superior del asistente, puede incluirse en él cualquier carácter, incluyendo caracteres especiales.

 

Ejemplo: El titulo para un producto de software “X”, podría ser:

 

            AsistRegistroActivacion.TituloLicencia =”Licencia de uso para Software X

 

URLHttp: Permite establecer la cadena texto correspondiente a la dirección http del sitio en Internet donde el asistente localiza la base de datos de licencias de uso.

 

            Sintaxis: AsistRegistroActivacion.URLHttp = <Cadena>

               

La cadena de texto esta limitada a 1000 caracteres. La dirección http corresponde con la misma dirección donde se encuentre la base de datos alojada en Internet, a través de esta dirección el asistente accesa a la base de datos para el registro del usuario final y la obtención de la licencia de uso del software.

 

Ejemplo:

AsistRegistroActivacion.URLHttp=”http://www.empresa_x.com.mx/usrs”

 

Métodos:

 

VerificaLicUso: Comprueba la licencia de uso para el programa de aplicación con identificador igual al definido en la propiedad “ID_Software”, si no encontró la licencia de uso se muestra un cuadro de dialogo que guía al usuario final en el proceso de registro y activación para la obtención de la licencia de uso de software.

 
Sintaxis:  AsistRegistroActivacion.VerificaLicUso ([NoMostrarDialogo])

 

El valor devuelto por este método es de tipo lógico, “Verdadero” para indicar que  se ha comprobado satisfactoriamente la existencia de la licencia de uso, “Falso”  denota lo contrario.

 

 Parámetros

    

 NoMostrarDialogo: Permite establecer de forma opcional si se muestra el cuadro dialogo del asistente. El valor asignado a esta propiedad debe ser de tipo lógico, “Verdadero” para indicar que se muestre el dialogo y “Falso” para que no se muestre. Útil para cuando sólo se desea hacer la verificación de la licencia de uso de forma transparente al usuario final.

 

 

Ejemplos:

 

Código de ejemplo de uso del asistente de registro: Debe ser agregado al programa de aplicación que se desea proteger y es llamado inmediatamente después de iniciar su ejecución.

 

Dim AsistRA As AsistRegistroActivacion

Set AsistRA = New AsistRegistroActivacion ‘//Creación del objeto

AsistRA.TituloLicencia = "Licencia de uso para software X"

AsistRA.NombreCia = "Cia. Desarrolladora de Software X"

AsistRA.UrlHttp = "http://www.empresa_x.com.mx/usuarios/"

AsistRA.IDSoftware = 2 

If  AsistRA.VerificaLicUso  = False Then   ‘//Comprobación

     End                                                              ‘// Fin de aplicación

End If  

Set AsistRA = Nothing          ‘// Eliminación del objeto

 

El código anterior verifica la existencia de licencia de uso para el software y de no encontrarse muestra el asistente de registro y activación para la obtención de la licencia de uso del software que lleva por titulo “X”, desarrollado por la compañía “X”, la cual cuenta con su servidor de licencias de uso en la dirección de Internet “http://www.empresa_x.com.mx/usuarios/” y el identificador de software es “2”. A continuación se describe paso a paso el proceso que sigue el asistente para la adquisición de la licencia de uso:

 

- Bienvenida

 

Pantalla inicial del asistente que da la bienvenida al usuario final indicando el nombre del producto a registrar y activar. Así mismo se muestra el nombre de la empresa que desarrollo el software. Contiene dos botones en la parte inferior que permiten cancelar el asistente o bien ir al siguiente paso que consiste en la solicitud del número de serie correspondiente al paquete del producto.

 

 

Figura 1. Primer paso del asistente de registro y activación de software.

 

 

 

- Solicitud de número de serie.

 

            En este paso el usuario debe ingresar el número de serie proporcionado por el fabricante del software; para ello cuenta con cuatro cajas de texto separadas mediante un guión y con una longitud máxima de cinco caracteres en cada una de ellas, correspondiendo con el formato del número de serie proporcionado.

 

 

 

 

 

Figura 2. Solicitud de número de serie del paquete de software

 

Al ingresar caracteres que sean letras son convertidos de forma automática a su correspondiente letra mayúscula para su mejor visualización. Al completarse cada caja de texto el cursor se posiciona de forma automática en la siguiente caja de texto. Una vez ingresado el número de serie el usuario debe hacer clic en el botón siguiente para proceder con la validación del número de serie ingresado. Después de ser comprobada la validez del número de serie el asistente de registro y activación lleva al usuario al  paso siguiente, que consiste en preguntar al usuario si posee conexión a Internet en el equipo, de lo contrario permanece en el mismo paso y se le indica al usuario, mediante un mensaje, que el número de serie ingresado no es valido.

 

 

 

 

-          Verificar conexión a Internet.

 

En este paso se pregunta al usuario si dispone de una conexión a Internet en el equipo,  pudiendo elegir entre las opciones de “Sí ó No”.  La siguiente figura muestra el ejemplo correspondiente.

 

 

Figura 3. Comprobación de conexión a Internet

 

Este paso es crucial, debido a que si el usuario cuenta con conexión a Internet en su equipo, puede obtener de forma inmediata su licencia de uso, de lo contrarío cuenta con dos formas alternativas, las cuales son:

 

- Acceder desde otro equipo al sitio Web de la empresa desarrolladora del software de aplicación, en la sección correspondiente a licencias de uso.

 

- Vía telefónica contactar a su distribuidor del programa, en horas y días hábiles, para que se le proporcione su licencia de uso.

 

 

A continuación se describe el proceso de obtención de licencia de uso para el caso en que el usuario final si cuenta con conexión a Internet; mas adelante se analiza el caso contrario.

 

-          El usuario si cuenta con conexión a Internet.

 

Si el usuario dispone de conexión a Internet en el equipo debe iniciarla y una vez hecha la conexión debe hacer clic en el botón de siguiente para que el asistente proceda con la comprobación del número de serie a través del servidor de licencias de uso en Internet.

           

Comprobación de número de serie: El asistente envía el número de serie al servidor de licencias de uso en Internet y este se encarga de verificar en su base de datos la existencia del número de serie recibido devolviendo una respuesta de la existencia o inexistencia del mismo.

 

- Si no existe el número de serie en el servidor de licencias de uso en Internet, el asistente envía un mensaje al usuario, indicándole que el número de serie ingresado no existe y permanece en el mismo paso.

 

- Si se ha comprobado la existencia del número de serie se procede a verificar si el número de serie ya había sido registrado; si aún no ha sido registrado, el siguiente paso es el formulario de registro, como se muestra en la figura 4, después de que el usuario se registra, se le asigna un código de usuario y este se muestra en pantalla para que el usuario lo anote en la misma etiqueta que contiene el número de serie de su producto, la figura 5 muestra un ejemplo de un código de usuario asignado después de registrarse.  Finalmente después de haberse registrado el usuario y se le haya asignado un código de usuario, el siguiente y último paso es un mensaje de agradecimiento, como lo muestra la figura 6.

 

Figura 4. Formulario de registro de usuario final

 

 

Figura 5. Asignación de código de usuario

 

 

Figura 6. Agradecimiento

 

- Si se ha comprobado la existencia del número de serie proporcionado y dicho número de serie ya ha sido registrado el siguiente paso solicita el ingreso del código de usuario que se le otorgó cuando se registro, la figura 7 muestra un ejemplo. Si el código de usuario es correcto, el asistente procede a verificar si el usuario tiene la licencia de uso disponible en el servidor de licencias, si es el caso, el siguiente y último paso es un mensaje de agradecimiento, como lo muestra la figura IV.23, de lo contrario se muestra un mensaje indicando que no cuenta con licencia de uso de software disponible.

 

Figura 7. Ingresar código de usuario

 

Ahora se analiza el caso en el que el usuario no cuente con conexión a Internet.

 

-          El usuario no cuenta con conexión a Internet.

 

Si el usuario no dispone de conexión a Internet en el equipo debe, seleccionar la opción “No” (paso mostrado en la figura 3) y hacer clic en el botón de siguiente. El asistente procede a generar un código de equipo, y solicita se ingrese una clave de acceso. La figura siguiente muestra un ejemplo de este paso.

 

Figura 8. Solicitud clave de acceso

 

Como se indica en el mensaje de la figura anterior, el usuario puede obtener la clave de acceso solicitada, visitando el sitio Web de la empresa que desarrollo el programa de aplicación y acceder a la sección de usuarios; o bien puede contactar vía telefónica a su distribuidor del programa de aplicación. Ya sea por el sitio Web o a través del distribuidor, el usuario debe proporcionar su número de serie, su código de usuario (en el caso que ya hubiese se registrado con anterioridad) y el código de equipo generado por el asistente.

 

Habiendo obtenido el usuario, la clave de acceso debe ingresarla y si esta es válida se obtiene la licencia de uso y con ello obtiene la activación de su software. La figura 6 muestra el paso final después de haber validado con éxito la clave de acceso.

           

 

Comunicación con el servidor de licencias de uso

 

            Una conexión a Internet es el medio de comunicación que el asistente requiere para la realización de peticiones al servidor de licencias de uso.  La petición es a través de páginas Web especificas, dichas páginas son del tipo ASP y tienen funciones bien definidas para recibir la petición que se les encomiende, disponen de la capacidad de realizar inserción, actualización, eliminación y consulta de registros de la base de datos alojada en el mismo sitio de Internet donde se encuentran.

               

            El asistente contempla en su código los nombres de las páginas para cada petición, así mismo los parámetros solicitados. La forma de respuesta de la página al asistente es a través de un redireccionamiento hacia una nueva página que incluye en dirección información devuelta al asistente. En el apartado correspondiente al “Servidor de licencias de uso en Internet”, abordado más adelante, se expone a detalle su funcionamiento.

 

Registro de usuario

 

            Después de comprobar la existencia del número de serie en el servidor de licencias de uso en Internet, el asistente solicita se verifique si el número ya fue registrado, de no estar registrado aún, se procede con la realización de registro de usuario para el mismo número de serie.

 

            El registro del usuario desde el asistente constituye una petición hacia el servidor de licencias de uso en Internet, básicamente consiste de una página Web conteniendo un formulario de registro, solicitando datos personales del usuario final que registra por primera y única vez el número de serie correspondiente al paquete de software. La validación de la información ingresada en el formulario es validada por la misma página, así mismo se encarga de enviar la información hacia la base de datos alojada en Internet, insertándose en ésta un nuevo registro de datos y asignándose automáticamente un número entero aleatorio único. 

 

El número entero aleatorio esta dentro del intervalo de –2147483648 a 2147483648 y constituye la llave única de identificación del usuario del número de serie ingresado y este número debe ser asignado al número de serie dentro de la misma base de datos en la tabla de datos correspondiente. Además es considerado como el “Código de Usuario” asignado, es único, es decir, no hay duplicidad y esta relacionado únicamente con sólo un número de serie.

 

Código de usuario

 

El código de usuario es el identificador del dueño único de un número de serie registrado. Consiste de un número entero en el intervalo de –2147483648 a 2147483648,  para valores negativos se le antecede una letra “A” mayúscula, en representación del signo negativo, por ejemplo un código de usuario podría ser: “A312564”, que corresponde al número –312564. El número que representa el código de usuario, es generado de forma aleatoria por el servidor de licencias de uso en Internet, justo  en el momento que el usuario del software de aplicación registra su copia de software; como ya se ha comentado es único, y esta relacionado únicamente con solo un número de serie. Cada número de serie tiene solamente un dueño, lo cual quiere decir que puede ser registrado sólo una vez.

 

Obtención de código de usuario

 

            La obtención del código de usuario es únicamente a través del registro del usuario mediante un formulario, donde se le solicitan datos personales y de dirección. Este formulario esta en una página Web, como se ha descrito con anterioridad, al enviar el formulario se envía la información al servidor de licencias de uso en Internet y si la información fue recibida satisfactoriamente junto con el número de serie, se muestra en una nueva página el código de usuario asignado.  De esta forma el asistente obtiene y muestra al usuario su código asignado.

 

Validación de código de usuario

 

            Después de comprobar la existencia del número de serie en el servidor de licencias de uso en Internet, el asistente solicita se verifique si el número ya fue registrado, de ser así, el asistente solicita se ingrese el código de usuario que se le fue asignado cuando registro su copia de software.

 

La validación del código de usuario es a través de una petición del asistente  hacia el servidor de licencias de uso en Internet, en la petición se envía el código de usuario y el número de serie. El servidor se encarga de verificar si existe el código de usuario  y si corresponde con el número de serie.

 

Obtención de licencia de uso

 

            Si el número de serie no había sido registrado, es de suponerse que cuenta con licencia de uso disponible, por consiguiente después de que el usuario recibe su código de usuario, el asistente realiza la petición de la licencia de uso correspondiente.

               

            En el caso de que el número de serie ya fue registrado, el asistente solicita se ingrese el código de usuario, después de su validación, el asistente solicita al servidor verificar si hay licencia de uso disponible, de existir se realiza la petición de la misma.

 

            La obtención de la licencia de uso, consiste esencialmente en actualizar un registro de la base de datos del servidor de licencias en Internet, el registro de datos es actualizado con la fecha en que fue concedida y ello significa que ya no puede volverse a conceder, después de actualizar el registro se responde al asistente que se ha concedido exitosamente la licencia de uso. Finalmente después de haberse obtenido la licencia de uso, el asistente procede con la activación del programa de aplicación.

 

Generación de código de equipo

 

El objetivo principal del código de equipo es identificar de manera única el equipo de cómputo donde se ha instalado software de aplicación y para la generación de un código, al que llamaremos “Clave de Acceso”, que permite la activación del software, pero esta clave de acceso es únicamente valida para el equipo de cómputo del que se obtuvo el código de equipo.