お分かりになる方、お教え下さい
APKファイルにつけた署名を確認するために
jarsigner -verify -verbose -certs アプリ名.apk
を実行すると
jarsigner:java.lang.SecurityException: invalid SHA1 signature file digest
for n ・・・es/layout/main.xml
という風に表示されてしまいます
これは署名後にmain.xmlの内容が変更された場合に表示されるエラーだそうです
しかし当方でAPKファイルの内容を書き換える技術は到底ございませんし
いじった覚えもありません
通常、main.xmlの内容が署名後に変更された場合は
jar tvf APKファイル名
を実行するとMETA-INF/TECHKEY.SFよりもres/layout/main.xmlの
タイムスタンプのほうが新しくなるそうです
しかし当方で実行した場合
META-INF/TECHKEY.SFは
674 MON JUN 24 18:49:48
res/layout/main.xmlは
476 Sat JUN 01 10:24:18
になっていました
この結果で見る限りではres/layout/main.xmlの方が古いままに
なっていると思われます
なのになぜres/layout/main.xmlの内容が書き換えられたというエラーが出るのか?
解決策が見つからず困っています
お分かりになる方、ご教授下さい
よろしくお願い申し上げます
No.2ベストアンサー
- 回答日時:
とりあえず、SHA1のオプションがポイントみたいです
> -digestalg SHA1
Javaのバージョンは、下記のコマンドで表示されます。
> java -version
この回答への補足
teketon様
あれから当方でも色々勉強させて頂き、
jarsigner -sigalg SHA1withRSA -digestalg SHA1 -keystore 証明書名.keystore -verbose アプリ名.apk 証明書別名
で署名をつけるとあの忌々しいメッセージは表示されなくなり
「jarが検証されました」といううれしいメッセージが表示されるようになりました
しかしなぜか二重署名になってしまい、やはりGooglePlayにアプリを
登録する事はできませんでした
jarsigner -verify -verbose -certs アプリ名.apk
で確認すると
当方がつけた署名以外に
X.509, CN=Android Debug, O=Android, C=US
[証明書は 11/12/20 23:53 に失効します]
という署名がついて複数署名になっています
また、
[CertPathが検証されていません: Path does not chain with any of the trust a
ors]
というエラーが署名の箇所に表示され文末には
このjarには、証明書チェーンがまだ検証されていないエントリが含まれています
と表示されています
なぜこのようなエラーが出るのか、複数署名になるのを防ぐ事はできるのか
もしおわかりになりましたらご指導下さい
何卒よろしくお願い申し上げます
何度も回答頂き本当にありがとうございます
本当に嬉しいです
jarsigner -keystore 証明書名 -digestalg SHA1 アプリ名 証明書別名
を実行してみるとパスワードを要求されましたが入力しても
そのあと何も表示されませんでした
試しに
jarsigner -verify -verbose -certs アプリ名.apk
で署名確認するとやはり
jarsigner:java.lang.SecurityException: invalid SHA1 signature file digest
for n ・・・es/layout/main.xml
と表示されました…
java -version
でバージョンを確認すると
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b16)
Java HotSpot(TM) Client VM (build 23.25-b01, mixed mode, sharing)
と表示されました
これは当方がダウンロードしたJDKのバージョンと一致しています
ここからダウンロードしました
↓
http://www.searchman.info/java_eclipse/1010.html
このJAVAに問題があるのでしょうか?
「署名した環境と検証する環境でJavaのバージョンが違う場合」
というのがどういう風に確認するのかがわからないのです
本当に初心者ですみません
お忙しい中お時間を頂いて本当に感謝しています
もし当方の問題点がおわかりになればお教え下さい
本当にありがとうございました
No.1
- 回答日時:
署名の仕方が間違っているんじゃないかなあ。
>jarsigner -keystore mykeystore -digestalg SHA1 jarfile alias
あと、署名した環境と検証する環境でJavaのバージョンが違う場合もあやしそう。
参考URL:http://stackoverflow.com/questions/8176166/inval …
teketon様
お忙しい中回答頂き誠にありがとうございます
なるほど、別の署名の仕方があるんですね
当方は
jarsigner -verbose -keystore c:\証明書のあるディレクトリ\証明書名.keystore c:\ファイルのあるディレクトリ\アプリ名.apk 証明書別名
で署名をしていました
頂いた回答を元に勉強してみます
JAVAのバージョンが原因の場合もあるんですね
そちらも勉強してみます
しかし何しろ初心者で英語もわからないものですからできるかどうか…(;´д` )
出勤前で時間がないので取り急ぎお礼だけさせて頂きました
八方ふさがりの状態ですので少しでもヒントをいただけるのは
本当にありがたいです
もしお時間があれば初心者にもわかるようにもう少し詳しくお教え頂けますでしょうか?
・各環境のJAVAバージョンの確認の仕方
・jarsigner -keystore mykeystore -digestalg SHA1 jarfile alias
はjarsigner -keystore 証明書名 -digestalg SHA1 アプリ名 証明書別名
でよいのでしょうか?
取り急ぎお礼させて頂きます
本当にありがとうございました
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- AJAX 自作の地図をグーグルマップのようにしたい 3 2022/11/15 11:53
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ワークスペースをビルド中」...
-
split関数で区切り文字がない場合
-
JAVAにのeclipseに関する質問で...
-
Eclipse(JAVA)のデバッグで他...
-
jasper.exceptionとは?
-
Javascriptの値をJava(JSP)へ渡...
-
コミット前の更新データをチェ...
-
Javaで年月の取得(YYYYMM形式で)
-
eclipseでスタックサイズを変更...
-
javascriptで、style undefined...
-
XPathFactory
-
JSP実行時のCLASSPATHはいつも...
-
Windows,LinuxでTomcatを動かす...
-
printfの小数点以下の表示桁数...
-
環境変数設定で
-
Java能力認定試験の問題です。 ...
-
javascriptで、mysqlに接続をし...
-
自動でコンパイルして、実行結...
-
Eclipse 実行→Javaアプリケー...
-
SELECT-INTO文の実行につきまして
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipse(JAVA)のデバッグで他...
-
split関数で区切り文字がない場合
-
JAVAにのeclipseに関する質問で...
-
Javascriptの値をJava(JSP)へ渡...
-
jasper.exceptionとは?
-
「ワークスペースをビルド中」...
-
eclipseでスタックサイズを変更...
-
eclipseのjavaを実行できない
-
Javaで年月の取得(YYYYMM形式で)
-
コミット前の更新データをチェ...
-
eclipse実行ができない
-
Eclipseで実行>Javaアプリケー...
-
エクリプスで実行時、最新クラ...
-
Eclipse 実行→Javaアプリケー...
-
eclipseで「サーバーで実行」表...
-
Google Colabでimport soxが出...
-
環境変数設定で
-
Javascriptのパーミッション
-
Spyder上のPythonでinputが実行...
-
NoClassDefFoundError: javax/m...
おすすめ情報