【问题标题】:Lost Code Signing Certificate Alias丢失代码签名证书别名
【发布时间】:2011-04-06 16:03:34
【问题描述】:

我们公司几周前从 Thawte 购买了代码签名证书。当我们最终从采购团队收到证书时,他们不知道证书的别名!

我似乎无法在没有别名的情况下导入证书,而且他们根本不知道它是什么。有没有办法检索别名?有没有其他人遇到过这个问题?有没有没有别名的导入方式?

【问题讨论】:

  • 什么是密钥库格式 - JKS 或其他?您使用什么工具 - keytool、openssl 或任何其他工具?
  • 听起来你团队中的某个人需要被解雇 :-)

标签: java ssl certificate keystore thawte


【解决方案1】:

别名是在创建 RSA 证书的私钥时指定的。它不是由证书签名机构决定的,而是由创建私钥和公钥的人决定的。

我不能说您的采购部门是否应该知道这一点,但您需要与生成 CSR 的人员/部门核实,以确定用于生成 CSR 的工具包和密钥存储格式。

现在,假设使用 Java keytool 实用程序创建 CSR,并且私钥在 JKS 密钥库中管理,您可以使用 keytool 命令来确定密钥库的内容(以及别名)。这可以使用 keytool -list 来完成,如另一个答案中所示。下面演示了一个示例运行,别名出现在输出中:

keytool -list -v -keystore foo.jks
Enter keystore password:

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 1 entry

Alias name: foo
Creation date: Sep 1, 2010
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=foo, OU=foo, O=foo, L=foo, ST=foo, C=foo
Issuer: CN=foo, OU=foo, O=foo, L=foo, ST=foo, C=foo

请注意,您无需知道密钥库密码即可读取密钥库的内容,在这种情况下会显示警告。

如果您使用其他工具包和/或密钥库格式,您需要采用类似的方法来确定密钥库的内容,因为别名不一定会出现在 CSR 中。

【讨论】:

    【解决方案2】:

    尝试:

    keytool -list -keystore certificate.jks
    

    (请注意,如果您的密钥库不是 JKS,例如 PKCS12,您可以添加可选的 -storetype 选项来更改密钥库类型:)

    keytool -list -keystore certificate.p12 -storetype PKCS12
    

    你会得到类似的东西:

    密钥库类型:JKS 密钥库提供者:SUN

    您的密钥库包含 1 个条目

    mykey,2010 年 2 月 1 日,trustedCertEntry, 证书指纹(MD5):0F:73:59:5C:35:8C:F2:F0:27:7E:F7:B7:AF:0A:95:B4

    您的证书别名显示在证书说明的第一行,此处为“mykey”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-19
      • 1970-01-01
      • 1970-01-01
      • 2014-02-03
      • 2013-10-10
      • 2014-01-25
      • 2014-03-24
      • 2011-04-02
      相关资源
      最近更新 更多