【问题标题】:Answer password to keytool in batch files在批处理文件中回答 keytool 的密码
【发布时间】:2011-09-27 15:46:18
【问题描述】:

我需要使用 keytool 和 jarsigner 在许多文件夹中签署很多文件。
每次我开始签署这些文件时,我都需要删除 .cert 和密钥库文件以重新创建它。
我在开发环境中并使用假密码对其进行签名,在应用程序工作后,基础设施人员将负责对其进行签名,我无法获得真正的证书。
当我输入keytool -import .......时,输入后,要求输入密码,我只是输入它,但批量它成为一个问题。
我在这里使用的是 Windows 7。
我也尝试过keytool -import ....... < passHerekeytool -import ....... | passHere,但它不起作用。
我希望转向标志尽可能自动。
有人告诉我以编程方式使用它here 但我只需要在 bat 文件中使用它。
密码是固定内部批处理文件。
有没有办法将 passwd 内联到 keytool?
是否可以在“运行时”中设置环境变量以提供 keytool 密码?怎么做?
有一种方法可以将浴缸内的密码提供给keytool吗?我看到 this 但没有帮助,因为我不是 asm 开发人员,不确定它是否匹配问题,我想知道是否有更简单的东西。

谢谢

【问题讨论】:

  • 你的要求或多或少颠覆了keytool的整个观点。
  • @mcfinnigan,为什么?我在开发环境和假密钥上让小程序工作很头疼。应用程序运行正常后,左下层人员会处理真实标志。顺便说一句,有什么办法吗?谢谢。

标签: java security batch-file applet keytool


【解决方案1】:

这个命令对我有用(用 jdk 1.6.0.24 中的 keytool 测试过):

keytool -import -noprompt -file PathToCertificate -alias SomeCertificateAlias -keystore PathToKeyStore -storepass KeyStorePassword

【讨论】:

    【解决方案2】:

    我需要批量创建密钥库,因为我无法访问远程机器并且需要自动创建密钥库。我试过这个命令(使用-noprompt-storepass 选项),但它仍然要求输入密码。我通过 echo <password> | keytool ... 解决了这个问题,其选项与另一个答案相同,这很有效。

    【讨论】:

    • 你能给我看一个你输入的行的例子吗?
    【解决方案3】:

    我需要使用来自 PKCS12 存储的密钥创建 JKS 密钥存储。

    这对我有用:

    echo <passphrase>| keytool.exe -importkeystore -srckeystore <source_pkcs12> -srcstoretype pkcs12 -destkeystore <jks_store> -deststoretype JKS -storepass <store_passphrase> -noprompt
    

    诀窍是密码和 | 之间没有空格管道符号,否则 keytool 会考虑密码的空格部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多