近期公司列出一大堆的东西,其中包括https,啥也不想说,你们是无法理解的苦逼的我的

本文不是双向认证, 双向认证需要让客户端信任自己生成的证书,有点类似登录银行网站的情,如果想知道双向认证的同志可以点击这里

关于https这些通道可以去百度Google其原理,不废话,自动生成秘钥,需要使用jdk自带的命令keytool。关于keytool的使用请查看:这里或者这里,我这里简单的贴一下使用方式

(1)java工具keytool

常用命令:

(注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost)

keytool -genkey -alias "tomcat" -keyalg "RSA" -keystore "d:\mykeystore"  -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN" -keypass "changeit" -storepass -validity 180

参数说明:

-genkey表示要创建一个新的密钥

-dname表示密钥的Distinguished Names,

CN=commonName

OU=organizationUnit

O=organizationName

L=localityName

S=stateName

C=country

Distinguished Names表明了密钥的发行者身份

-keyalg使用加密的算法,这里是RSA

-alias密钥的别名

-keypass私有密钥的密码,这里设置为changeit

-keystore 密钥保存在D:盘目录下的mykeystore文件中

-storepass 存取密码,这里设置为changeit,这个密码提供系统从mykeystore文件中将信息取出

-validity该密钥的有效期为 180天 (默认为90天)

删除

keytool -delete -alias catest -keystore d:\mykeystore

查看

keytool -list -keystore d:\mykeystore

创建证书

1.服务器中生成证书(注:生成证书时,CN要和服务器的域名相同,如果在本地测试,则使用localhost)

keytool -genkey -alias "tomcat" -keyalg "RSA" -keystore "d:\mykeystore " -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN"-keypass "changeit" -storepass "changeit"

2.导出证书,由客户端安装:

keytool -export -alias tomcat -keystore d:\mykeystore -file d:\mycerts.cer -storepass "changeit"

3.客户端配置:为客户端的JVM导入密钥(将服务器下发的证书导入到JVM中)

keytool -import -trustcacerts -alias tomcat -keystore "%JAVA_HOME%/jre/lib/security/cacerts " -file d:\mycerts.cer(这里是证书生成的路径,不是秘钥,而且后续配置的是秘钥而不是这个证书,不要搞混了) -storepass "changeit"

之后可以看到生成了 catest.cer 文件,之后导入用,keytool的操作就完成了.

配置tomcat

如果是在eclipse上面,那么找到eclipse的service(如果不是,找到tomcat下面的server.xml文件),找到server.xml并打开:
配置如下:

<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" disableUploadTimeout="true" enableLookups="false"
keystoreFile="d:\catest.key(这里是第一步生成的秘钥位置)" keystorePass="zuecun(这里是秘钥的密码)" maxThreads="25" port="8443"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS"/>

如果还有其他的8443端口直接注释掉

接着找到web.xml(与server.xml在同一个目录下)并打开:

在<welcome-file-list>后面配置:

    <security-constraint>
<web-resource-collection>
<web-resource-name>securedapp</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee><!-- 如果你希望关闭 SSL ,只需要将 CONFIDENTIAL 改为 NONE 即可。 -->
</user-data-constraint>
</security-constraint>

然后启动服务器,直接访问会自动跳转到你配置好的https端口为8443,注意的是,你这里的证书自己创建出来的没有申请,所以会出现不安全的连接,当然这是本地测试嘛,

最后一句就是欢迎各路大神丢砖或提意见,谢谢~~~

eclipse下的tomcat配置https(最简单得配置https)的更多相关文章

  1. 【转】Eclipse下启动tomcat报错:/bin/bootstrap.jar which is referenced by the classpath, does not exist.

    转载地址:http://blog.csdn.net/jnqqls/article/details/8946964 1.错误: 在Eclipse下启动tomcat的时候,报错为:Eclipse下启动to ...

  2. eclipse下的Tomcat安装与web项目 搭建

    Tomcat 安装 环境: win10-64位  apache-tomcat-7.0.57-windows-x64 首先要配置Windows 的环境变量 JAVA_HOME(就是Java的环境变量) ...

  3. Tomcat免安装版的环境变量配置以及Eclipse下的Tomcat配置和测试

    Tomcat是目前比较流行的开源且免费的Web应用服务器,在我的电脑上第一次安装Tomcat,再经过网上教程和自己的摸索后,将这个过程 重新记录下来,以便以后如果忘记了可以随时查看. 注意:首先要明确 ...

  4. eclipse下使用tomcat启动maven项目

    最近学习使用maven,建立了一个maven项目使用eclipse下tomcat启动时报错: 严重: ContainerBase.addChild: start: org.apache.catalin ...

  5. eclipse下启动tomcat出现Setting property 'source' to 'org.eclipse.jst.jee.server: '错误的解决办法

    在eclipse中启动tomcat时出现Setting property 'source' to 'org.eclipse.jst.jee.server:你的站点名'   did not find a ...

  6. linux下JDK,tomcat的安装与环境变量配置

    先从网上下载jdk(jdk-1_5_0_02-linux-i586.rpm) ,下载后放在/home目录中,当然其它地方也行. 进入安装目录#cd /home#cp jdk-1_5_0_02-linu ...

  7. mac下的git的安装与简单的配置

    git 本地操作 git 简单介绍 .Git是分布式的SCM,SVN是集中式的 2.Git每一个历史版本号存储完整的文件,SVN存储文件差异 3.Git可离线完毕大部分操作,SVN则相反 4.Git有 ...

  8. eclipse下设置tomcat,修改Java代码不必重启tomcat

    1.本文目的:用tomcat进行web开发时,修改Java代码往往要重启代码,当工程较大启动较慢时,严重影响效率,本文通过eclipse下tomcat开发和发布web程序时,对一些Java代码一般修改 ...

  9. eclipse下的tomcat内存设置大小

    在eclipse中设置,居然可以了, 设置步骤如下: 1.点击eclipse上的debug图标旁边的下拉箭头 2.然后选择Run Configurations, 3.系统弹出设置tomcat配置页面, ...

随机推荐

  1. uGUI使用代码动态添加Button.OnClick()事件(Unity3D开发之十二)

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/42705885 ...

  2. 使用Gradle发布Android开源项目到JCenter

    喜欢做些开源项目的朋友,相信有不少人都希望能把自己的项目发布到公共的中央仓库,如maven中央仓库,以供别人方便地集成使用.而使用了Android Studio的同学,应该也对gradle和jcent ...

  3. NDK 与 JNI 的关系

    简介 JNI是java语言提供的Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的C/C++的代码也可以调用java代码.JNI 是本地编程接口,Java和C/ ...

  4. 用jquery+Asp.Net实现省市二级联动

    页面html: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ddlAjax. ...

  5. 任务管理器中的PID找不到

    PID是Process ID的简称,这对WINDOWS开发人员来说是非常有用的信息,但对于普通用户来说则根本不必去理会.   举个例子来说: 在网站发布的时候,需要安装IIS,那么iis的tcp的80 ...

  6. iOS监听模式系列之iOS开发证书、秘钥

    补充--iOS开发证书.秘钥 iOS开发过程中如果需要进行真机调试.发布需要注册申请很多证书,对于初学者往往迷惑不解,再加上今天的文章中会牵扯到一些特殊配置,这里就简单的对iOS开发的常用证书和秘钥等 ...

  7. android bitmap的内存分配和优化

    首先Bitmap在Android虚拟机中的内存分配,在Google的网站上给出了下面的一段话 大致的意思也就是说,在Android3.0之前,Bitmap的内存分配分为两部分,一部分是分配在Dalvi ...

  8. OpenCV——PS 滤镜, 浮雕效果

    具体的算法原理可以参考: PS 滤镜, 浮雕效果 // define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITH ...

  9. redis持久化AOF与RDB配置

    AOF保存的数据方案时最完整的,如果同时开启了rdb和aof下,会采用aof方式. (1)设置数据保存到数据文件中的save规则 save 900 1     #900秒时间,至少有一条数据更新,则保 ...

  10. angular1.0 app

    angular 1.0 简单的说一下就是ng启动阶段是 config-->run-->compile/link config阶段是给了ng上下文一个针对constant与provider修 ...