To top
Products Products

CodeMeter Core API

Share:

CodeMeter Core API offre agli sviluppatori di software la possibilità di accedere alle funzioni di CodeMeter direttamente dal loro software. Queste funzioni riguardano generalmente i seguenti tre scenari:

  • L'utilizzo e la gestione licenze
  • La lettura e la scrittura di dati
  • L'uso di funzioni crittografiche

Per CodeMeter Runtime, CodeMeter Core API è disponibile come libreria dinamica, come assembly .NET e come interfaccia Java. Con tali interfacce, quasi tutti i linguaggi di programmazione comuni possono avvalersi di CodeMeter Core API, inclusi C/C++, C#, C++/CLI, Delphi, Java, Fortran, Fortran, VB, VB.NET e Python.

CodeMeter Core API è anche disponibile come libreria statica in C all'interno dell'SDK di CodeMeter, così come per CodeMeter Runtime e CodeMeter Embedded. Per CodeMeter Embedded e CodeMeter µEmbedded, CodeMeter Core API viene consegnato sotto forma di codice sorgente, nuovamente all'interno dell'SDK di Codemeter.. CodeMeter Core API è stato concepito per tutte le piattaforme che supportano CodeMeter, compresi Windows, macOS, Linux, Android, VxWorks e QNX.

CodeMeter Core API Variante di CodeMeter Incluso in Sistema Operativo / Ambiente Linguaggi di programmazione
Libreria statica CodeMeter Runtime CodeMeter SDK Windows (x86, x86-64),
macOS (x86-64),
Linux (x86, x86-64, ARM)
C/C++
Libreria statica CodeMeter Embedded CodeMeter Embedded SDK Windows (x86, x86-64),
macOS (x86-64),
Linux (x86, x86-64, ARM),
QNX (x86, ARM),
VxWorks (x86, x86-64, ARM, PowerPC),
Android (ARM)
C/C++
Libreria dinamica CodeMeter Runtime CodeMeter Runtime Windows (x86, x86-64),
macOS (x86-64),
Linux (x86, x86-64, ARM)
C/C++, Delphi, VB, Fortran, Python, ...
Assembly .NET CodeMeter Runtime CodeMeter Runtime Windows (x86, x86-64) C#, C++/CLI, VB .NET 
Assembly .NET Standard CodeMeter Runtime CodeMeter Runtime Windows (x86, x86-64),
macOS (x86-64),
Linux (x86, x86-64, ARM)
C#, VB.NET
Interfaccia Java CodeMeter Runtime CodeMeter Runtime Windows (x86, x86-64),
macOS (x86-64),
Linux (x86, x86-64, ARM)
Java
Codice sorgente CodeMeter Embedded CodeMeter Embedded SDK Qualsiasi sistema operativo C/C++
Codice sorgente CodeMeter µEmbedded CodeMeter µEmbedded SDK Qualsiasi sistema operativo C/C++

Utilizzo e gestione delle licenze

CodeMeter Core API offre agli sviluppatori di software l'opportunità di determinare come vengono utilizzate le licenze nel loro software. Le licenze possono essere verificate all'avvio del software e le singole funzionalità possono essere attivate, disattivate o nascoste in base alla licenza disponibile. Gli sviluppatori possono anche decidere se le licenze vengono allocate già durante l'avvio o al primo utilizzo della funzione corrispondente. Possono anche specificare se le licenze vengono rilasciate alla chiusura del software o al termine dell'utilizzo della funzione corrispondente. CodeMeter controlla automaticamente se la licenza è valida; licenze scadute o licenze per altre versioni del software vengono automaticamente rifiutate. Ogni volta che sono disponibili più licenze valide, CodeMeter sceglie automaticamente l'opzione maggiormente consona.

Una volta rilasciata una licenza, CodeMeter riceve la notifica che la licenza sarà nuovamente disponibile per altre applicazioni, il che assume ancora maggiore rilevanza quando ad es. si utilizzano licenze di rete flottanti. In caso di arresto anomalo dell'applicazione o di interruzione del servizio prima che la licenza sia stata eseguita, CodeMeter interverrà automaticamente e rilascerà le licenze orfane risultanti.

Per garantire un livello di sicurezza ancora maggiore, CodeMeter Core API consente di crittografare i dati con una chiave memorizzata nella licenza. I dati non possono essere decifrati e utilizzati senza la presenza della licenza corretta.

Oltre a consentire alle applicazioni di utilizzare le licenze in modo efficace, CodeMeter permette agli sviluppatori di gestire le licenze e creare i propri gestori di licenza. Essi potranno accedere, leggere o elencare licenze scadute o non valide. Le licenze possono essere attivate o disattivate offline o online con CodeMeter License Central. Gli utenti possono anche semplicemente prendere in prestito e restituire le licenze come richiesto.

Lettura e scrittura dati

CodeMeter include l'opportunità di memorizzare i dati in una licenza e di rendere questi dati disponibili per l'uso in un'applicazione. Gli sviluppatori di software possono scrivere questi dati nella licenza durante la sua creazione. A seconda del campo dati scelto, l'accesso ai dati è aperto durante il runtime o limitato da una speciale operazione di crittografia (che funge da password). Gli sviluppatori decidono inoltre se i dati possono essere sovrascritti durante il runtime, il che sarebbe limitato a una sequenza di programmazione specifica (che funge da un'altra password) e quindi di nuovo solo possibile per l'applicazione software selezionata.

Con le CmStick dotate di memoria flash, CodeMeter Core API può anche leggere e scrivere dati in una speciale partizione nascosta della memoria flash (Secure Disc). Al contrario dei dati contenuti in una licenza, che possono variare da alcuni byte a kilobyte, quest'area offre diversi gigabyte per l'archiviazione di dati. Questa opzione è utilizzata in particolare per l'archiviazione sicura dei file di log.

Tipologia dati Dimensione CmDongle con memoria flash CmDongle senza memoria flash / CmActLicense Lettura durante il runtime Scrittura duranta il runtime Sorgente della chiave
Dati utente 256 Byte No
Dati protetti 256 Byte Configurabile (Password**, No) No
Dati protetti estesi 128 x 256 Byte Configurabile (Password**, No) No
Dati nascosti 128 x 256 Byte Password* Configurabile (Password**, No) AES 128, ECC 224
Dati segreti 128 x 256 Byte No Configurabile (Password**, No) AES 128, ECC 224, RSA 1024, RSA 2048
Dati universali In funzione della capacità del chip smart card No No AES 256, RSA 4096
Disco sicuro In funzione della capacità della memoria flash No Password Password** No

* Codice di accesso ai dati nascosti
** Sequenza di programmazione

Utilizzo di funzioni crittografiche

CodeMeter consente di archiviare in modo sicuro le chiavi per le operazioni di crittografia in una licenza, incluse le chiavi private per la comunicazione OPC UA crittografata. Queste chiavi normalmente non possono essere lette, ma sono disponibili per CodeMeter Core API. Le chiavi possono essere create direttamente in una CmDongle per garantire che le chiavi non lascino mai l'ambiente sicuro dell'elemento.

CodeMeter Core API mette a disposizione le seguenti funzioni:

  • Calcolo dei valori hash (SHA 256)
  • Crittografia e decodifica dei dati con algoritmi simmetrici (AES 128, AES 256)
  • Crittografia e decodifica dei dati con algoritmi asimmetrici (ECIES 224, RSA 1024, RSA 2048, RSA 4096)
  • Firma dei dati (ECDSA 224, RSA 1024, RSA 2048, RSA 4096)
  • Calcolo della chiave pubblica relativa ad una specifica chiave privata salvata (ECDSA 224, ECIES 224)

Le funzioni possono essere utilizzate per una vasta gamma di applicazioni:

  • Le impostazioni e i dati relativi alle operazioni crittografiche possono essere memorizzati nel software per ottenere un livello più elevato di protezione.
  • I dati, creati con l'applicazione protetta, possono essere crittografati per limitare l'accesso agli utenti autorizzati che possiedono una licenza valida.
  • I dati e i file di log possono essere firmati per dimostrare la loro autenticità e integrità.
  • Le chiavi possono essere utilizzate per avviare comunicazioni crittografate