Tomcat配置https,JAVA生成ssl证书,http和https双向配置

这篇具有很好参考价值的文章主要介绍了Tomcat配置https,JAVA生成ssl证书,http和https双向配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、java生成ssl证书

首先要确认环境是否安装JDK;必须安装JDK才能生成SSL证书

1.1、服务器生成证书

服务器生成证书: 使用keytool为Tomcat生成证书,假定目标机器的域名是“127.0.0.1”,keystore文件存放在“D:omcat.keystore”,口令为“123456”,validity为证书有效时间当前为90天

 生成命令:keytool -genkey -v -alias tomcat -keyalg RSA -keyst D:omcat.keystore -validity 36500

        设置密码:123456(或者其它密码)

        您的姓名与姓氏是什么:127.0.0.1或localhost 代表本机URL路径(必须填写)

        其它的按回车

        直到出现CN=xxx,OU=xxx,O=xxx....是否正确

         【否】:y或n      y为确定信息,n为重新填写信息

          出现:<如果和密钥库口令相同,按回车>:直接按回车即可

          开始生成omcat.keystore证书,看D盘是否多了一个文件为omcat.keystore说明成功

1.2、客户端生成证书

 生成证书命令:keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore  D:ykekey.p12 (ykekey为自定义)

该操作与生成服务器证书一样,但是您的姓名与姓氏是什么:可以任意值,比如:sczs

一直按回车键,直到出现CN=xxx,OU=xxx,O=xxx....是否正确

                        【否】:y或n      y为确定信息,n为重新填写信息

开始生成:D:ykekey.p12证书, 查看D盘是否多了一个文件为ykekey.p12说明成功

双击ykekey.p12进行安装证书即可,一直点击下一步,直到安装完成,导入成功

1.3、服务器信任客户端证书

1.3.1、把客户端证书导出为一个单独的CER文件

命令:keytool -export -alias mykey -keystore D:ykekey.p12 -storetype PKCS12 -storepass 000000 -rfc -file D:ykekey.cer

   注意:D:ykekey.p12与D:ykekey.cer ,名字要一致ykekey

此时D盘多出一个ykekey.cer 说明成功

1.3.2、是将该文件导入到服务器的证书库,添加为一个信任证书

命令:keytool -import -v -file D:ykekey.cer -keystore D:omcat.keystore

java ssl,java,http,tomcat

 通过命令查看服务器的证书库,可以看到两个证书,一个是服务器证书,一个是受信任的客户端证书:

是否信任此证书:y

4、客户端信任服务器证书

命令:keytool -keystore D:omcat.keystore -export -alias tomcat -file D:tomcat.cer (tomcat为你设置服务器端的证书名;生成的服务器证书密码:123456,统一设置一个密码,也就是第一步设置的密码一致即可)。

此时D盘多出一个tomcat.cer文件说明成功

双击文件进行安装证书到服务器上,直到安装成功,导入成功!

完成此步算是生成SSL证书完成,接下可以可以进行配置tomcat文件使用HTTPS访问。

2、Tomcat配置https访问

单项配置https(方法1)

修改 Tomcat 的 server.xml 文件:

<!--以下为单项https配置,提示安全风险,但可以访问系统,提供证书JAVA-->    

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  
          maxThreads="150" scheme="https" secure="true"  
          clientAuth="false" sslProtocol="TLS"   
          keystoreFile="D:\omcat.keystore"  
          keystorePass="123456" /> 

双向配置HTTPS(方法2)

修改 Tomcat 的 server.xml 文件:

 <!--以下为双向项https配置,必须安装ssl证书才能访问系统,提供证书JAVA-->

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           SSLEnabled="true" maxThreads="150" scheme="https"
           secure="true" clientAuth="true" sslProtocol="TLS"
           keystoreFile="D:\omcat.keystore" keystorePass="123456"
           truststoreFile="D:\omcat.keystore" truststorePass="123456" />  

 通过https://127.0.0.1:8443测试

3、tomcat同环境下http和https双向配置

修改 Tomcat 的 server.xml 文件:(方法3)

<Connector port="8080" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443" />

<Connector SSLEnabled="true" port="8443" maxThreads="200"
        scheme="https" secure="true" clientAuth="false"
        sslProtocol="TLS" keystoreFile="D:\omcat.keystore" keystorePass="密码" />

HTTP 连接器的端口为 8080,HTTPS 连接器的端口为 8443

java ssl,java,http,tomcat

 

重启tomcat

通过访问 http://127.0.0.1:8080 和 https://127.0.0.1:8443 来测试。

注释:

clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证

keystoreFile:服务器证书文件路径

keystorePass:服务器证书密码

truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书(双向配置HTTPS使用到)

truststorePass:根证书密码(双向配置HTTPS使用到)文章来源地址https://www.toymoban.com/news/detail-790386.html

到了这里,关于Tomcat配置https,JAVA生成ssl证书,http和https双向配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Tomcat配置ssl证书(jks类型)实现HTTPS

    certificateKeystoreFile:证书地址,可使用绝对路径,也可以配置相对路径 certificateKeyAlias:生成证书时输入的别名(选填) certificateKeystorePassword:生成证书时输入的密钥,如果没有空着  

    2024年02月03日
    浏览(36)
  • Tomcat配置SSL协议遇到问题:生成密钥对和证书时出现错误

    关于tomcat配置SSL协议,生成密钥对以及证书出现问题,请问怎么解决? 介绍:密钥是所有远程认证需求中的重中之重。伴随着浏览器使用标准化和加密的验证,HTTPS已经成为网络上保护数据安全的最佳协议。在开发中,使用Tomcat作为Web服务器时,通常需要配置SSL证书以确保安全

    2024年02月06日
    浏览(38)
  • Nginx 域名SSL证书配置(网站 http 升级为 https) acme.sh 申请免费SSL永久证书(自动续期)

    小编这里用的是godaddy购买的域名 服务器是aws acme.sh GitHub地址  https://github.com/acmesh-official/acme.sh 配合nginx进行部署,后面会贴上nginx.conf 我这里是多个域名用同一个证书    首先你得在自己服务器上面进行部署nginx,如果不知道怎么操作的,可以参考我这一篇博客,执行到这一

    2024年01月24日
    浏览(39)
  • 阿里云申请免费SSL证书的两种验证方式及配置服务器Tomcat升级HTTPS协议

    通用教程,其他服务商的免费 SSL 证书也差不多是这个流程。(至少腾讯云的操作步骤和本文是一致,嘻嘻!) 首先在阿里云上创建并申请 SSL 证书,之后选择 DNS 验证的方式,一种是手动配置解析地址进行验证,另一种是在服务器上放置一个验证文件进行验证。 手动 DNS 验证

    2024年02月10日
    浏览(39)
  • 基于tomcat的https(ssl)双向认证

            某个供应商服务需要部署到海外,如果海外多个地区需要部署多个服务,最好能实现统一登录,这样可以减轻用户的使用负担(不用记录一堆密码)。由于安全问题(可能会泄露用户数据),海外服务不能直连公司sso服务端,因此需要其他的方案解决安全问题。最终

    2024年02月20日
    浏览(32)
  • 配置SSl证书后,https访问,页面获取的url却是http,导致页面资源无法加载

    有个朋友来问,为什么我配置完ssl证书之后,https可以正常访问,但是页面中的资源却无法正常加载。 打开浏览器调试页报错如图: 废话不多说直接处理问题: 方式一: 这页面head标签内 添加 meta标签配置, 内容如下: 或者直接修改页面资源地址 加上 https:// 如果使用requ

    2024年02月09日
    浏览(44)
  • Spring Boot | 使用mkcert本地生成SSL证书配置后端接口为HTTPS协议

    Tips:本篇博客是 Windows 版本的使用教程,cmd 中执行的命令前缀是下载的软件名称,需要改成自己下载软件的名称! 首先去 GitHub 仓库中下载软件,下载完成后将文件保存在英文路径下的文件夹,之后以管理员权限运行 cmd 窗口,跳转至软件路径下。 在 cmd 窗口中执行以下命令

    2024年02月12日
    浏览(32)
  • SpringBoot + Vue2项目打包部署到服务器后,使用Nginx配置SSL证书,配置访问HTTP协议转HTTPS协议

    配置nginx.conf文件,这个文件一般在/etc/nginx/...中,由于每个人的体质不一样,也有可能在别的路径里,自己找找... 证书存放位置,可自定义存放位置 两个文件 后端配置 把.pfx拷贝到resource下,然后配置一下yml

    2024年02月02日
    浏览(49)
  • Java get/post的https请求忽略ssl证书认证

    unable to find valid certification path to requested target 工具类 使用方法

    2024年02月11日
    浏览(39)
  • java忽略证书验证(兼容http,https)

    日常上传、下载文件时可能有不需要验证证书的场景,比如证书过期、不正确之类的也可以正常的上传下载文件。 Java中使用https协议时,是通过X.509证书进行校验的。 首先我们先了解下什么是X.509证书。 X.509是公钥基础设施(PKI:Public Key Infrastructure)的标准格式,其实就是一

    2024年02月02日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包