コマンドラインからJavaアプリケーションを実行したときに「アプリケーションのデジタル署名を確認できません」という警告メッセージが表示されないようにする方法はありますか?
継続的インテグレーションサーバーでこのようなアプリケーションを起動できるコマンドラインソリューションを探しているので、手動による介入を必要としないソリューションが必要です。
また、これはセキュリティ上のリスクとなる可能性があるため、どのアプリケーションでもこの警告を無効にしないことをお勧めします。
役立つかどうかはわかりませんが、署名の「name」、「publisher」、「from」フィールドの値は知っています。
念のために言っておきますが、私はこのアプリケーションに署名する方法について質問していません。
アップデート1
解決策はkeytool
コマンドラインから証明書をインポートするために使用することだと思いますが、この後コントロールパネルアプレットに表示されず、アプリケーションがまだそれを必要としているため、何らかの理由で正しくインポートできません。
keytool -importcert -file my.cer -alias alf2 -storepass changeme -noprompt
これはデフォルトkeystore
に関連するものですか、正しいキーストアにインポートしていることをどのように確認できますか?
アップデート2
ネット上で多くの調査を行った後、私はある程度の進歩を遂げ、少なくとも次のことに取り組みましWindows 7
たJava 6
。keytool -importcert -file my.cer -keystore "%USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs" -storepass "" -noprompt -v
Sunは、ドキュメントでデフォルトのキーストアの実際の場所とデフォルトのパスワードが空白であるという事実を指定できなかったようです。
しかし、これで終わりではありません。これは、自動化ユーザーアカウントでの実行が失敗したため、このユーザーがまだキーストアを持っていなかったために失敗し、コマンドラインツールkeytool
が空のパスワードでキーストアを作成できず、少なくとも6文字。サンのフォーラムトレッドを参照してください...