sixtyfootersdude
sixtyfootersdude

Reputation: 27241

Keytool set hostname

I am just attempting to use the java keytool but I cannot figure out how to set the hostname.

This is what is how I am attempting:

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]%

Since I have set all fields to hostname can I assume that my hostname is set to hostname?

Upvotes: 34

Views: 30871

Answers (3)

Frischling
Frischling

Reputation: 2268

Also good to use, SAN (Subject Alternative Name). keytool ...... -ext "SAN=DNS:"

SAN=IP: is also possible. Those entries will be checked again in hostname verification, too, and make it possible to have one certificate for your server, even if it hast more than one DNS name.

Upvotes: 2

Pascal Thivent
Pascal Thivent

Reputation: 570595

According to the section 3.1 "Server Identity" of RFC 2818 "HTTP over TLS", a client is supposed to compare the CN (Common Name) portion of the subject DN (Distinguished Name) in the server certificate to the DNS host name in the URL.

So use the Common Name (CN) for the hostname (the first question of the keytool).

Upvotes: 15

AJ.
AJ.

Reputation: 28194

CN=hostname - it's the first option you're being asked for here. It's confusing that keytool refers to it as "first and last name".

Upvotes: 51

Related Questions