To top
Products Products

CodeMeter Core API, an interface for all most common programming languages

Share:

La API de CodeMeter Core ofrece a los desarrolladores de software la posibilidad de acceder a las funciones de CodeMeter directamente desde su software. Estas funciones suelen centrarse en tres áreas:

  • Uso y gestión de licencias
  • Lectura y escritura de datos
  • Uso de funciones criptográficas

Para CodeMeter Runtime, la API de CodeMeter Core está disponible como biblioteca dinámica, ensamblado .NET e interfaz Java. Con estas interfaces, la API de CodeMeter Core puede usar casi todos los lenguajes de programación más comunes como C/C++, C#, C++/CLI, Delphi, Java, Fortran, VB, VB.NET y Python.

La API de CodeMeter Core también está disponible como biblioteca estática para C como parte de CodeMeter SDK y para CodeMeter Runtime y CodeMeter Embedded. Para CodeMeter Embedded y CodeMeter µEmbedded, la API de CodeMeter Core está disponible como código fuente, de nuevo como parte del SDK. Se ha publicado para todas las plataformas que son compatibles con CodeMeter, como Windows, macOS, Linux, Android, VxWorks y QNX.

Function CodeMeter
µEmbedded
CodeMeter
Embedded
CodeMeter
Runtime
CmDongles   Si Si
CmActLicenses Si Si Si
CmCloudLicenses     Si
Cliente de LAN    Si Si
Servidor de LAN     Si
Licencias de prueba,
Licencias basadas en suscripción
   Si Si
Pay-Per-Use Licenses    Si Si
Licencias basadas en características Si Si Si
Licencias basadas en versiones Si Si Si
Patrón de transferencia de licencias     Si
Extremo de transferencia de licencias Si Si Si
Actualización de licencias basada en archivos Si Si Si
Detección de servidor de terminales     Si
Detección del escritorio remoto     Si
Almacenamiento de las claves de seguridad Si Si Si

Uso y gestión de licencias

La API de CodeMeter Core ofrece a los desarrolladores de software la oportunidad de determinar cuántas licencias se usan en su software. Las licencias pueden ser comprobadas cuando se inicia el software y las funciones individuales pueden ser activadas, desactivadas u ocultadas dependiendo de la licencia disponible. Los desarrolladores también pueden decidir si las licencias se asignan ya durante el inicio o en la primera utilización de la función correspondiente. También pueden establecer si las licencias se liberan al salir del software o al finalizar la función correspondiente. CodeMeter comprueba automáticamente si la licencia es válida; las licencias caducadas o licencias para otras versiones de software se rechazan automáticamente. Si existen varias licencias válidas, CodeMeter elige automáticamente la opción más adecuada.

Una vez liberada una licencia, CodeMeter recibe una notificación de que la licencia está disponible de nuevo para otras aplicaciones, lo que es importante, por ejemplo, en el caso de licencias de redes flotantes (uso simultáneo). Si se interrumpe una aplicación o finaliza antes de liberar la licencia, CodeMeter se ocupa de ello y libera las licencias que se han quedado huérfanas.

Para mayor seguridad, la API de CodeMeter Core permite encriptar los datos con una clave que se almacena en la licencia. Los datos no pueden desencriptarse ni usarse sin la licencia correspondiente.

Además de permitir que las aplicaciones utilicen las licencias de manera eficaz, con CodeMeter los desarrolladores también pueden gestionar las licencias y crear sus propios gestores de licencias. De ese modo, pueden acceder, leer o hacer listados de las licencias caducadas o no válidas. CodeMeter License Central también puede activar o desactivar las licencias con o sin conexión. Los usuarios también pueden tomar prestadas licencias de manera sencilla y devolverlas después.

Lectura y escritura de datos

CodeMeter incluye la posibilidad de almacenar datos en una licencia que pueden estar disponibles para su uso en una aplicación. Los desarrolladores de software escriben esa información en la licencia durante su creación. Según el campo de texto elegido, el acceso a los datos es libre durante la ejecución o está limitado mediante una operación criptográfica especial (a modo de contraseña). Los desarrolladores también deciden si los datos pueden sobrescribirse durante la ejecución, lo que estaría restringido a una secuencia de programación específica (actuando de nuevo como contraseña) y por tanto, solo sería posible para la aplicación de software específica.

Si CmSticks está equipado con memoria flash, la API de CodeMeter Core también puede leer y escribir datos en una partición oculta especial de la memoria flash (disco seguro). A diferencia de los datos contenidos en una licencia, que pueden oscilar entre varios bytes hasta varios kilobytes, aquí hablamos de espacio de varios gigabytes. Esta opción se usa especialmente para el almacenamiento seguro de archivos de registro.

Function CodeMeter
µEmbedded
CodeMeter
Embedded
CodeMeter
Runtime
CmDongles   Si Si
CmActLicenses Si Si Si
CmCloudLicenses     Si
Cliente de LAN    Si Si
Servidor de LAN     Si
Licencias de prueba,
Licencias basadas en suscripción
   Si Si
Pay-Per-Use Licenses    Si Si
Licencias basadas en características Si Si Si
Licencias basadas en versiones Si Si Si
Patrón de transferencia de licencias     Si
Extremo de transferencia de licencias Si Si Si
Actualización de licencias basada en archivos Si Si Si
Detección de servidor de terminales     Si
Detección del escritorio remoto     Si
Almacenamiento de las claves de seguridad Si Si Si

Uso de funciones criptográficas

Con CodeMeter, las claves de las operaciones criptográficas pueden almacenarse de manera segura en una licencia, como las claves privadas para la comunicación encriptada OPC UA. Estas claves no se pueden leer normalmente, pero están disponibles para la API de CodeMeter Core. Las claves pueden crearse directamente en una mochila CmDongle para garantizar que las claves nunca salgan de la mochila CmDongle segura.

A través de la API de CodeMeter Core están disponibles las siguientes funciones:

  • Cálculo de valores hash (SHA 256)
  • Encriptación y desencriptación de datos de manera simétrica (AES 128, AES 256)
  • Encriptación y desencriptación de datos de manera asimétrica (ECIES 224, RSA 1024, RSA 2048, RSA 4096)
  • Firma de datos (ECDSA 224, RSA 1024, RSA 2048, RSA 4096)
  • Cálculo de la clave pública para una clave privada almacenada (ECDSA 224, ECIES 224)

Las funciones pueden usarse para una amplia gama de aplicaciones:

  • La configuración y los datos encriptados se almacenan en el software para que el nivel de protección sea mayor.
  • Los datos creados con la aplicación protegida se encriptan para restringir el acceso solo a los usuarios autorizados con una licencia válida.
  • Los datos y los archivos de registro pueden firmarse para demostrar su autenticidad e integridad.
  • Las claves pueden usarse para iniciar la comunicación encriptada.