as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート

VegaアプリパッケージでのVPTの使用

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に出力するか、指定された出力先のパスに保存します。

クリップボードにコピーしました。

使用方法: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

パッケージのカスタム署名の作成

  1. パッケージから署名ファイルを抽出します。

    クリップボードにコピーしました。

    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
    
  2. プライベートキーと証明書を使用して、抽出した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
    
  3. 署名された署名ファイルをパッケージに戻します。

    クリップボードにコピーしました。

    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日