SSL双向认证证书制作流程
——含单向SSL
一、证书制作:
1、生成服务器密钥(库):
keytool -genkey -alias server -keyalg RSA -keysize 2048 -validity 3650 -dname
"CN=localhost,OU=DTY,O=BMC,L=Beijing,ST=Beijing,C=CN"
-keypass 123456 -keystore server.jks -storepass 123456
CN:要签名的[域名]或[IP](说明:此处为要配置SSL服务器IP 或域名)
OU:组织单位名称,如:[公司注册简称]
O:组织名称,如:[公司英文全称]
L:城市或地区名称,如:[Beijing]
ST:州或省份名称,如:[Beijing]
C:单位的两字母国家代码,如:[CN]
2、验证生成的服务器密钥(库):
keytool -list -v -keystore server.jks -storepass 123456
3、为步骤1生成的服务器密钥(库)创建自签名的证书:
keytool -selfcert -alias server -keystore server.jks -storepass 123456
4、验证生成的服务器密钥(库):
keytool -list -v -keystore server.jks -storepass 123456
5、导出自签名证书:
keytool -export -alias server -keystore server.jks -file server.cer -storepass 123456
说明:此证书为后续要导入到浏览器中的受信任的根证书颁发机构。
6、生成客户端密钥(库):
说明:keytool –genkey命令默认生成的是keystore文件,但为了能顺利导入到IE或其他浏览器中,文件格式应为PKCS12。
稍后,此P12文件将导入到IE或其他浏览器中。
keytool -genkey -alias client -keyalg RSA -keysize 2048 -validity 3650 -dname
"CN=localhost,OU=DTY,O=BMC,L=Beijing,ST=Beijing,C=CN"
-storetype PKCS12 -keypass 123456 -keystore client.p12 -storepass 123456
CN:要签名的[域名]或[IP](特别说明:这里是客户端机构的域名或IP)
OU:组织单位名称,如:[公司注册简称]
O:组织名称,如:[公司英文全称]
L:城市或地区名称,如:[Beijing]
ST:州或省份名称,如:[Beijing]
C:单位的两字母国家代码,如:[CN]
7、提取客户端密钥的公钥:
只有客户端密钥库文件还不行,还需要一个证书文件。毕竟证书文件才是直接提供给外界的公钥凭证,因此需要将客户端密钥库文件中的公钥导入到某个证书文件中。
keytool -export -alias client -keystore client.p12
-storetype PKCS12 -rfc -file client.cer -storepass 123456
8、将客户端密钥库的公钥导入到服务端密钥库中:
keytool -import -v -file client.cer -keystore server.jks
-storepass 123456
9、验证生成的服务器密钥(库):
keytool -list -v -keystore server.jks -storepass 123456
说明:验证步骤8的公钥是否导出成功。
二、证书导入:
1、导入客户端密钥(库):
a)对于IE浏览器,选择Internet选项,则显示如下:
b)点击证书按钮,显示如下: