証明書をプライベート~/.keystore
ファイルにインポートしました:
keytool -list
Enter keystore password:
Keystore type: JKS
Keystore provider: Sun
Your keystore contains 1 entry
mylyn-Mantis, Jul 15, 2010, trustedCertEntry
jarに署名しようとしていますが、「証明書チェーンが見つかりません」というエラーが表示されます。
jarsigner -verbose /home/robert/file.jar mylyn-Mantis
jarsigner: Certificate chain not found for: mylyn-Mantis. mylyn-Mantis must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.
この問題を解決するにはどうすればよいですか?
キーストアに含まれているのは証明書(公開鍵)だけで、秘密鍵を含む完全なキーエントリが必要であり、証明書チェーン全体で何でも署名できるようです。
私は同じ問題に直面しました。 CAによって発行された.p12ファイルがあり、jarファイルに署名しようとしていました。ただし、エラーが発生しました:
jarsigner: Certificate chain not found for:
基本的に、私はコンソールからエイリアス名をコピーしていました。間違った文字「クエスチョンマーク」(?)があり、このエラーが発生していました。代わりに、keytool
の出力をテキストファイルにリダイレクトし、そこからエイリアス名をコピーしました。
次のコマンドを発行します。
keytool -list -v -storetype pkcs12 -keystore "mycertificate.p12"> cert.txt
(これは非常に重要です。常にtxtファイルにリダイレクトしてください。コンソール出力からコピーしないでください。間違った文字が含まれている可能性があります)
この文字列が「私のエイリアス名、ap。’s my ca limited id」であるとしましょう
Jarsignerを使用します。
jarsigner -storetype pkcs12 -keystore "mycertificate.p12" myjarfile.jar "my alias name、a.p.'s my ca limited id"