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

用keytool制作证书并在tomcat配置https服务(二)

用keytool制作证书并在tomcat配置https服务(三)

用keytool制作证书并在tomcat配置https服务(四)

https分为单项认证和双向认证。

一般https页面上的访问都是单项认证,服务端发送数字证书给客户端,客户单方面验证。而服务端不做验证。

而双向认证,需要双方都有证书,然后发送给对方进行验证。一般用于企业应用对接。

单项认证

准备工作:

1.首先使用cmd进入到jdk的keytool工具目录下,我的路径D:\Program Files (x86)\jdk1.8.0_77\jre\bin,之后的keytool语句就在cmd执行。

2.在D盘创建个ssl文件夹。

开始:

1.服务端创建密钥对及密钥库。

keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 2048 -validity 365 -storetype JKS -keystore D:/ssl/keystore.jks -storepass 123456

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

回车之后会显示如图,这第一条信息【CN】一般写你要绑定的域名或IP地址【高版本的浏览器不能随便写,否则也提示不安全】,然后下边的信息可以根据自己情况写。

然后我们看一下密钥库里的信息

keytool -list -v -keystore D:/ssl/keystore.jks

回车输入密码后

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

我们的密钥对已经生成了。

然后我们去配置下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看下

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

然后点击【证书信息】

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

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

上一篇:Android(java)学习笔记199:Android中补间动画(Tween Animation)


下一篇:Oracle查询CLOB字段类型的内容