目标: 用户使用浏览器访问服务器,能认证服务器真实可信。同时服务器能认证用户的身份可信。要达到可信,则必要服务器的密钥库中存在可信的用户证书。浏览器通过ca证书验证服务器的证书。
证书生成: 用openssl和java平台的keytool工具便可充当一个私人的ca中心,为服务器生成一个jks格式的密钥库,为客户端浏览器生成浏览器的证书。然后将浏览器证书导入服务器的密钥库作为可信任的库。当然,服务器有自己的密钥和自己的证书在密钥库里面。
tomcat配置:配置8443端口的connector字段如下:
<Connector port="8443" SSLEnabled="true"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" scheme="https" secure="true"
clientAuth="true" sslProtocol="TLS"
keystoreFile="C:\\Documents and Settings\\Administrator\\bks-test\\sos1.keystore"
keystorePass="123123"
truststoreFile="C:\\Documents and Settings\\Administrator\\bks-test\\sos1.keystore"
truststorePass="123123"
/>
keystoreFile,truststoreFile指向的是生成的密钥库。clientAuth表示是否双向认证。配置完成后重启tomcat。 关于tomcat的配置及启动关闭见http://blog.csdn.net/cxb23/article/details/8137845浏览器配置: 将客户端证书及密钥合并生成一个pkcs12密钥库,打开浏览器的ie设置里面的ssl证书管理配置里面,自己找一下能找到,导进去个人证书那里,成功导入会显示导入的证书的。