HTTPS配置中分为单向连接和双向连接,单向连接只需要服务器安装证书,客户端不需要,双向连接需要服务器和客户端都安装证书;

一、Keytool命令:

1、生成密钥对:

keytool -genkey -alias tomcat -keyalg RSA -keystore d:\.keystore

别名为tomcat,密钥算法名称为RSA,这个命令会在d:\目录下生成一个.keystore的文件;

2、查看命令:

keytool -list -keystore d:\.keystore

输入密码后就可以查看证书中的信息;

3、Keytool帮助信息:

Keytool –help

Keytool –genkey -help

二、配置文件:

1、把.keystore文件拷贝到tomcat的conf目录下;

2、修改server.xml配置文件,增加下面的连接:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/.keystore" keystorePass="12345678"/>

3、启动tomcat,然后在浏览器中打开:https://localhost:8443,如果浏览器提示证书不受信任,点继续浏览即可。单向连接配置完成。

三、双向连接配置:

1、创建服务器密钥:

keytool -genkey -v -alias tomcat -keyalg RSA -storetype JKS -validity 3650  -keystore server.keystore -dname "CN=localhost,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,c=Unknown" -storepass 12345678 -keypass 12341234

密钥库类型为JKS,生成的文件为server.keystore,同时创建第一个条目,别名为tomcat;

2、创建客户端密钥:

keytool
-genkey -v -alias client1 -keyalg RSA -storetype PKCS12   -validity 3650  -keystore client.p12 -dname
"CN=client1,OU=Unknown,O=Unknown,L=Unknown,ST=Unknown,c=Unknown"
-storepass 12345678

密钥库类型为PKCS12,生成的文件名称为client.p12,同时创建第一个条目,别名为client1,有效期为3650天;

3、将客户端导出为cer证书:

keytool
-export -alias client1 -keystore client.p12 -storetype PKCS12 -storepass
12345678 -rfc -file client1.cer

将客户端的KeyStore文件中的条目client1导出为证书文件client.cer;

4、将客户端的证书cer文件导入到服务器的密钥库中:

keytool
-import -v -alias sclient1 -file client1.cer -keystore server.keystore
-storepass 12345678

将客户端证书文件client1.cer导入到服务器密钥文件server.keystore中,并且导入后的别名为sclient1;

此时可以使用keytool –list查看服务器证书文件server.keystore,发现里面已经有两个条目了;

5、配置服务器的xml文件:

首先将server.keystore文件拷贝到tomcat的conf目录下,然后修改server.xml文件,添加如下配置:

<Connector
port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https"
secure="true" clientAuth="true" sslProtocol="TLS"
keystoreFile="conf/server.keystore" keystorePass="12345678"
keyAlias="tomcat" keyPass="12341234"
truststoreFile="conf/server.keystore" truststorePass="12345678"/>

6、浏览器导入证书:

比如IE中导入证书文件:

工具-->Internet选项-->内容-->证书-->个人-->导入-->下一步-->浏览中找到client.p12即可;

tomcat中配置https的更多相关文章

  1. tomcat中配置https请求

    一.  创建tomcat证书 这里使用JDK自带的keytool工具来生成证书: 1. 在jdk的安装目录\bin\keytool.exe下打开keytool.exe 2. 在命令行中输入以下命令: ...

  2. 在 Tomcat 中配置 SSL/TLS 以支持 HTTPS

    本件详细介绍了如何通过几个简单步骤在 Tomcat 中配置 SSL/TLS .使用 JDK 生成自签名的证书,最终实现在应用中支持 HTTPS 协议. 生产密钥和证书 Tomcat 目前只能操作 JK ...

  3. [转载]JavaEE学习篇之——网络传输数据中的密码学知识以及Tomcat中配置数字证书EE

    原文链接:http://blog.csdn.net/jiangwei0910410003/article/details/21716557 今天是学习JavaWeb的第二天,我们来了解什么呢?就了解一 ...

  4. RSA原理、ssl认证、Tomcat中配置数字证书以及网络传输数据中的密码学知识

      情形一:接口的加.解密与加.验签 rsa不是只有加密解密,除此外还有加签和验签.之前一直误以为加密就是加签,解密就是验签.这是错误的! 正确的理解是: 数据传输的机密性:公钥加密私钥解密是密送,保 ...

  5. 【CAS单点登录视频教程】 第04集 -- tomcat下配置https环境

    目录 ----------------------------------------- [CAS单点登录视频教程] 第06集[完] -- Cas认证 学习 票据认证FormsAuthenticati ...

  6. JavaWeb学习篇之----Tomcat中配置数字证书以及网络传输数据中的密码学知识

    今天是学习JavaWeb的第二天,我们来了解什么呢?就了解一下Tomcat中配置数字证书的相关内容,但是在说这部分内容的时候,我们貌似得先说一下数字证书的相关概念,那说到数字证书的时候我们还得了解一些 ...

  7. 在 IIS 6 和 IIS 7中配置Https,设置WCF同时支持HTTP和HTPPS,以及使用HttpWebRequest和HttpClient调用HttpS

    IIS 7 ,给IIS添加CA证书以支持https IIS 6 架设证书服务器 及 让IIS启用HTTPS服务 WCF IIS 7中配置HTTPS C#利用HttpWebRequest进行post请求 ...

  8. 在tomcat中配置jdk的不同版本

    在tomcat中配置jdk的不同版本---------------------------------------------------------------------------------- ...

  9. JNDI和在tomcat中配置DBCP连接池 元数据的使用 DBUtils框架的使用 多表操作

    1 JNDI和在tomcat中配置DBCP连接池 JNDI(Java Naming and Directory Interface),Java命名和目录接口,它对应于J2SE中的javax.namin ...

随机推荐

  1. win8 下面 listen 的队列长度貌似无效了 上c/s 代码 并附截图,有图有真相

    #include <WinSock2.h> #include <stdio.h> #include <windows.h> DWORD ServerRoutine( ...

  2. <Redis Advance><Pipelining><Memory Optimization><Expire><Transactions>

    Overview About Redis pipelining About Redis memory optimization About Redis expire About Redis trans ...

  3. 框架:Spring IoC

    Spring篇 第二章.Spring IoC简介 一.基本概念 控制反转是一个比较抽象的概念,是Spring框架的核心,用来消减计算机程序的耦合问题. 依赖注入是IoC的另外一种说法,只是从不同的角度 ...

  4. Beta阶段冲刺---Day4

    一.Daily Scrum Meeting照片 二.今天冲刺情况反馈 昨天已完成的工作: (1)闯关模式排行榜代码编写: (2)闯关模式结束时的代码编写: (3)闯关模式开始时的代码编写. 今天计划完 ...

  5. HDU 6092 17多校5 Rikka with Subset(dp+思维)

    Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he ...

  6. 三层交换机实现VLAN间通信

    实验要求:使用三层交换机,让同一vlan的主机能通信,不同vlan的主机也能通信 拓扑如下: 涉及内容: 1.VTP的创建和配置 2.vlan的创建和划分 3.三层交换机的配置 4.端口的trunk模 ...

  7. 2018最新APP Android UI设计规范

    设计稿尺寸:从目前市场主流设备尺寸来看,我们要用 1080 x 1920 PX  来做安卓设计稿尺寸. 以1080x1920px作为设计稿标准尺寸的原由: 从中间尺寸向上和向下适配的时候界面调整的幅度 ...

  8. 【转】C++类内存分布

    C++类内存分布  https://www.cnblogs.com/jerry19880126/p/3616999.html 书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看 ...

  9. 2.11 alert\confirm\prompt

    2.11 alert\confirm\prompt 前言   不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用 ...

  10. lintcode 刷题 by python 部分链表题总结(2)

    本篇博客对最近做的链表的算法题做个简单的小结,主要描述题目和提供解题思路,具体代码见我的 github:https://github.com/MUSK1881/lintcode-by-python 3 ...