Tomcat服务器配置https认证(使用keytool生成证书)

目录
  • 一、证书生成
  • 二、证书使用

一、证书生成

1 、生成服务器证书

(1)打开打开命令控制台,进入jdk的bin目录

(2)keytool为Tomcat生成证书(“-validity 36500”证书有效期,36500表示100年,默认值是90天)

keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore -validity 36500

注意:名字与姓氏,unknown:填的东西可能和tomcat启动时访问的域名有关系,

2 、生成客户端证书

keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.p12

3 、 让服务器信任客户端证书

(1)由于不能直接将PKCS12格式的证书库导入,必须先把客户端证书导出为一个单独的CER文件,使用如下命令:

keytool -export -alias mykey -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.p12 -storetype PKCS12 -storepass 111111 -rfc -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.cer

(2)将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:

keytool -import -v -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\mykey.cer –keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore

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

keytool -list -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore 

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

把服务器证书导出为一个单独的CER文件提供给客户端,使用如下命令:

keytool -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.keystore -export -alias tomcat -file C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat.cer

5 、 经过上面操作,生成如下证书:

其中 tomcat.cer 提供给客户端,tomcat.keystore供服务器使用

二、证书使用

1 、 服务器tomcat的配置

(1)打开Tomcat根目录下的/conf/server.xml,找到Connector port="8443"配置段,修改为如下:

注释掉

(2)测试服务端,IE浏览器输入访问地址

但由于是自签名的证书,所以浏览器会警告我们不安全,选择继续:

可以看到能成功访问了(地址栏“证书错误”,此时数据已经是使用HTTPS传输了)

2 、 导入服务器公钥证书(tomcat.cer)

由于是自签名的证书,为避免每次都提示不安全。这里双击tomcat.cer安装服务器证书。

注意:将证书填入到“受信任的根证书颁发机构”

再次重新访问服务器,会发现没有不安全的提示了,同时浏览器地址栏上也有个“锁”图标。

至此,就完成了配置。

:由于jdk自带的keytool生成的签名属于弱签名算法(SHA-1),但是,SHA-1已经过时因而不再推荐使用。新证书使用了更强的签名算法(比如SHA-256)。SHA-1的证书将从2017开始不再被主流浏览器厂商视为安全的。

最后: 通过cmd,将签名文件从**【***.keystore】文件转换成【***.p12】的文件,再转换成【*.jks】:

先将路劲切换至jre下的bin文件夹下,再通过命令查询,命令如下:

keytool -importkeystore -srckeystore 【绝对路径+*.keystore】 -srcstoretype JKS -deststoretype PKCS12 -destkeystore 【*.p12】

keytool -v -importkeystore -srckeystore 【绝对路径+*.p12】 -srcstoretype PKCS12 -destkeystore 【绝对路径+*.jks】 -deststoretype JKS

p12 证书提取pem证书和私钥

openssl pkcs12 -in server.p12 -clcerts -nokeys -password pass:111111 -out server.crt
openssl pkcs12 -in server.p12  -nocerts -password pass:111111 -passout pass:111111 -out server.key
penssl pkcs12 -in server.p12 -nocerts -password pass:111111 -passout pass:111111 -out server.key

到此这篇关于Tomcat服务器配置https认证(使用keytool生成证书)的文章就介绍到这了,更多相关Tomcat配置https认证内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 关于Keytool配置 Tomcat的HTTPS双向认证的问题

    目录 证书生成 keytool 简介 keytool 命令详解 创建证书 创建证书栗子 导出证书信息 导出自签名证书 导出证书栗子 获取认证证书(生成证书签名请求) 生成证书签名请求栗子 导入证书库 导入证书栗子 查看证书 查看栗子证书 Tomcat服务认证配置 SSL双向证书认证配置 配置Tomcat服务 HTTP自动跳转到 HTTPS(按需选配) 测试 常见问题 证书生成 keytool 简介 Keytool是一个Java数据证书的管理工具, Keytool将密钥(key)和证书(certi

  • 详解用Tomcat服务器配置https双向认证过程实战

    工具:keytool (Windows下路径:%JAVA_HOME%/bin/keytool.exe) 环境:Windows8.1企业版.Tomcat-7.0.27.JDK1.6.IE11.Chrome 一.为服务器生成证书 C:\Windows\system32>keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\tomcat.keystore -validity 36500 输入keystore密码: 再次输入新密码: 您的名字

  • Tomcat服务器配置https认证(使用keytool生成证书)

    目录 一.证书生成 二.证书使用 一.证书生成 1 .生成服务器证书 (1)打开打开命令控制台,进入jdk的bin目录 (2)keytool为Tomcat生成证书(“-validity 36500”证书有效期,36500表示100年,默认值是90天) keytool -genkey -v -alias tomcat -keyalg RSA -keystore C:\MyFile\work_tools\apache-tomcat-8.5.55\apache-tomcat-8.5.55\tomcat

  • Tomcat配置https SSL证书的项目实践

    目录 一.使用java jdk将PFX格式证书转换为JKS格式证书 二.配置server.xml 三.配置web.xml 公司网站链接要由原来的http超文本传输协议访问改为https SSl加密传输协议访问. HTTP与HTTPS的区别:HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS.

  • 详解如何给Tomcat配置Https/ssl证书

    如果需要给Tomcat开启Https,首先我们需要一个证书,下面演示如何创建. 创建证书 keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "localhost-rsa.jks" 后面的信息随便输入,我这里输入的是: Enter keystore password: Re-enter new password: What is your first and last name?

  • 详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化

    1.介绍 在SpringBoot的Web项目中,默认采用的是内置Tomcat,当然也可以配置支持内置的jetty,内置有什么好处呢? 1. 方便微服务部署. 2. 方便项目启动,不需要下载Tomcat或者Jetty 在目前的公司已经把内置的Jetty部署到了线上项目中,目前来说并无太大问题,内置就算有一些性能损失,但是通过部署多台机器, 其实也能够很轻松的解决这样的问题,内置容器之后其实是方便部署和迁移的. 1.1 优化策略 针对目前的容器优化,目前来说没有太多地方,需要考虑如下几个点 线程数

  • Tomcat使用https配置实战教程

    目录 一.tomcat证书配置 二.tomcat支持https配置 三.tomcat强制使用https 今天继续给大家介绍Linux运维相关知识,本文主要内容是Tomcat使用https配置实战. 一.tomcat证书配置 首先,要实现https,就必须先具有tomcat证书.我们在安装tomcat的时候,肯定都先安装了JAVA,而JAVA中有自带的证书生成工具keytool,今天,我们就使用keytool来生成tomcat的证书.执行命令: keytool -genkeypair -alias

  • Tomcat支持https访问的步骤讲解

    如何让tomcat支持https访问呢 步骤: (1)生成keystore文件 命令:keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 365 -keystore tomcat22.keystore 生成的文件 就是:tomcat22.keystore (2)把keystore 文件放在conf目录下 (3)修改server.xml文件 添加: <Connector port="80" protoc

  • Tomcat配置HTTPS访问的实现步骤

    目录 1.tomcat单向认证 2.tomcat双向认证 在tomcat中存在两种证书验证情况 (1)单向验证 (2)双向验证 1.tomcat单向认证 服务器端会提供一个公开的公钥,每一个访问此服务器的客户端都可以获得这个公钥,此公钥被加密后,服务器端可以进行解密处理,之后验证是否配对 配置 在此次配置中用的是openssl自制证书,证书可以从专业机构进行购买,本文因为学习采用自制证书 1.进入tomcat目录,编辑server.xml找到端口号为433的配置段,433是访问HTTPS的端口号

  • 详解阿里云LINUX服务器配置HTTPS(NGINX)

    背景说明 服务器为阿里云 ECS,操作系统为 CentOS 6.5. 部署配置说明 第一步,安装nginx 之所以要先安装 nginx,是因为下面配置域名解析的时候可以直接在浏览器看到效果,当然了,先配置域名,然后 ping 一下也是可以的 下载Nginx源码包,解压源码包,进入解压后的目录,编译配置,命令如下: ./configure --prefix=/usr/local/nginx --with-http_ssl_module 以上命令将nginx安装到usr/local/nginx目录下

随机推荐