ここにAPKファイルをドラッグ&ドロップします
またはクリックしてファイルを選択
完全な署名と証明書の分析APK 署名を検証する理由
APK 署名により、アプリが元の開発者から提供されたものであり、改ざんされていないことが保証されます。
- アプリの信頼性と開発者の身元を確認する
- 変更、改ざん、または再パッケージ化された APK を検出する
- 既存のインストールとアップデートの互換性を確認する
- V1/V2/V3 署名スキームのバージョンを特定する
- SHA-1 および SHA-256 証明書のフィンガープリントを表示する
- MANIFEST.MF ファイルの整合性をチェックする
APK署名スキーム
オリジナルのスキームで、各 ZIP エントリを検証します。遅いですが、幅広い互換性があります。
完全な APK 検証、より迅速なインストール。 Android 7.0以降では必須です。
キーのローテーションをサポートします。 Android 9.0以降で利用可能です。
ストリーミングインストールのサポート。 Android 11.0以降。
APK 署名検証ツール — よくある質問
Android APK 署名スキーム (v1、v2、v3、v4) がパッケージの整合性を保護する方法
Android の PackageManager は、有効な暗号署名がない APK のインストールを拒否し、新しい APK の署名証明書がすでにインストールされているパッケージの証明書と正確に一致しない限り、アプリの更新をブロックします (そうでない場合は、INSTALL_FAILED_UPDATE_INCOMPATIBLE をスローします)。サイドロードする前に APK を検証すると、アーカイブが信頼できない第三者によって改ざんされたり、再署名されたりしていないことを確認できます。
ブラウザベースの APK署名検証ツール は、従来の META-INF/ JAR 署名ディレクトリと、ZIP 中央ディレクトリの直前に埋め込まれたバイナリ APK署名ブロック の両方を検査します。
- v1 署名 (JAR 署名 — META-INF/*.MF / *.SF / *.RSA): Android 6.0 以前との下位互換性のために必要です。 v1 は、MANIFEST.MF にリストされている個々のファイル エントリのみをハッシュするため、ZIP メタデータは保護されません。これが歴史的な「Janus」脆弱性 (CVE-2017-13156) の原因となりました。
- v2 署名 (APK 署名スキーム v2 — ブロック ID 0x7109871a): Android 7.0 (Nougat) で導入されました。 APK ファイル全体を 1 MB チャンクのバイナリ イメージとしてハッシュし、余分なバイトや DEX ペイロードがアーカイブ内のどこにも挿入されないことを保証します。 Android 11 以降 (targetSdkVersion ≥ 30) では必須。
- v3 署名 (キーローテーション — ブロック ID 0xf05368c0): Android 9.0 (Pie) で導入されました。暗号化のローテーション証明系統を署名ブロック内に埋め込むことで、開発者は更新の互換性を失うことなく、より強力な RSA-4096 または ECDSA キーにローテーションできます。
- SHA-256 証明書とファイルのフィンガープリンティング: インストールする前に、[概要] タブに表示される SHA-256 ダイジェストを使用して、APK を公式開発者リリース ノートまたは VirusTotal と照合してください。