近日,随着铁路客服中心网上购票系统中逐步可以购买大部分车次的列车,12306网站的种种问题便暴露出来,估计现在信息中心及系统开发商正在紧锣密鼓关注系统运行状态,并绞尽脑汁查找一切可以优化的地方进行优化,来满足数量惊人的火车票订票需求。先撇开性能问题不谈,使用过12306的朋友可能都注意到了,在使用12306进行网上购票之前,需要下载一个根证书到本地,然后,按照相关文件的说明,将证书导入IE浏览器,才能正常执行购票等操作。这个证书其实跟SSL/TLS有密切关系。本文介绍下在ApusicAS下如何配置SSL,使AAS支持基于SSL的双向认证。
SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。为了在不安全的网络上安全保密的传输关键信息,Netscape公司开发了SSL协议,后来IETF(Internet Engineering Task Force)把它标准化了,并且取名为TLS,目前TLS的版本为1.0,TLS1.0的完整版本请参考rfc2246(www.ietf.org)。基于TLS协议的通信双方的应用数据是经过加密后传输的,应用数据的加密采用了对称密钥加密方式,通信双方通过TLS握手协议来获得对称密钥。为了不让攻击者偷听、篡改或者伪造消息,通信的双方需要互相认证,来确认对方确实是他所声称的主体。TLS握手协议通过互相发送证书来认证对方,一般来说只需要单向认证,即客户端能确认服务器便可。但是对于对安全性要求很高的应用往往需要双向认证,以获得更高的安全性。下面详细讲述建立自己的认证机构,并且利用它来颁发服务器证书和客户端个人证书,然后配置服务器来使用双向认证。关于SSL与TLS的更加详细的信息,请参考相关专业资料。
Apusic应用服务器完全支持SSL协议SSL3.0和TLS1.0协议。
在进行双向安全传输之前,首先,建立自己的认证授权机构CA,用户可以向可信的第三方认证机构(CA)申请证书,也可以自己做CA,由自己来颁发证书。(本文末尾将会介绍如何使用openSSL来生成CA证书的操作步骤)
其次,生成服务器端证书。服务器端证书用来向客户端证明服务器的身份,也就是说在SSL协议握手的时候,服务器发给客户端的证书。生成服务器证书使用JDK的密钥管理工具Keytool,本文采用的jdk是Oracle jdk1.5.0。
- 生成服务器私钥对及自签名证书,并且保存在密钥库mykeystore中。
- 生成服务器待签名证书。
- 请求CA签名服务器待签名证书,得到经CA签名的服务器证书。
- 把CA根证书导入密钥库mykeystore。
- 把经过CA签名的服务器证书导入密钥库mykeystore。
接下来,颁发并发布个人证书。个人证书用来向服务器证明个人的身份,也就是说在SSL协议握手的时候,客户端发给服务器端的证书。同时个人证书中包含个人信息如用户名等,如果需要,这个用户名将作为登录服务器的用户名。
- 建立工作目录。
- 生成客户端私钥。
- 生成客户端待签名证书。
- 请求CA签名客户端待签名证书,得到经CA签名的客户端证书。
- 生成客户端的个人证书client.p12。
- CA根证书导入客户端。
在这里CA的根证书用来在SSL握手时验证服务器发给客户端浏览器的证书。如果没有此证书,浏览器将无法自动验证服务器证书,因此浏览器将弹出确认信息,让用户来确认是否信任服务器证书。在客户端的IE中使用"工具-> Internet选项-> 内容-> 证书-> 导入"把我们生成的CA根证书ca\ca-cert.cer导入,使其成为用户信任的CA。
客户端个人证书导入客户端: 在客户端的IE中使用"工具-> Internet选项-> 内容-> 证书-> 导入"把我们生成的CA根证书client.p12导入,使其成为用户信任的CA。
然后,配置服务器允许双向认证。
为了保证AAS的通用性,Apusic应用服务器出厂默认配置下不支持双向认证,要支持SSL双向认证,需要对配置作如下修改:
修改Muxer服务:如果采用密钥库文件的方式,示例配置如下:
如果采用证书文件的方式,示例配置如下:
最后,测试双向认证。
访问应用,如果前面的操作都正确的话,应该可以看到Apusic的欢迎页面。同时状态栏上的小锁处于闭合状态,且证书为有效状态,表示您已经成功地与服务器建立了要求客户端验证的SSL安全连接。
附:使用OpenSSL生成CA证书。
本文所使用的CA软件为Openssl。Openssl用来产生CA证书、证书签名并生成浏览器可导入的PKCS#12格式个人证书。你可以在Openssl的官方网站http://www.openssl.org下载最新版的Openssl,本文使用的是Openssl 0.9.7d。从Openssl的官方网站下载并安装了Openssl之后,设置系统环境变量Path指向Openssl的bin目录,下面开始创建CA根证书:
- 建立工作目录。
- 生成ca私钥。
- 生成ca待签名证书。
- 用CA私钥进行自签名,得到自签名的CA根证书。
分享到:
相关推荐
全程视频指导如何部署apache应用服务器部署服务器SSL证书。让您直观易懂
web 服务器ssl认证配置手册(tongweb)web 服务器ssl认证配置手册(tongweb)web 服务器ssl认证配置手册(tongweb)web 服务器ssl认证配置手册(tongweb)
NGFW管理手册——IPSECVPN配置整理.pdf
netty搭建tcp自定义协议websocket服务器, 支持ssl demo. 适用于netty初学者, netty搭建自定义协议, websocket服务器, 聊天室, 一个端口集成多协议,包括ssl协议
为支持 SSL 通信,必须为 Web 服务器配置 SSL 证书。本章介绍如何获取 SSL 证书,以及如何配置 Microsoft® Internet 信息服务 (IIS),以便支持 Web 浏览器和其他客户端应用程序之间使用 SSL 安全地进行通信
Vue项目结果build编译后,放在Nginx的html文件夹内,替换该配置文件,就可以在Nginx服务器上运行Vue项目
本文给大家分享的是如何配置MySQL支持SSL连接方式的方法以及在docker中配置的具体案例,有需要的小伙伴可以参考下
主要介绍了Nginx配置SSL自签名证书的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
IIS7.5下同IP多域名配置SSL, IIS 7.5 以下版本不支持多域名共用443端口 SSL 服务,采用nginx 单独处理来自443端口的请求,从而实现多域名 SSL 附件包含,图文设置nginx, nginx免安装包,可直接使用,已支持SNI(Server ...
配置tomcat服务器支持SSL,开启tomcat的安全认证通道,有需求的项目可能用得着
Apache配置HTTPS协议搭载SSl配置全过程,来源于互联网,觉得这个配置教程不错。呵呵
基于禅道10.4的SSL配置,把其中的httpd.conf-ssl-ok文件和现有的httpd.conf比较,合并即可,其他的文件和现有的没有冲突,直接覆盖apache目录。
Weblogic服务器双向ssl配置,有图解说.包你懂!www.javago.net
本报告就如何配置SSL/TLS以提供最先进的身份验证和加密技术提出了一般性建议。ssl引擎提供的选项是从 自从Netscape开发SSL2.0以来的早期。TLS的引入使问题变得更具有挑战性,因为服务器和客户端根据各个ssl引擎提供...
一. 实施步骤和操作过程 管理口 是port1 口 地址是 192.168.1.99,您可以直接 将笔记本链接 设备的1口 登陆... ... ... 进入config模式进行进一步的配置。 所有操作需要被保存,一定要点击一下 右上方的 保存配置
Tomcat5.5配置SSL Tomcat5.5配置SSL Tomcat5.5配置SSL Tomcat5.5配置SSL
在Centos7.6平台下使用openssl给apache做自签名证书,并给apache设置HTTPS的SSL证书。(无坑版) 二、平台 [root@kahn.xiao ~]# uname -r 3.10.0-957.el7.x86_64 [root@kahn.xiao ~]# cat /etc/redhat-release ...
websphere配置ssl文档. 包含证书申请、服务器配置等
NULL 博文链接:https://hanqunfeng.iteye.com/blog/1921084
用IIS发布https网站,SSL的安全服务配置步骤: 生成申请证书请求获取及安装中级CA证书安装服务器证书及配置绑定一、生成证书请求 进入IIS控制台 在“开始”菜单上,依次单击“所有程序”、“附件”和“运行”。 在...