生成一个通过论证机构认证过的认证过程:
一:生成一个本地的认证key.keystore
keytool -genkey -alias webserver -keyalg RSA -validity 3650 -keystore d:/keystore/key.keystore
二:根据自己生成的认证new.keystore生成一个认证请求certreq.csr
keytool -certreq -keyalg RSA -alias webserver -file d:/keystore/certreq.csr -keystore d:/keystore/key.keystore
三:把请求certreq.csr发给认证机构去认证,认证机构会返回一个认证certificateFile
四:去认证机构那下载Chain Certificate or Root Certificate 并导入到本地认证key.keystore
keytool -import -alias root -keystore d:/keystore/key.keystore -trustcacerts -file <filename_of_the_chain_certificate>
如果是Chain Certificate,可能会import多个证书,如有root.cer>servercert.cer>...,
就要按顺序分别import.
keytool -import -alias root -keystore d:/keystore/key.keystore -trustcacerts -file d:/keystore/root.cer
keytool -import -alias server -keystore d:/keystore/key.keystore -trustcacerts -file d:/keystore/servercert.cer
五:最后导入认证机构发回的认证certificateFile
keytool -import -alias webserver -keystore d:/keystore/key.keystore -trustcacerts -file certificateFile
这样就形成了一个Chain Certificate.我们经过认证的证书就处于这个Chain中了。
keytool 支持以下的子组件:
commonName - 个人常用名,例如“Susan Jones”
organizationUnit - 小型组织(例如部门或分部)的名称,例如“Purchasing”
organizationName - 大型组织的名称,例如“ABCSystems, Inc.”
localityName - 地方(城市)名,例如“Palo Alto”
stateName - 州或省份名,例如“California”
country - 两个字母的国家代码,例如“CH”
以下是特征名字符串样本:
CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino, S=California, C=US
如果认证的网站有一个实际的域名,可以填写域名,如果没有也可以是服务器的IP地址,
其它常用命令:
openssl genrsa -out /dhcc/guojiaan/dhcc.pem 1024
openssl req -new -out /dhcc/guojiaan/dhcc-req.csr -key /dhcc/guojiaan/dhcc.pem
openssl x509 -req -in /dhcc/guojiaan/dhcc-req.pem -out /dhcc/guojiaan/dhcc-cert.pem -signkey /dhcc/guojiaan/dhcc.pem -days 3650