用keytool制做证书并在tomcat配置https服务(二)html
用keytool制做证书并在tomcat配置https服务(三)apache
用keytool制做证书并在tomcat配置https服务(四)浏览器
https分为单项认证和双向认证。tomcat
通常https页面上的访问都是单项认证,服务端发送数字证书给客户端,客户单方面验证。而服务端不作验证。安全
而双向认证,须要双方都有证书,而后发送给对方进行验证。通常用于企业应用对接。工具
单项认证spa
准备工做:code
1.首先使用cmd进入到jdk的keytool工具目录下,个人路径D:\Program Files (x86)\jdk1.8.0_77\jre\bin,以后的keytool语句就在cmd执行。server
2.在D盘建立个ssl文件夹。xml
开始:
1.服务端建立密钥对及密钥库。
keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 2048 -validity 365 -storetype JKS -keystore D:/ssl/keystore.jks -storepass 123456
回车以后会显示如图,这第一条信息【CN】通常写你要绑定的域名或IP地址【高版本的浏览器不能随便写,不然也提示不安全】,而后下边的信息能够根据本身状况写。
而后咱们看一下密钥库里的信息
keytool -list -v -keystore D:/ssl/keystore.jks
回车输入密码后
咱们的密钥对已经生成了。
而后咱们去配置下tomcat,我用的tomcat7,tomcat8可能会和本配置不一样,请自行查找配置方法。
找到tomcat的server.xml
添加以下配置:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="D:/ssl/keystore.jks" keystorePass="123456" truststoreFile="D:/ssl/keystore.jks" truststorePass="123456" clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2" />
注意:clientAuth="false",这个参数值若是为true为双向认证,false为单项认证,咱们用false。
启动tomcat访问下https://localhost:8443看下
而后点击【证书信息】
能够看到这个证书就是配在服务端的证书,这样就对了。至于证书风险,是由于证书不在浏览器的“受信任的根证书颁发机构”形成的,安装后就不显示了。