使用一个命令创建密钥库文件

我有一个脚本,用于为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。

感谢您抽出宝贵时间:)


答案 1

您可以执行类似如下操作来生成密钥库:

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” 参数。如果你把两者都放在一个脚本中,你应该很好。


答案 2