2010-02-04 59 views
20

我只是試圖使用java keytool,但我無法弄清楚如何設置主機名。Keytool set hostname

這就是我就是在嘗試:

hostname[username:/this/is/a/path][640]% keytool -keystore server.keystore -genkeypair -alias hostname 
Enter keystore password: 
Re-enter new password: 
What is your first and last name? 
    [Unknown]: hostname 
What is the name of your organizational unit? 
    [Unknown]: hostname 
What is the name of your organization? 
    [Unknown]: hostname 
What is the name of your City or Locality? 
    [Unknown]: hostname 
What is the name of your State or Province? 
    [Unknown]: hostname 
What is the two-letter country code for this unit? 
    [Unknown]: CA 
Is CN=hostname, OU=hostname, O=hostname, L=hostname, ST=hostname, C=CA correct? 
    [no]: yes 

Enter key password for <hostname> 
     (RETURN if same as keystore password): 
hostname[username:/this/is/a/path][641]% 

既然我已經設定爲主機名各個領域我可以假設我的主機名設置爲主機名?

回答

29

CN = hostname - 這是您在這裏要求的第一個選項。令人困惑的是,keytool將其稱爲「名和姓」。

+0

這就是我所懷疑的,但我想確保這不是我的問題。什麼是不明確的工具。 (謝謝!) – sixtyfootersdude 2010-02-04 14:08:21

+0

在服務器密鑰庫或客戶端信任庫上設置主機名是否更重要?無論哪種情況,我們在每臺機器上都使用相同的命令,對嗎? – MacGyver 2014-05-23 14:57:45

12

根據RFC 2818 "HTTP over TLS"的3.1節「服務器標識」,客戶端應該將服務器證書中主題DN(專有名稱)的CN(公用名稱)部分與URL中的DNS主機名進行比較。

因此,使用通用名稱(CN)作爲主機名(keytool的第一個問題)。

+0

哇,現在回顧這個問題,我有一個更好的理解。你指向RFC的指針非常有用。謝謝! – sixtyfootersdude 2010-04-21 00:52:20

+0

@sixtyfootersdude不客氣。很高興你覺得它很有用。 – 2010-04-21 14:09:28