https 流程及其配置方式

参考教程: Apache Tomcat 7 SSL/TLS Configuration HOW-TO

1.首先需要了解下看看https运行流程:

094959_jAdT_1408596.png

(1):客户端(浏览器)发送https请求到服务器

(2):服务器有私钥和公约

(3):服务器返回公钥给客户端

(4):客户端通过系统根证书机构验证公钥是否有效,验证公钥、时间、机构等信息

(5):客户端验证成功后生成一定长度的随机数(如2048位),然后使用公钥通过证书支持的算法与随机数加密然后发送给服务器

(6):服务器接受到加密数据口通过私钥解密然后取得随机数

(7):然后使用随机数通过证书支持的算法(如:RSA)把内容加密然后响应给客户端

(8):客户端使用随机数解密内容。


整个https数据交互中涉及到公钥,私钥

2.生成密钥对:

keytool -genkeypair -alias testdomain -keyalg RSA -keysize 2048 -validity 3650 -keystore e:\\testdomain.keystore

101211_9FTz_1408596.png

101716_mHQQ_1408596.png

其中名字和姓氏是自己的域名,其他的任意。

生成了以后就在e:\\盘能看到testdomain.keystore 文件了

3.配置tomcat https:

打开%TOMCAT_HOME%/conf/server.xml

<Connector
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           port="443" 
           maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="e:\\testdomain.keystore" keystorePass="123456"
           clientAuth="false" sslProtocol="TLS"/>

keystoreFile:是密钥对的路径,keystorePass:是配置密钥对时候的密钥口令。

然后保存启动tomcat。在浏览器中输入:https://test.domain.com  因为我在c:/windows/system32/drivers/etc/hosts中配置了 :127.0.0.1 test.domain.com  所以我访问它也就相当于访问本地服务器了。

打开浏览器的结果页面: (如果打不开该页面,或者打开后不正常 用netstat -ano |findstr "443" 这条命令查询443端口是否被占用,或者把端口改成其他的或默认8443.如果端口是非443则访问的时候需要单独输入端口号)

102633_UkG8_1408596.png

因为还未生成证书,所以浏览器(操作系统)不信任当前https链接则出现当前页面。

如果已有证书 (跳过4,5步骤)导入证书到keystore中

keytool -import -alias tomcat -keystore <your_keystore_filename>    -file <your_certificate_filename>

4.接下来生成证书:

keytool -exportcert -alias testdomain -keystore e:\\testdomain.keystore -file e:\\testdomain.cer

-exportcert命令详解

103628_wx26_1408596.png

103656_ga3m_1408596.png

导出证书后,就能在e盘看到testdomain.cer文件了。

5.安装证书让操作系统信任该证书

双击打开证书:

点击安装证书

103836_BJTh_1408596.png


选择当前或本地计算机,然后下一步

103916_v0B8_1408596.png

选择第二个:将所有的证书都放入下列存储,然后点击浏览。

104019_B70t_1408596.png


104117_uqOW_1408596.png

104133_51PI_1408596.png

然后下一步与完成

104202_TDJ9_1408596.png

这儿选择是

104222_jBop_1408596.png

104243_24Cv_1408596.png


6.然后关闭浏览器重新打开

104529_xMHd_1408596.png

现在就能看到https已经受信任了。


7.配置默认使用https:

在%TOMCAT_HOME%/conf/web.xml  webapp标签里面 最后添加以下代码

<login-config>
        <!-- Authorization setting for SSL -->
        <auth-method>CLIENT-CERT</auth-method>
        <realm-name>Client Cert Users-only Area</realm-name>
    </login-config>
    <security-constraint>
        <!-- Authorization setting for SSL -->
        <web-resource-collection>
            <web-resource-name >SSL</web-resource-name>
            <url-pattern>/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>









转载于:https://my.oschina.net/scjelly/blog/654963

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值