arkimg.api
ArkImg API
画像処理ライブラリのAPIを提供するモジュールです。
このモジュールでは、ArkImgを継承した各クラスの基本的な操作を行うための関数や型を定義します。
- interface
ArkImg; ArkImg秘密データ添付画像アーカイバー / encryption data image archiver画像ファイルに暗号化された秘密データを添付します。 秘密データは複数添付することが可能です。 秘密データはAES暗号化が施されます。Arkimg.setKeyにより共通鍵を付与します。 ベースとなる画像ファイルはArkimg.baseImageにより設定/取得します。メタデータ
items[].sign署名/検証: (Optional) ファイル作成者が公開する公開鍵で検証することのできる署名を付与します。 署名用のアルゴリズムはEd25519です。 署名する場合はEd25519秘密鍵を使用し、検証する場合はEd25519公開鍵を使用して検証します。items[].mimeMIME: (Optional) 暗号化されたデータのファイルタイプを示すMIMEデータを付与します。items[].nameファイル名: (Optional) 暗号化されたデータのファイル名を付与します。items[].modified更新時刻: (Optional) ファイルの最終更新時刻を付与します。items[].commentコメント: (Optional) ファイルに追加のコメントを付与します。
- abstract void
load(in ubyte[] binary);
abstract immutable(ubyte)[]save() const; - 画像読込/保存 / Image
load/save - abstract void
setKey(in ubyte[] commonKey, in ubyte[] iv = null); - 暗号化/復号のための共通鍵を設定 / Set common key for encryption/decryption
- abstract void
sign(in ubyte[] prvKey);
abstract voidsign(size_t idx, in ubyte[] prvKey); - 全データにまとめて署名 / Signing for all secret data
- メタデータの
items[*].をすべての添付データに対して作成するsign
- メタデータの
- abstract bool
verify(in ubyte[] pubKey) const;
abstract boolverify(size_t idx, in ubyte[] pubKey) const; - 全データの署名をまとめて検証 / Verifying for all secret data
- メタデータの
items[*].signが存在して、その署名が prvKey の公開鍵で検証できるかどうかを確認する
- メタデータの
- abstract bool
hasSign() const;
abstract boolhasSign(size_t idx) const; - 署名を持っているか確認 / Check existing signature
- メタデータの
items[*].signが存在するかどうかを確認する
- メタデータの
- abstract void
metadata(in JSONValuemetadata);
abstract JSONValuemetadata() const; - メタデータを設定/取得 / Set/Get
metadata - abstract void
baseImage(in ubyte[] binary, string mimeType = null);
abstract immutable(ubyte)[]baseImage(string mimeType = null); - ベース画像設定/取得 / Set/Get base image
- abstract void
addSecretItem(in ubyte[] binary, string name = null, string mimeType = null, in ubyte[] prvKey = null); - 添付するデータを追加(平文で指定)
- nameを指定した場合、メタデータの
items[*].nameに名前をセットする - mimeTypeを指定した場合、メタデータの
items[*].mimeにデータ種別をセットする - prvKeyを指定した場合、メタデータの
items[*].signに署名する
- nameを指定した場合、メタデータの
- abstract void
clearSecretItems(); - 添付するデータを全削除 / Clear all secret data
- abstract size_t
getSecretItemCount() const; - 添付されている暗号化されたデータの数 / Count of secret data
- abstract immutable(ubyte)[]
getDecryptedItem(size_t idx) const; - 添付されている復号されたデータ / Get decrypted secret data
- abstract immutable(ubyte)[]
getEncryptedItem(size_t idx) const; - 添付されている暗号化されたデータ / Get encrypted secret data