web-dev-qa-db-ja.com

1つのコマンドでキーストアファイルを作成する

Androidアプリのキーストアファイルを作成して署名するスクリプトがあります。

それは完全にうまく機能していますが、人間の介入なしに実行したい

キーストアを作成する必要があるもの:

keytool -genkey -v -keystore my-release-key.keystore
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000

これにより、ターミナルを使用して次の値を手動で入力するように求められます:キーストアパスワード、フルネーム、組織単位、組織名、市、州、郡コード、キーパスワード。

アプリに署名する必要があるもの:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1
-keystore my-release-key.keystore my_application.apk alias_name

これにより、キーストアのパスフレーズを入力するよう求められます。

とにかく、これらの値をパラメーターとして渡すことができるので、他の対話を必要とせずに完全なスクリプトが実行されますか?

PS:ubuntu 14.04 LTSを使用しています。

御時間ありがとうございます :)

12
PeterG

キーストアを生成するには、次のようなことを実行できます。

keytool -genkey -alias replserver \
    -keyalg RSA -keystore keystore.jks \
    -dname "CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino, S=California, C=US" \
    -storepass password -keypass password

適切なリファレンスは次のとおりです。 https://pubs.vmware.com/continuent/tungsten-replicator-3.0/deployment-ssl-stores.html 。また、jarsignerには、キーストアパスワードの「storepass」パラメーターがあります。そして、両方をスクリプトに入れれば、うまくいくはずです。

35
Sanjeev