CodeMeter Core API
CodeMeter Core API(コードメーター コア エーピーアイ)を使用すると、ソフトウェア開発者はソフトウェア内から直接CodeMeter機能にアクセスできます。これらの機能は、一般的に次の3つのシナリオに関係します。
- ライセンスの使用と管理
- データの読み取りと書き込み
- 暗号化機能の使用
CodeMeter Runtimeの場合、CodeMeter Core APIは、動的ライブラリ、.NETアセンブリ、およびJavaインターフェースとして使用できます。これらのインターフェースにより、C/C ++、C#、C ++/CLI、Delphi、Java、Fortran、Fortran、VB、VB.NET、Pythonなど、ほとんどすべての一般的なプログラミング言語でCodeMeter Core APIを使用できます。
CodeMeter Core APIは、CodeMeter SDKの一部として、およびCodeMeter RuntimeとCodeMeter Embeddedの静的Cライブラリとしても利用できます。CodeMeter EmbeddedおよびCodeMeter µEmbeddedの場合、CodeMeter Core APIがSDKの一部としてソースコードとして使用できます。CodeMeter Core APIは、Windows、macOS、Linux、Android、VxWorks、QNXなど、CodeMeterをサポートするすべてのプラットフォーム用に公開されています。
CodeMeter Core API | CodeMeter Variant | Part of | Operating System / Environment | Programming Languages |
---|---|---|---|---|
Static Library | CodeMeter Runtime | CodeMeter SDK | Windows (x86, x86-64), macOS (x86-64), Linux (x86, x86-64, ARM) | C/C++ |
Static Library | 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++ |
Dynamic Library | CodeMeter Runtime | CodeMeter Runtime | Windows (x86, x86-64), macOS (x86-64), Linux (x86, x86-64, ARM) | C/C++, Delphi, VB, Fortran, Python, ... |
.NET Assembly | CodeMeter Runtime | CodeMeter Runtime | Windows (x86, x86-64) | C#, C++/CLI, VB .NET |
.NET Standard Assembly | CodeMeter Runtime | CodeMeter Runtime | Windows (x86, x86-64), macOS (x86-64), Linux (x86, x86-64, ARM) | C#, VB.NET |
Java Interface | CodeMeter Runtime | CodeMeter Runtime | Windows (x86, x86-64), macOS (x86-64), Linux (x86, x86-64, ARM) | Java |
Source Code | CodeMeter Embedded | CodeMeter Embedded SDK | Any OS | C/C++ |
Source Code | CodeMeter µEmbedded | CodeMeter µEmbedded SDK | Any OS | C/C++ |
ライセンスの使用と管理
CodeMeter Core APIは、ソフトウェア開発者に、ソフトウェアでのライセンスの使用方法を決定する機会を提供します。ソフトウェアの起動時にライセンスを確認し、使用可能なライセンスに応じて個々の機能をアクティベーション、非アクティベーション、または非表示にすることができます。開発者は、起動時または対応する機能の最初の使用時にライセンスがすでに割り当てられているかどうかを決定することもできます。またソフトウェアの終了時、または対応する機能の終了時にライセンスが解放されるかどうかを判断することもできます。CodeMeterは、ライセンスが有効かどうかを自動的にチェックします。期限切れのライセンスまたは他のソフトウェアバージョンのライセンスは自動的に拒否されます。複数の有効なライセンスが利用可能な場合、CodeMeterは自動的に最適なオプションを選択します。
ライセンスがリリースされると、そのライセンスが他のアプリケーションで再び利用可能になることをCodeMeterへ通知します。フローティングネットワーク(同時使用)ライセンスを使用する場合や、ライセンスのリリースが実行される前にアプリケーションがクラッシュしたり終了したりした場合は、CodeMeterは自動的に処理し孤立したライセンスを解放します。
セキュリティを強化するために、CodeMeter Core APIでは、ライセンスに保存されているキーを使用してデータを暗号化できます。適切なライセンスがなければ、データを復号して使用することはできません。
アプリケーションでライセンスを効果的に使用できるようにすることに加えて、CodeMeterでは開発者がライセンスを管理し、独自のライセンスマネージャーを作成することもできます。それにより、期限切れまたは無効なライセンスにアクセス、読み取り、または一覧表示できます。CodeMeter License Centralを使用して、オフラインまたはオンラインでライセンスをアクティベーションまたは非アクティベーションできます。ユーザーは、必要に応じてライセンスを借りて返却することもできます。
データの読み取りと書き込み
CodeMeterには、データをライセンスに保存し、このデータをアプリケーションで使用できるようにする機会が含まれています。ソフトウェア開発者は、最初の作成時にこのデータをライセンスに書き込むことができます。選択したデータフィールドに応じて、データへのアクセスは実行時に無料になるか、特別な暗号化操作(パスワードとして機能)によって制限されます。開発者は、実行時にデータを上書きできるかどうかも決定します。これは、特定のプログラミングシーケンス(別のパスワードとして機能)に制限され、特定のソフトウェアアプリケーションでのみ可能です。
CmStickにフラッシュメモリが搭載されているため、CodeMeter Core APIは、フラッシュメモリ(セキュアディスク)の特別な非表示パーティションのデータを読み書きすることもできます。数バイトからキロバイトの範囲のライセンスに含まれるデータとは対照的に、これは数ギガバイトのデータ用のスペースを提供します。このオプションは、特にログファイルの安全な保管に使用されます。
データタイプ | サイズ | フラッシュメモリ付CmDongle | CmDongle(フラッシュメモリ無し) / CmActLicense | Read during Runtime | Write during Runtime | Key Source |
---|---|---|---|---|---|---|
ユーザーデータ | 256 Byte | Yes | Yes | Yes | Yes | No |
保護データ | 256 Byte | Yes | Yes | Yes | Configurable (Password**, No) | No |
拡張プロテクトデータ | 128 x 256 Byte | Yes | Yes | Yes | Configurable (Password**, No) | No |
隠蔽データ | 128 x 256 Byte | Yes | Yes | Password* | Configurable (Password**, No) | AES 128, ECC 224 |
シークレットデータ | 128 x 256 Byte | Yes | Yes | No | Configurable (Password**, No) | AES 128, ECC 224, RSA 1024, RSA 2048 |
ユニバーサルデータ | スマートカードチップのサイズにより制限 | Yes | Yes | No | No | AES 256, RSA 4096 |
セキュアディスク | フラッシュメモリのサイズにより制限 | Yes | No | Password | Password** | No |
* Hidden Data Access Code
** Programming Sequence
暗号化機能の使用
CodeMeterを使用すると、暗号化操作用のキーを、暗号化されたOPC UA通信用の秘密キーを含め、ライセンスに安全に保存できます。これらのキーは通常読み取ることができませんが、CodeMeter Core APIで使用できます。キーをCmDongleに直接作成して、キーが安全なCmDongleから出て行かないようにすることができます。
次の関数は、CodeMeter Core APIを介して利用できます。
- ハッシュ値の計算(SHA 256)
- 対称的なデータの暗号化および復号(AES 128、AES 256)
- データの非対称的な暗号化および復号(ECIES 224、RSA 1024、RSA 2048、RSA 4096)
- 署名データ(ECDSA 224、RSA 1024、RSA 2048、RSA 4096)
- 保存された秘密鍵に対する公開鍵の計算(ECDSA 224、ECIES 224)
関数は、幅広いアプリケーションに使用できます。
- 暗号化された設定とデータをソフトウェアに保存して、より強力なレベルの保護を実現。
- 保護されたアプリケーションで作成されたデータを暗号化して、有効なライセンスを所有する許可されたユーザーにアクセスを制限。
- データファイルとログファイルに署名して、それらの信頼性と整合性を証明。
- 鍵を使用して暗号化された通信を開始。