java安全架构____keytool数字证书配置tomcat的https实战

3/8/2017来源:ASP.NET技巧人气:1275

//===================1.生成服务端证书=========================\\

keytool(java证书管理工具)

-genkey ( 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书)

-alias csdn(别名_csdn) 

-keypass 123456(指定别名条目的密码(私钥的密码)) 

-keyalg RSA(如 RSA  DSA(如果不指定默认采用DSA)) 

-keysize 1024(密钥长度) 

-validity 365(有效期,天单位) 

-keystore D:/csdn_server.keystore(指定密钥库的名称产生的各类信息将不在.keystore文件中) 

-storepass 123456(指定密钥库的密码(获取keystore信息所需的密码))

命令:
keytool -genkey -alias csdn -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/csdn_server.keystore -storepass 123456

问题:
你的名字姓氏
www.csdn.com
你的单位
csdn
组织名称:
csdn
你所在的区域名称:
BJ
你所在的省是
BJ
国家:
ZH
YES----->

//

//2生成客户端证书

//======================2.生成客户端证书=============================\\

第二步:为客户端生成证书

为浏览器生成证书,以便让服务器来验证它。

为了能将证书顺利导入至IE和Firefox,证书格式应该是PKCS12,

因此,使用如下命令生成:

keytool (java秘钥工具)

-genkey (java)

-alias csdn_client 

-keypass 123456

-keyalg RSA 

-storetype PKCS12 

-keypass 123456 

-storepass 123456 

-keystore D:/csdn_client.p12
命令:
keytool -genkey -alias csdn_client -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -storetype PKCS12 -keystore D:/csdn_client.p12 -storepass 123456


////=========================3.让服务器信任客户端证书==========================\\ 1、 由于不能直接将PKCS12格式的证书库导入, 必须先把客户端证书导出为一个单独的CER文件,使用如下命令: keytool -export -alias csdn_client -keystore D:/csdn_client.p12 -storetype PKCS12 -keypass 123456 -file D:/csdn_client.cer 注意: Keypass:指定CER文件的密码,但会被忽略,而要求重新输入 2、 将该文件导入到服务器的证书库,添加为一个信任证书: keytool -import -v -file D:/csdn_client.cer -keystore D:/csdn_server.keystore -storepass 123456 由于不能直接将PKCS12格式的证书库导入, //查看证书 keytool -list -v -keystore D:/csdn_server.keystore

// 第四步:让客户端信任服务器证书 1、由于是双向SSL认证,客户端也要验证服务器证书, 因此,必须把服务器证书添加到浏览器的“受信任的根证书颁发机构”。 由于不能直接将keystore格式的证书库导入, 必须先把服务器证书导出为一个单独的CER文件,使用如下命令: keytool -keystore D:/csdn_server.keystore -export -alias csdn  -file D:/csdn_server.cer 2、 双击server.cer文件,按照提示安装证书, 将证书填入到“受信任的根证书颁发机构”。 填入方法: 打开浏览器   - 工具  -  internet选项-内容- 证书-把中级证书颁发机构里的www.localhost.com(该名称即时你前面生成证书时填写的名字与姓氏)证书导出来-再把导出来的证书导入  受信任的根颁发机构  就OK了。