VegaアプリパッケージでのVPTの使用
VPTは、Vegaアプリパッケージを管理するツールです。これを使用して、.vpkgファイル(Vegaの標準パッケージ形式)の作成、検査、管理、検証を行うことができます。
VPTを使用するには、Vegaソフトウェア開発キット(SDK)をインストールします。SDKには、次の2つの主要なコマンドラインツールが含まれています。
- VPT - 作成や検証などのパッケージ操作を管理します。
- Vega CLI - アプリのビルドやデプロイなど、アプリの開発フロー全体を処理します。
VPTはVega CLIによるアプリのビルド中に使用されますが、VPTを直接実行して、次の操作を行うこともできます。
- パッケージの検査
- コンテンツの検証
- アプリへのカスタム署名の追加
コマンド
VPTが提供するコマンドのカテゴリーは以下のとおりです。すべてのコマンドの一覧とそれぞれの最新のオプションについては、vpt helpを参照してください。
パッケージ情報
以下のコマンドは、パッケージの詳細と内容を表示します。
info
ID、タイトル、ビルドの詳細を含むパッケージ情報を表示します。(注:画面の出力に関する日本語表記は説明のために提供しています。実際には英語で表示されます。)
使用方法:vpt info [オプション] <パッケージ>
引数:
<パッケージ> vpkgのパス
オプション:
--json JSON形式で出力します
-h、--help ヘルプを表示します
例:
vpt info /path/to/keplersampleapp.vpkg
// 出力
Sample App com.amazondeveloper.keplersampleapp v1.3.4 b53
show-contents
パッケージ内のすべてのファイルの一覧を表示します。
使用方法:vpt show-contents [オプション] <パッケージ>
引数:
<パッケージ> vpkgのパス
オプション:
-h、--help ヘルプを表示します
例:
vpt show-contents /path/to/keplersampleapp.vpkg
// 出力
Package contents:
assets/ (6 files)
lib/ (2 files)
manifest.toml
meta-info/ (4 files)
パッケージの作成と展開
以下のコマンドは、パッケージの作成と変更を行います。
pack
ソースディレクトリからパッケージを作成します。パッケージ名、バージョン、ビルド番号を指定できます。
使用方法:vpt pack [オプション] <ソースパス>...
引数:
<ソースパス>... ソースディレクトリ
オプション:
-n、--pkg-name <パッケージ名> パッケージの名前
-d、--dest-path <出力先パス> 出力先のパス
-b、--build-number <ビルド番号> ビルド番号
-v、--version <バージョン> ビルドバージョン
--validate マニフェストの検証を強制します
-h、--help ヘルプを表示します
例:
vpt pack /path/to/source --pkg-name keplersampleapp --dest-path /path/to/output --version 1.0.0 --build-number 42
// 出力
Creating package keplersampleapp...
Validating manifest...
Package created at /path/to/output/keplersampleapp.vpkg
unpack
出力先のパスにすべてのパッケージファイルを展開します。
使用方法:vpt unpack [オプション] <パッケージ>
引数:
<パッケージ> vpkgのパス
オプション:
-d、--dest-path <出力先パス> 出力先のパス
-h、--help ヘルプを表示します
例:
vpt unpack /path/to/keplersampleapp.vpkg --dest-path /path/to/output
// 出力
Extracting package contents...
Files extracted to /path/to/output
dump
パッケージからファイルを抽出します。stdoutに出力するか、指定された出力先のパスに保存します。
stdoutに出力すると、ターミナルの表示が文字化けする可能性があります。
使用方法:vpt dump [オプション] <パッケージ> <エントリ>
引数:
<パッケージ> vpkgのパス
<エントリ> vpkg内のエントリのパス
オプション:
-d、--dest-path <出力先パス> 出力先のパス
-h、--help ヘルプを表示します
例:
vpt dump /path/to/keplersampleapp.vpkg manifest.toml
// 出力
Extracting manifest.toml from keplersampleapp.vpkg
Content written to stdout
extract-locales
パッケージから、ローカリゼーションファイルをJSONまたはテキストとして抽出します。
使用方法:vpt extract-locales [オプション] <パッケージ>
引数:
<パッケージ> vpkgのパス
オプション:
-f、--format <形式> 出力形式[デフォルト:json] [指定できる値:json、text]
-h、--help ヘルプを表示します
例:
vpt extract-locales --format json /path/to/keplersampleapp.vpkg
// 出力
Extracting localization files...
Files extracted to current directory:
- en/strings.json
- es/strings.json
パッケージの署名と検証
以下のコマンドは、セキュリティと検証を処理します。
pull
パッケージから、ダイジェストファイルと署名ファイルを抽出します。ダイジェストファイルには、VPKG内にあるすべてのファイルの暗号化チェックサムの一覧が含まれています。署名ファイルには、ダイジェストファイルの真正性を検証する暗号化署名が分離されて含まれています。ダイジェストファイルをJSON形式で抽出するには、--json-digestを使用します。署名ファイルをJSON形式で抽出するには、--json-signatureを使用します。
使用方法:vpt pull [オプション] <--signature|--digest|--json-signature|--json-digest> <パッケージ> <出力先>
引数:
<パッケージ> vpkgのパス
<出力先> 出力先のパス
オプション:
--signature
--digest
--json-signature
--json-digest
-h、--help ヘルプを表示します
例:
vpt pull --signature /path/to/keplersampleapp.vpkg /path/to/output/digest.sig
// 出力
Extracting signature from keplersampleapp.vpkg
Signature saved to /path/to/output/digest.sig
push
パッケージに署名ファイルを追加します。パッケージのダイジェストに対応するJSON形式の署名ファイルを挿入するには、--json-signatureを使用します。
使用方法:vpt push [オプション] <--signature <署名>|--json-signature <JSON署名> <パッケージ>
引数:
<パッケージ> vpkgのパス
オプション:
--signature <署名> 挿入する従来のダイジェストファイル署名のパス
--json-signature <JSON署名> 挿入するdigest.jsonファイル署名のパス
-h、--help ヘルプを表示します
例:
vpt push --signature /path/to/input/digest.sig /path/to/keplersampleapp.vpkg
// 出力
Adding signature to keplersampleapp.vpkg
Signature successfully added
sign
プライベートキーと証明書を使用してメッセージに署名します。
使用方法:vpt sign [オプション] <メッセージ> <プライベートキー> <証明書> <出力ファイル>
引数:
<メッセージ> 署名するメッセージ
<プライベートキー> メッセージに署名するプライベートキー
<証明書> プライベートキーに対応するX.509証明書
<出力ファイル> 出力ファイル
オプション:
-r、--resign 署名済みのメッセージに再署名します
-h、--help ヘルプを表示します。
例:
vpt sign --resign /path/to/input/digest.sig /path/to/developer-private.key /path/to/developer-cert.pem /path/to/output/digest.sig
// 出力
Signing digest.sig with provided key and certificate
Signature created at /path/to/output/digest.sig
verify
指定された証明書を使用してメッセージの署名を検証します。
使用法:vpt verify [オプション] <メッセージファイル> <署名ファイル> <証明書>...
引数:
<メッセージファイル> 検証するファイル
<署名ファイル> メッセージの検証に使用する署名
<証明書>... 検証で照合するX.509証明書のリスト
オプション:
-p、--partial 指定されたCAのみを使用して、部分的/非包括的な検証を実行します
-h、--help ヘルプを表示します
例:
vpt verify /path/to/message.txt /path/to/message.sig /path/to/cert.pem
// 出力
Verifying signature...
Signature verification successful
checksum
パッケージのチェックサムを計算します。
使用方法:vpt checksum [オプション] <パッケージ>
引数:
<パッケージ> vpkgのパス
オプション:
-h、--help ヘルプを表示します
例:
vpt checksum /path/to/keplersampleapp.vpkg
// 出力
Calculating checksum...
SHA256: a1b2c3d4e5f6...
generate-csr
構成ファイルから証明書署名リクエスト(CSR)を作成します。
使用方法:vpt generate-csr [オプション]
オプション:
-k、--key <キー> プライベートキー
-c、--config <構成> 構成ファイル
-o、--out <出力先> 出力先ディレクトリ
-v、--verbose 生成されたCSRパスを表示します
-h、--help ヘルプを表示します
例:
vpt generate-csr -k /path/to/private.key -c /path/to/config.json -o /path/to/output/dir -v
// 出力
Reading configuration from config.json
Generating CSR using private.key
CSR created at /output/dir/certificate.csr
パッケージの分析
以下のコマンドは、パッケージの構造と内容を検証します。
validate
パッケージマニフェストがAmazonアプリストアの要件を満たしているかどうかを確認します。
要件ルールの詳細については、マニフェストのユーザーガイドを参照してください。
使用方法:vpt validate [オプション] <パス>
引数:
<パス> vpkg、ディレクトリ、manifest.tomlのいずれかのパス
オプション:
--no-color 色分け表示を無効にします
-h、--help ヘルプを表示します
例:
vpt validate keplersampleapp.vpkg
// 出力
validating 'keplersampleapp.vpkg' ...
analyzing manifest.toml ...
found issues in manifest.toml ...
manifest validation found 2 errors
manifest.toml:3:1 info: [package.icon] Icon isn't defined in the manifest.Using system default.
help: Define an icon to help users recognize your app
manifest.toml:15:6 error: [components.interactive.id] Component ID 'com.company.sample.badcomponentname' doesnt have package ID prefix 'com.amazondeveloper.keplersampleapp'
help: Component ID should follow the format: package_id.component_name
manifest.toml:9:1 error: [components.interactive.categories] No interactive component declares 'com.amazon.category.main' category.App can't launch without package-id or package ASIN.
help: One interactive component should declare 'com.amazon.category.main' category in the manifest
パッケージのカスタム署名の作成
-
パッケージから署名ファイルを抽出します。
vpt pull --json-signature /path/to/keplersampleapp.vpkg /path/to/pulled/digest.json.sig // 出力 Extracting signature from keplersampleapp.vpkg Signature saved to /path/to/pulled/digest.json.sig -
プライベートキーと証明書を使用して、抽出したdigest.json.sigファイルに署名します。
vpt sign --resign /path/to/pulled/digest.json.sig /path/to/developer-private.key /path/to/developer-cert.pem /path/to/signed/digest.json.sig // 出力 Signing digest.json.sig with provided key and certificate Signature created at /path/to/signed/digest.json.sig -
署名された署名ファイルをパッケージに戻します。
vpt push --json-signature /path/to/signed/digest.json.sig /path/to/keplersampleapp.vpkg // 出力 Adding signature to keplersampleapp.vpkg Signature successfully added
関連トピック
Last updated: 2025年9月30日

