2010-02-04 61 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