`
cloudtech
  • 浏览: 4612897 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

深入了解ApusicAS服务器配置系列之——SSL配置

 
阅读更多

近日,随着铁路客服中心网上购票系统中逐步可以购买大部分车次的列车,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服务器证书视频部署操作指南

    全程视频指导如何部署apache应用服务器部署服务器SSL证书。让您直观易懂

    web 服务器ssl认证配置手册(tongweb)

    web 服务器ssl认证配置手册(tongweb)web 服务器ssl认证配置手册(tongweb)web 服务器ssl认证配置手册(tongweb)web 服务器ssl认证配置手册(tongweb)

    NGFW管理手册——IPSECVPN配置整理.pdf

    NGFW管理手册——IPSECVPN配置整理.pdf

    netty搭建tcp自定义协议websocket服务器, 支持ssl demo

    netty搭建tcp自定义协议websocket服务器, 支持ssl demo. 适用于netty初学者, netty搭建自定义协议, websocket服务器, 聊天室, 一个端口集成多协议,包括ssl协议

    WEB服务器如何配置SSL

    为支持 SSL 通信,必须为 Web 服务器配置 SSL 证书。本章介绍如何获取 SSL 证书,以及如何配置 Microsoft® Internet 信息服务 (IIS),以便支持 Web 浏览器和其他客户端应用程序之间使用 SSL 安全地进行通信

    Vue项目部署Nginx配置文件 SSL

    Vue项目结果build编译后,放在Nginx的html文件夹内,替换该配置文件,就可以在Nginx服务器上运行Vue项目

    MySQL 使用 SSL 连接配置详解

    本文给大家分享的是如何配置MySQL支持SSL连接方式的方法以及在docker中配置的具体案例,有需要的小伙伴可以参考下

    Nginx配置SSL自签名证书的方法

    主要介绍了Nginx配置SSL自签名证书的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Nginx 同IP 多域名 HTTPS SSL 配置

    IIS7.5下同IP多域名配置SSL, IIS 7.5 以下版本不支持多域名共用443端口 SSL 服务,采用nginx 单独处理来自443端口的请求,从而实现多域名 SSL 附件包含,图文设置nginx, nginx免安装包,可直接使用,已支持SNI(Server ...

    配置tomcat服务器支持SSL

    配置tomcat服务器支持SSL,开启tomcat的安全认证通道,有需求的项目可能用得着

    Apache配置HTTPS协议搭载SSl配置全过程

    Apache配置HTTPS协议搭载SSl配置全过程,来源于互联网,觉得这个配置教程不错。呵呵

    禅道10.4的SSL配置

    基于禅道10.4的SSL配置,把其中的httpd.conf-ssl-ok文件和现有的httpd.conf比较,合并即可,其他的文件和现有的没有冲突,直接覆盖apache目录。

    Weblogic服务器双向ssl配置

    Weblogic服务器双向ssl配置,有图解说.包你懂!www.javago.net

    SSL 和windows及浏览器等兼容性报告

    本报告就如何配置SSL/TLS以提供最先进的身份验证和加密技术提出了一般性建议。ssl引擎提供的选项是从 自从Netscape开发SSL2.0以来的早期。TLS的引入使问题变得更具有挑战性,因为服务器和客户端根据各个ssl引擎提供...

    信安ssl 配置 文档

    一. 实施步骤和操作过程 管理口 是port1 口 地址是 192.168.1.99,您可以直接 将笔记本链接 设备的1口 登陆... ... ... 进入config模式进行进一步的配置。 所有操作需要被保存,一定要点击一下 右上方的 保存配置

    Tomcat5.5配置SSL

    Tomcat5.5配置SSL Tomcat5.5配置SSL Tomcat5.5配置SSL Tomcat5.5配置SSL

    Centos7安装给Apache服务安装配置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文档

    websphere配置ssl文档. 包含证书申请、服务器配置等

    Nginx:服务器端SSL配置

    NULL 博文链接:https://hanqunfeng.iteye.com/blog/1921084

    windows服务器ssl证书创建、安装及配置方法

    用IIS发布https网站,SSL的安全服务配置步骤: 生成申请证书请求获取及安装中级CA证书安装服务器证书及配置绑定一、生成证书请求 进入IIS控制台 在“开始”菜单上,依次单击“所有程序”、“附件”和“运行”。 在...

Global site tag (gtag.js) - Google Analytics