tomcat7+jdk的keytool生成证书 配置https

2024-05-04 14:58

本文主要是介绍tomcat7+jdk的keytool生成证书 配置https,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载:http://www.cnblogs.com/sixiweb/p/3339698.html


只是简单的转载,文章未验证,有兴趣的自己可以验证下。

目前只会使用jdk的keytool来生成证书。本文仅介绍这种方法。

1Windows下:

1.1 生成keystore文件及导出证书

打开控制台:

运行:

%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA

按照要求一步步的输入信息,问你国家/地区代码的时候,输入cn。

输入密码的时候,这里使用:changeit

最后一步让你输入的时候,直接回车。

具体记录如下:

C:\Users\Administrator>%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA

输入密钥库口令:
再次输入新口令:
您的名字与姓氏是什么?
[Unknown]: tuhao
您的组织单位名称是什么?
[Unknown]: tuhaojia
您的组织名称是什么?
[Unknown]: fnic
您所在的城市或区域名称是什么?
[Unknown]: didu
您所在的省/市/自治区名称是什么?
[Unknown]: didu
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=tuhao, OU=tuhaojia, O=fnic, L=didu, ST=didu, C=cn是否正确?
[否]: y

输入 <tomcat> 的密钥口令
(如果和密钥库口令相同, 按回车):

  这里你要直接按回车。

完毕后会在当前目录下,会产生一个:.keystore文件,将它拷贝到tomcat的bin目录下。

从控制台进入tomcat的bin目录,本机环境是:D:\Tomcat7\bin>

导出证书文件:

D:\Tomcat7\bin>keytool -selfcert -alias tomcat -keystore .keystore
输入密钥库口令:(此处为上面生成证书时输入的changeit)

D:\Tomcat7\bin>keytool -export -alias tomcat -keystore .keystore -storepass changeit -rfc -file tomcat.cer

存储在文件 <tomcat.cer> 中的证书

此时会在D:\Tomcat7\bin>下生成tomcat.cer证书文件。将该文件发给使用者,让他们安装该证书,并将证书安装在“受信任的根证书颁发机构”区域中。具体的操作步骤可以参照铁道部12306.cn网站证书的安装步骤。它们是一样一样一样的。

 

1.2 配置tomcat

打开$CATALINA_BASE/conf/server.xml 找到“SSL HTTP/1.1 Connector” 那一块,取消注释并将它改成:

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"
keystoreFile="bin/.keystore" keystorePass="changeit" 
clientAuth="false" sslProtocol="TLS" />

 

请注意,这里我已经将tomcat的端口改成了80,相应的,https的端口我也改成了443(即默认的https端口)。

修改windows机器的host文件,增加一行(我的机器的ip是192.168.68.75):

192.168.68.75 tuhao

 接下来重启tomcat,用https://tuhao/访问网站验证一下就行了。

 

 

 

接下来将演示linux下配置tomcat的https。

 

2.linux下设置:

2.1生成keystore文件及导出证书

这一步和在windows下操作差不多,只是环境变量的引用方式不一样,并且,这次我们指定生成的文件存储的目录:

 

[root@localhost ~]# $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/bin/.keystore
输入keystore密码: 
再次输入新密码: 
您的名字与姓氏是什么?
[Unknown]: tuhao.com
您的组织单位名称是什么?
[Unknown]: tuhaojia
您的组织名称是什么?
[Unknown]: fnic
您所在的城市或区域名称是什么?
[Unknown]: didu
您所在的州或省份名称是什么?
[Unknown]: didu
该单位的两字母国家代码是什么
[Unknown]: cn
CN=tuhao.com, OU=tuhaojia, O=fnic, L=didu, ST=didu, C=cn 正确吗?
[否]: y

输入<tomcat>的主密码
(如果和 keystore 密码相同,按回车):

在这里直接敲回车


[root@localhost ~]# cd /usr/local/tomcat/bin/
[root@localhost bin]# keytool -selfcert -alias tomcat -keystore .keystore
输入keystore密码: 
[root@localhost bin]# keytool -export -alias tomcat -keystore .keystore -storepass changeit -rfc -file tomcat.cer
保存在文件中的认证 <tomcat.cer>

 

将 /usr/local/tomcat/bin/tomcat.cer拷贝到本地。

2.2 配置tomcat:

这一步和windows一样,我就直接把windows的那部分拷贝过来了:

打开$CATALINA_BASE/conf/server.xml 找到“SSL HTTP/1.1 Connector” 那一块,取消注释并将它改成:

<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"
keystoreFile="bin/.keystore" keystorePass="changeit" 
clientAuth="false" sslProtocol="TLS" />

 

请注意,这里我已经将tomcat的端口改成了80,相应的,https的端口我也改成了443(即默认的https端口)。

接下来是要设置防火墙,我试过增加tcp的443端口,允许访问,但是外面依然无法访问这台服务器的https,干脆我将iptables服务停止掉,这样就可以了。

验证是否配置成功:

重启tomcat,修改windows机器的host文件,增加一行(linux机器的ip是192.168.68.74):

192.168.68.74 tuhao.com

然后安装tomcat.cer,注意,一定要安装在“受信任的根证书颁发机构”这个区域里。

通过浏览器访问:https://tuhao.com/ 就可以看到https被认为是可信的了。

 

总结:

生成证书的时候,“您的名字与姓氏是什么”  一定要注意输入你的ip、机器名、域名,总之,你希望以后通过https://xx来访问你的网站的话,此处就要填写xx。否则,会有证书不受信的提示。

这篇关于tomcat7+jdk的keytool生成证书 配置https的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/959467

相关文章

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur

qtcreater配置opencv遇到的坑及实践记录

《qtcreater配置opencv遇到的坑及实践记录》我配置opencv不管是按照网上的教程还是deepseek发现都有些问题,下面是我的配置方法以及实践成功的心得,感兴趣的朋友跟随小编一起看看吧... 目录电脑环境下载环境变量配置qmake加入外部库测试配置我配置opencv不管是按照网上的教程还是de

Logback在SpringBoot中的详细配置教程

《Logback在SpringBoot中的详细配置教程》SpringBoot默认会加载classpath下的logback-spring.xml(推荐)或logback.xml作为Logback的配置... 目录1. Logback 配置文件2. 基础配置示例3. 关键配置项说明Appender(日志输出器

使用JavaConfig配置Spring的流程步骤

《使用JavaConfig配置Spring的流程步骤》JavaConfig是Spring框架提供的一种基于Java的配置方式,它通过使用@Configuration注解标记的类来替代传统的XML配置文... 目录一、什么是 JavaConfig?1. 核心注解2. 与 XML 配置的对比二、JavaConf

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

NGINX 配置内网访问的实现步骤

《NGINX配置内网访问的实现步骤》本文主要介绍了NGINX配置内网访问的实现步骤,Nginx的geo模块限制域名访问权限,仅允许内网/办公室IP访问,具有一定的参考价值,感兴趣的可以了解一下... 目录需求1. geo 模块配置2. 访问控制判断3. 错误页面配置4. 一个完整的配置参考文档需求我们有一

Vue 2 项目中配置 Tailwind CSS 和 Font Awesome 的最佳实践举例

《Vue2项目中配置TailwindCSS和FontAwesome的最佳实践举例》:本文主要介绍Vue2项目中配置TailwindCSS和FontAwesome的最... 目录vue 2 项目中配置 Tailwind css 和 Font Awesome 的最佳实践一、Tailwind CSS 配置1. 安