「AlicePackage」の版間の差分

提供: AliceScript Wiki
ナビゲーションに移動 検索に移動
編集の要約なし
編集の要約なし
17行目: 17行目:
|制御コード
|制御コード
|-
|-
|32
|(32)
|署名
|署名(されている場合)
|-
|-
|32
|32
27行目: 27行目:
|}
|}
=署名=
=署名=
AlicePackageにデジタル署名を添付することで、そのパッケージファイルが改竄されておらず、正しい提供元から提供されていることを確認することができます。署名されたAlicePackageは、未書名のパッケージファイルに比べて実行されるまで時間がかかります。署名済みAlicePackageの制御コードの末尾から6バイトには、<code>0x53 0x44</code>、PSKファイルの長さ(4バイト)が入ります。
AlicePackageにデジタル署名を添付することで、そのパッケージファイルが改竄されておらず、正しい提供元から提供されていることを確認することができます。署名されたAlicePackageは、未書名のパッケージファイルに比べて実行されるまで時間がかかります。署名済みAlicePackageの制御コードの末尾には<code>0x53</code>が入ります。
 
署名するAlicePackageには、パッケージコンテナの最上部に<code>certificate.pfx</code>ファイルを(このままの名前で)配置する必要があります。PFXファイルは、パッケージの検証に必要な証明書を表すファイルです。署名の検証はパッケージマニフェストファイルが読み込まれる前に読み込まれます。


=パッケージマニフェストファイル=
=パッケージマニフェストファイル=
すべてのパッケージは、パッケージリソースセットの最上部に<code>manifest.xml</code>ファイルを(このままの名前で)配置する必要があります。パッケージマニフェストファイルは、パッケージに関する情報をビルドツールやAliceScriptインタプリンタに説明するものです。まずは次の例を参照してください。
すべてのパッケージは、パッケージコンテナの最上部に<code>manifest.xml</code>ファイルを(このままの名前で)配置する必要があります。パッケージマニフェストファイルは、パッケージに関する情報をビルドツールやAliceScriptインタプリンタに説明するものです。まずは次の例を参照してください。
  <?xml version="1.0" encoding="utf-8"?>
  <?xml version="1.0" encoding="utf-8"?>
  <ice:package xmlns:ice="http://schemas.wsoft.gq/alice/ice">
  <ice:package xmlns:ice="http://schemas.wsoft.gq/alice/ice">

2022年1月26日 (水) 04:18時点における版

AlicePackageは、プログラムのスクリプト、リソース、ライブラリやパッケージを含むAliceScriptアプリパッケージ形式です。

AlicePackageファイルはそのマジックナンバー「ICE」(16進表現で49 43 45とパッケージタイプを表す1バイトで識別できます。

AlicePackageを作成する方法について知るには、チュートリアル:パッケージのビルドを参照してください。

ファイル構造

AlicePackageの構造
長さ 内容
4 マジックナンバー
16 制御コード
(32) 署名(されている場合)
32 解凍用データ
パッケージコンテンツ

署名

AlicePackageにデジタル署名を添付することで、そのパッケージファイルが改竄されておらず、正しい提供元から提供されていることを確認することができます。署名されたAlicePackageは、未書名のパッケージファイルに比べて実行されるまで時間がかかります。署名済みAlicePackageの制御コードの末尾には0x53が入ります。

署名するAlicePackageには、パッケージコンテナの最上部にcertificate.pfxファイルを(このままの名前で)配置する必要があります。PFXファイルは、パッケージの検証に必要な証明書を表すファイルです。署名の検証はパッケージマニフェストファイルが読み込まれる前に読み込まれます。

パッケージマニフェストファイル

すべてのパッケージは、パッケージコンテナの最上部にmanifest.xmlファイルを(このままの名前で)配置する必要があります。パッケージマニフェストファイルは、パッケージに関する情報をビルドツールやAliceScriptインタプリンタに説明するものです。まずは次の例を参照してください。

<?xml version="1.0" encoding="utf-8"?>
<ice:package xmlns:ice="http://schemas.wsoft.gq/alice/ice">
 <ice:name>Hello,Package</ice:name>
 <ice:version>1.0</ice:version>
 <ice:publisher>WSOFT</ice:publisher>
 <ice:description>Hello,World!とだけ表示します</ice:description>
 <ice:script>
   print("Hello,World!");
 </ice:script>
 <ice:target>any</ice:target>
</ice:package>

パッケージマニフェストファイルは、XML形式で、少なくとも次の情報を記述する必要があります。

  • Name属性

Name属性は、このパッケージの名前を表します。

  • Script属性

Script属性は、このパッケージのエントリポイントを表します。このパッケージが読み込まれたとき、AliceScriptインタプリンタはエントリポイントに記述された内容を順番に実行します。 Script属性の指定には、インラインスクリプトを使用する方法と、有効なスクリプトへのリンクを使う方法の二通りがあります。