1. 创建服务器密钥,其密钥库为 /home/gr/server.ks
PS1: 注意keypass和storepass保持一致,它们分别代表 密钥密码和密钥库密码,
PS2: 注意 CN=localhost 中,localhost表示要配置SSL的主机名,不能任意指定
~$keytool -genkey -v -alias serverKey -dname "CN=192.168.10.101" -keyalg RSA -keypass 123456 -keystore server.ks -storepass 123456
2. 创建客户端密钥,其密钥库为 /home/gr/client.p12,注意这个密钥库的后缀名,注意密钥库类型PKCS12
~$keytool -genkey -v -alias clientKey -dname "CN=SomeOne" -keyalg RSA -keypass 654321 -keystore client.p12 -storepass 654321 -storetype PKCS12
3. 将客户端密钥导出为证书文件(在下一步要用到这里生成的文件)
~$keytool -export -alias clientKey -file client.cer -keystore client.p12 -storepass 654321 -storetype PKCS12
4. 将上述客户端密钥文件导入服务器证书库,并设置为信任证书
PS: 注意会问你是否信任该证书,回答 y 即可
~$keytool -import -v -alias client -file client.cer -keystore server.ks -storepass 123456
5. 为了在浏览器中进行SSL访问,请在浏览器中导入 客户端密钥库文件client.p12
5.1 linux平台
chrome : 设置--高级--HTTPS/SSL--管理证书--您的证书,导入 client.p12
firefox: 首选项--高级--证书--查看证书--您的证书,导入 client.p12
5.2 windows平台
IE: Internet选项--内容--证书--个人,导入 client.p12
chrome: 选项--高级--证书--查看证书--您的证书,导入 client.p12
firefox: 设置--高级--HTTPS/SSL--管理证书--个人,导入 client.p12
6. 配置TOMCAT服务器,以支持SSL认证,编辑文件:%tomcat_home%/conf/server.xml
6.1 下面这段配置代码本来是被屏蔽的,现在请取消其屏蔽,并相应增加密钥库的配置,其中clientAuth="true" 用以启动双向认证,否则,只有客户端认证服务器-单向
6.2 修改后的内容是
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS"
keystoreFile="/home/gr/server.ks" keystorePass="123456"
truststoreFile="/home/gr/server.ks" truststorePass=" 123456" />
6.3 属性说明
clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证
keystoreFile:服务器证书文件路径
keystorePass:服务器证书密码
truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书
truststorePass:根证书密码
7. 启动 TOMCAT,然后在IE浏览器中访问:https://localhost:8443/项目名称
版权声明:本文为博主原创文章,未经博主允许不得转载。