【问题标题】:Should keystore password be same as PKCS12 certificate password?密钥库密码是否应该与 PKCS12 证书密码相同?
【发布时间】:2017-01-17 04:26:19
【问题描述】:

我正在尝试使用 java 中的 keytool 导入 PKCS12 证书。只有当密钥库密码与证书密码相同时,它才能正常工作。密钥库是否也必须使用 PKCS12 证书密码?

【问题讨论】:

  • 当密钥库和证书密码不匹配时,您会看到什么错误?
  • 没有明确的错误抛出。证书已安装,但我的应用程序没有出现。

标签: java keystore keytool pkcs12


【解决方案1】:

来自documentation of keytool(仅列出与此问题相关的选项):

keytool -importkeystore [-srcstorepass srcstorepass] [-deststorepass deststorepass ] {-srcalias srcalias {-destalias destalias} [-srckeypass srckeypass]} [-destkeypass destkeypass] ...

将单个条目或所有条目从源密钥库导入到 目标密钥库。

当提供 -srcalias 选项时,该命令会导入单个 由目标密钥库的别名标识的条目。 [...] 如果源条目受保护 密码,然后 srckeypass 用于恢复条目。如果 srckeypass 未提供,则 keytool 命令尝试使用 srcstorepass 恢复条目。如果 srcstorepass 未提供或 不正确,然后提示用户输入密码。目的地 条目受 destkeypass 保护。如果没有提供 destkeypass, 然后目标条目受到源条目的保护 密码。 例如,大多数第三方工具需要 商店通行证 keypass 在 PKCS #12 密钥库中是相同的。为了创建一个 这些工具的 PKCS #12 密钥库,始终指定 -destkeypass 为 与 -deststorepass 相同。

如果未提供 -srcalias 选项,则源中的所有条目 密钥库被导入目标密钥库。 [...] 如果源条目 受密码保护,则使用 srcstorepass 恢复条目。如果 srcstorepass 未提供或 不正确,然后提示用户输入密码。 [...]目的地条目是 受源入口密码保护。

因此,密钥库是否也必须使用 PKCS12 证书密码取决于将尝试读取密钥库的应用程序。

【讨论】:

    【解决方案2】:

    如果您依赖 Java 系统属性来通知 JSSE 有关密钥库的信息,则没有用于指定特定密钥别名或其密码的属性。在这种情况下,您别无选择,只能使密码相同。

    【讨论】:

      猜你喜欢
      • 2018-08-06
      • 2019-10-21
      • 1970-01-01
      • 2018-08-06
      • 1970-01-01
      • 1970-01-01
      • 2015-09-22
      • 2023-03-25
      • 1970-01-01
      相关资源
      最近更新 更多