在tomcat中存在两种证书验证情况 (1)单向验证 (2)双向验证
服务器端会提供一个公开的公钥,每一个访问此服务器的客户端都可以获得这个公钥,此公钥被加密后,服务器端可以进行解密处理,之后验证是否配对
配置
在此次配置中用的是openssl自制证书,证书可以从专业机构进行购买,本文因为学习采用自制证书
1.进入tomcat目录,编辑server.xml
找到端口号为433的配置段,433是访问HTTPS的端口号添加如下内容
<Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" schema="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="srv/ftp/cas/server/server.p12" keystoreType="pkcs12" keystorePass="sheng123" />
内容 | 解释 |
---|---|
keystoreFile | 服务器证书文件所在位置 |
keystorePass | 服务器密码 |
2.此时启动tomcat也进行https地址的访问
发现带有https的端口无法访问tomcat
3.需要把CA的根证书导入浏览器
把Liunx服务器中的证书下载入本地,并且导入到浏览器
把根证书导入浏览器
在C:\Windows\System32\drivers\etc加入映射路径
此时访问https://cas.com即可,说明证书被成功验证
在安全要求较高的网上银行等网站的开发当中,采取双向验证,在单项验证的基础上
更注重了,服务器端对客户端的证书验证,比如在实际生活中,银行会给一个"K宝"里面被储存的是证书,两向验证操作成功,才可以成功传递请求等信息
1.更改server.xml文件(443端口)
<Connector port="443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="/srv/ftp/cas/server/server.p12" keystoreType="pkcs12" keystorePass="sheng123" truststoreFile="/usr/local/tomcat/ca-trust.p12 truststoreType="jks" truststorePass="sheng123"/>
注意:本格式只是采取易看原则, 为了避免出错,复制后需要删除TAB换行
clientAuth=“true” 必须为true,相当于启动客户端验证
2.访问cas.com
发现未导入客户端证书无法访问
3.在客户端浏览器添加证书
从LIUNX下载出已经申请好的客户端证书
导入客户端浏览器中
点击确认
4.访问成功