X.500 Distinguished Names被用来标识一个实体,例如那些用主题和发行者(签名者)来命名的X.509证书领域。keytool支持如下部分:
如果使用-genkey或者-selfcert命令的情况下,当需要提供一个完整的X.500 Distinguished 名字的字符串作为-dname选项的值时,名字的字符串必须遵守如下格式:
CN=cName, OU=orgUnit, O=org, L=city, S=state, C=countryCode
其中所有的斜体部分是实际的值,另外下面的一些关键字的缩写:
CN=commonName
OU=organizationUnit
O=organizationName
L=localityName
S=stateName
C=country
一个简单的例子:
CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino, S=California, C=US
一个简单的使用上述字符串的命令的例子:
keytool -genkey -dname "CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino, S=California, C=US" -alias mark
缩写不区分大小写。例如:"CN", "cn", and "Cn" 被视为相同。
顺序是必要的,每一个子项目按顺序出现。但是不需要有所有的子项。你可能有一个子集,例:
CN=Steve Meier, OU=SunSoft, O=Sun, C=US
如果标识名的字符串中包含逗号。则逗号必须通过转义字符"\"书写:
cn=peter schuster, o=Sun Microsystems\, Inc., o=sun, c=us
当你执行一个命令时,标识符的字符串其实并不是必须的,命令需要该字符串,但不一定必须写在命令行上,因为keytool可以就每个子项逐个向用户提问。在这种情况下,逗号就不需要转义字符“/”了。