問題タブ [jarsigner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2608 参照

android - Release を使用した Android APK の署名

Eclipse を使用して Android アプリを作成しました。デバッグ モードを使用して署名されているため、Android マーケットにアップロードできません。リリース モードで署名したいです。Tutorial Basic Setup for Signingを読みました。もインストールしましたkeytoolが、インストール方法がわかりませんjarsigner

APK をリリース モードでコンパイルして取得するにはどうすればよいですか?

ありがとう。

0 投票する
1 に答える
3047 参照

java - jarsignerでのフォルダ権限の問題

これは間違いなく非常に初心者の質問であり、プログラミングとは何の関係もないかもしれません。数日後、jarsignerを使用してjarに署名できなかった理由について、最終的に問題を特定しました。「jarsigner:hello.jar.sigを作成できません」というエラーが発生し続けました。

基本的に、私が行ったことは、Java jdkのbinフォルダーにjarを配置し、フォルダー内でShiftキーを押しながら左クリックして、「ここでコマンドウィンドウを開く」をクリックすることでした。keytoolからキーを生成し、selfcertも使用しました。次に、binフォルダーに既に配置されているjarのjarsignerを実行すると、エラーが発生しました。私は最終的にその理由を理解しました。ある種の権限がないため、binフォルダーにjar.sigを作成できませんでした。問題は、宛先を変更可能なフォルダに設定するにはどうすればよいですか?

javaディレクトリへのパスを設定し、デスクトップまたは他の場所からjarsignerを呼び出す方法がわからないため、javabinフォルダー内にコマンドプロンプトを記述する方法を学ぶ必要がありました。

0 投票する
1 に答える
3478 参照

android - キーストアの負荷を解決する方法:無効なキーストアformtat?

3か月前にアプリのリリースキーを取得しています。今、私は自分のコンピューターをフォーマットし、リリースキーでアプリに署名したときに、次のエラーが発生しました:java.lang.RunTimeException:keystore load:invalidkeystoreformat。

このエラーをどのように解決する必要がありますか?

コマンドは次のとおりです。jarsigner-verbose-keystore"D:\ releasekey.keystore" "D:\ myApp.apk" releasekey

古いキーストア(最初のキーストア)を使用していますが、前述のエラーが発生します。

私はこれを試してみました:

ここに画像の説明を入力してください

0 投票する
1 に答える
1315 参照

java - jarsignerの検証に失敗します

新しくインストールしたJDK1.7を使用して、JARファイルに署名します。その直後に、同じjarsignerと同じキーストアを使用して検証し、...次のメッセージで失敗します。

無効なSHA256ハッシュ..。

署名/検証コードは簡単です(Windowsバッチの2つの後件行):

最悪のことは、問題がランダムに見えることであり、検証が失敗したときにjarsignerがエラーレベル(終了コード)を設定することすらありません。

それはJava署名者または暗号化クラスまたは何か他のもののバグですか?

0 投票する
1 に答える
145 参照

maven - mavenでjarに署名する方法はありますが、jdkを変更していますか?

私のシナリオでは、maven を介して JDK6 でコンパイルされた jar ファイルが 1 つあります。この jar は署名する必要があります。だから、私はこの仕事をするために maven-jarsigner-plugin を使いました、そしてそれはうまくいきます!

ただし、私の使命は、JDK1.5 を指すこの jar に署名することです。ただし、jar は JDK6 を使用してビルドする必要があります。だから、私の質問は次のとおりです。JDK6を使用してjarを構築できますが、特に署名のためにJDK5に変更できますか? 出来ますか?

どうもありがとう!

ロドリゴ

0 投票する
3 に答える
9215 参照

java - Java が複数の署名アルゴリズムで署名済みの jar ファイルを検証できない理由

簡単な背景: Webstart アプリケーションをリリースします。これには、独自のアプリケーション jar と多数のサードパーティ jar が含まれます。Webstart では、jnlp ファイルによって参照されるすべての分散 jar が単一の証明書によって署名されている必要があります。したがって、自己署名証明書を使用して、すべての jar (当社の jar とサードパーティの jar) に署名します。一部のサードパーティの jar は、それらを作成したパーティによって既に署名されていますが、再度署名するだけで問題なく動作します。今まで。

問題: 最近 Java 6 から Java 7 に移行したところ、突然 webstart がいくつかの jar のロードを拒否し、「無効な SHA1 署名ファイル ダイジェスト」と不平を言っています。これは一部の jar でのみ発生し、他の jar では発生せず、複数の署名を持つように見える失敗した jar 間で共通のスレッドが表示されます。

SO とインターネットを検索した後、Java の jarsigner のデフォルトの署名アルゴリズムが Java 6 と Java 7 の間で SHA1 から SHA256 に変更されたようで、さまざまな人々が「jarsigner -digestalg SHA1」を使用して検証の問題を回避することを推奨しています。 . 私はそれを試しましたが、確かに、多重署名された jar が検証されるようになりました。したがって、これは私たちの問題の回避策のようです。

私が収集した情報によると、サードパーティの署名は SHA1 署名であり、デフォルトの SHA256 で署名していたため、署名が混在しているようです。「-digestalg」スイッチを使用して SHA1 を強制すると、同じタイプの署名が 2 つになり、検証が機能するようになりました。では、アルゴリズムが異なる複数の署名が原因で問題が発生しているようですか? それとも、私が見逃している他の要因がありますか。

質問:

  1. SHA1 + SHA256 では検証に失敗するのに、SHA1 + SHA1 では検証されるのはなぜですか? 技術的な理由はありますか?セキュリティ ポリシー上の理由ですか。両方の署名が正しいことを確認できないのはなぜですか?
  2. 現在のデフォルトの SHA256 の代わりに SHA1 を使用する (引き続き使用する) ことに欠点はありますか?
0 投票する
1 に答える
870 参照

android - Amazon apk に署名するにはどうすればよいですか?

アプリをAmazonアプリストアにロードできるように、Amazonラップapkに署名しようとしています。私のアプリは Google Api を使用しているため、これを行う必要があります。これに関するすべてのチュートリアルは、jarsigner の使用方法の説明に関しては複雑です。Eclipse から jarsigner にアクセスするにはどうすればよいですか? Android Tools..Export Signed Application と同じくらい簡単にアクセスできますか?

編集

このチュートリアルを使用して、コマンド ライン経由で jarsigner にアクセスできましたが、キーストアのパスワードを入力すると、「jarsigner: 証明書チェーンが見つかりません: および. 秘密鍵と対応するパブリックを含む有効な KeyStore キー エントリを参照する必要があります」と表示されました鍵証明書チェーン。」ここからどう進めばいいのかわからない。

0 投票する
2 に答える
1187 参照

java - Jarファイルは、署名されるまでうまく機能します(Windowsの場合)

まず最初に、私は Java プログラマーではなく、PHP プログラマーです。

Websockets では解決できない状況に遭遇し、解決策を提供する次のサイトを見つけました。

http://stephengware.com/proj/javasocketbridge/

これは基本的に、JavaScript で読み込んで制御できる Jar です。それはうまく機能します。同様の機能が必要な人には強くお勧めします。ただし、Jar は署名されていないため、ページが読み込まれるたびにセキュリティ警告が表示されます。これは少し面倒で、Jar に自己署名すると、「今後これを表示しない」/「永久に許可する」チェック ボックスが有効になると思いました。これは組織内で展開されるため、有料の証明書で署名する必要はないようです。

問題は、Jar に署名するとすぐに機能しないことです。クラスが見つからないというエラーが発生します。Jar ファイルに署名する方法を紹介している多数のサイトを調べて、Google で 10 ページを参照しましたが、この種の問題を抱えている人を見つけることができません。

必要と思われる部品を含めます。他に何か必要な場合はお知らせください。入手します。

アプレット コード:

Jar に署名した方法 (管理者コマンド プロンプトで):

署名されていない Jar と署名されている Jar の両方を開きましたが、ソース ファイルは同じです。署名された Jar の META-INF フォルダーには、CRTLIVE.RSA と CRTLIVE.SF という 2 つの追加ファイルしかありません。

スレッドダンプは次のとおりです。

スレッド スタックは長めですが、次のとおりです。

私は考えられるすべてのものをグーグルで検索しました。

ありがとう!

0 投票する
1 に答える
749 参照

linux - jarsigner でキーストア パス パラメータを渡すシェル

私はこれを持っています

このコマンドの後、apkファイルは署名されていません...

しかし、私がこれを行うと、うまく機能します

編集:実際に私がしていることは次のとおりです

いいえ、何が問題なのか推測できますが、このような状況の解決策はありますか?

編集2

ショートテストを行いました

シェル内

123が正しく出力されるので、何か他の問題があると思います

0 投票する
1 に答える
2021 参照

java - Java セキュリティ ダイアログの外観

署名付きアプレットをロードすると、Java セキュリティ ダイアログが表示されます。

Java セキュリティ ダイアログはどのように表示されますか?