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. matlab中diff的用法

    若是diff(),括号里的元素为向量,那么前一个减后一个即为diff后的结果: 若diff(),括号里的元素为矩阵,那么下一行减上一行即为diff 后的结果:

  2. powerdesigner 实体关系模型CDM与物理数据模型PDM互转

    1.创建CDM 2.CDM转换PDM 3.PDM转CDM 环境 powerdesigner15.1 1.创建CDM File --> new Model-->Conceptual data ...

  3. oracle截取字段中的部分字符串

    使用Oracle中Instr()和substr()函数: 在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: instr(sourceString,de ...

  4. Ajax的返回状态码(status)

    XMLHttpRequest.status: 1xx-信息提示 这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx响应. 100-继续. 101-切换协议. 2xx-成功 ...

  5. 手机号的 DES-ECB 加密/解密

    前言:公司的手机号加密更换了加密方法,这次改成 DES-ECB 加密了 代码操作 # -*- coding:utf-8 -*- import base64 import json from Crypt ...

  6. Python 的基本运算及分析

    1题   输出1 2 3 4 5 6  8 9 10 . 方法一: count = 0while count < 10 : count += 1 if count == 7 : continue ...

  7. Nginx web服务器

    文件读取会使用到以下几个配置 1. sendfile 使用nginx作为静态资源服务时,通过配置sendfile可以有效提高文件读取效率,设置为on表示启动高效传输文件的模式.sendfile可以让N ...

  8. python如何进行内存管理的

    python引用了一个内存池(memory pool)机制,即pymalloc机制(malloc:n,分配内存),用于管理对小块的申请和释放.

  9. python中字符串的操作方法

    python中字符串的操作方法大全 更新时间:2018年06月03日 10:08:51 作者:骏马金龙 我要评论这篇文章主要给大家介绍了关于python中字符串操作方法的相关资料,文中通过示例代码详细 ...

  10. 2018年3月最新的Ubuntu 16.04.4漏洞提权代码

    2018年3月最新的Ubuntu 16.04.4漏洞提权代码,本代码取自Vitaly Nikolenko的推子 亲测阿里云提权可用. /* * Ubuntu 16.04.4 kernel priv e ...