几周前,我们公司从Thawte购买了代码签名证书。当我们最终收到采购团队的证书时,他们不知道证书的别名!
我似乎无法在没有别名的情况下导入证书,他们根本不知道它是什么。有没有办法检索别名?还有其他人遇到过这个问题吗?有没有别名的导入方法吗?
答案 0 :(得分:3)
在创建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中。
答案 1 :(得分:1)
尝试:
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”。