用keytool制做证书并在tomcat配置https服务(一)

用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看下

而后点击【证书信息】

 

能够看到这个证书就是配在服务端的证书,这样就对了。至于证书风险,是由于证书不在浏览器的“受信任的根证书颁发机构”形成的,安装后就不显示了。

相关文章
相关标签/搜索