2010-09-01 111 views
2

我們公司幾周前從Thawte購買了代碼簽名證書。當我們最終從採購團隊收到證書時,他們不知道證書的別名!遺失代碼簽名證書別名

我似乎不能導入沒有別名的證書,他們根本不知道它是什麼。有沒有辦法檢索別名?有其他人遇到這個問題嗎?有沒有別名的導入方式?

+0

什麼是密鑰庫格式 - JKS或其他?你用什麼工具 - keytool,openssl或其他? – 2010-09-01 07:58:40

+1

您的團隊中有人需要被解僱:-) – 2010-09-01 09:01:51

回答

1

嘗試用:

keytool -list -keystore certificate.jks 

(請注意,如果您的密鑰庫是不是JKS,例如,PKCS12,您可以添加一個可選-storetype選項來改變倉庫類型:)

keytool -list -keystore certificate.p12 -storetype PKCS12 

你會碰到這樣的:

倉庫類型:JKS 密鑰庫提供:SUN

您的keystore包含1周

的myKey,2010年2月1日,trustedCertEntry, 證書指紋(MD5):0F:73:59:5C:35:8C:F2:F0:27:7E:F7: B7:AF:0A:95:B4

您的證書別名顯示在證書說明的第一行,這裏是'mykey'。

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中。