在实际生产中实现公司内部的web服务器加密访问时,我们就需要实现公司内部的私钥CA,并且完成对web服务器的签署请求,这样我们就可以在自身的内部机构实现对数据的机密性、完整性、身份验证的访问与传输
实验的准备:实验是在vm9上完成的,一共用了两台虚拟机;一台在CA签署服务器(IP地址是172.16.51.18),另一台是web服务器(IP地址是172.16.51.17)
私有CA的实现包括有自身私钥的生成、生成自签证书、准备相关的文件
实现私有CA的准备
为CA提供私钥
 
生成自签证书
生成自签证书的时候,会让我们填写一些信息,例如国家,省,市,公司名称等这些信息可以直接在/etc/pki/tls/openssl.cnf配置文件中更改这些默认的信息。
修改/etc/pki/tls/openssl.cnf配置文件中关于证书存放位置,并查看CA证书所需要的文件及目录
手动创建certs crl newcerts目录并创建index.txt文件与serial文件(并指定起始号)
现在一个我们自签署的CA就可以使用了
web服务器端的准备
首先自己要准备好web服务,安装httpd软件包就可以了,要实现ssl功能需要安装ssl模块,所以模块要确保安装上
安装ssl模块
yum install mod_ssl
为web服务器的证书申请以及密钥文件存放创建一个特定的目录
mkdir /etc/httpd/conf/ssl
cd /etc/httpd/conf/ssl
把公钥包装成证书申请请求,向CA申请签署;首先要自己生成一个私钥(存放密钥的文件权限是600的)
重新启动httpd服务,加载新添加的模块
service httpd restart
签署请求申请前查看自己的FQDN,没有指定的可以直接更改/etc/hosts配置文件添加一条对应关系就可以了
生成证书签署请求把签署请求发送给CA服务器端(现实中为了确保其安全性,需要手动复制签署请求到CA认证机构去签署;避免在网络传输中数据泄露)
现在直接使用scp发送到CA服务器端
在CA服务器端完成签署
签署完成后查看CA机构的证书相关文件的变化
在web服务器端把签署的证书复制过来
scp 172.16.51.18:/tmp/httpd.crt /etc/httpd/conf/ssl/
证书签署后为了安全删除CA端的文件
rm -rf httpd.crt
rm -rf httpd.csr
更改web服务器的/etc/httpd/conf.d/ssl.conf配置文件
中心主机的设定
密钥及证书文件位置的指定
创建/var/www/html目录下的主页index.html,并且添加一些内容,方便后面的验证
一切都修改完成后检查一下语法错误并且重启一下httpd服务
httpd –t
service httpd restart
把CA的证书传递给物理主机一份,进行测试
复制/etc/pki/CA/cacert.pem到物理主机,复制到windows系统后把cacert.pem文件的名称更改成cacert.crt
点击安装证书按钮,将证书安装到受信任的节点中,然后就可以实现对web服务器的加密访问了

基于OpenSSL实现C/S架构中的https会话的更多相关文章

  1. 分享一个CQRS/ES架构中基于写文件的EventStore的设计思路

    最近打算用C#实现一个基于文件的EventStore. 什么是EventStore 关于什么是EventStore,如果还不清楚的朋友可以去了解下CQRS/Event Sourcing这种架构,我博客 ...

  2. 分享我们项目中基于EF事务机制的架构

    写在前面: 1. 本文中单元测试用到的数据库,在执行测试之前,会被清空,即使用空数据库. 2. 本文中的单元测试都是正确通过的. 要理解EF的事务机制,首先要理解这2个类:TransactionSco ...

  3. 分享我们项目中基于EF事务机制的架构 【转载】

    http://www.cnblogs.com/leotsai/p/how-to-use-entity-framework-transaction-scope.html 写在前面: 1. 本文中单元测试 ...

  4. 基于AWS的云服务架构最佳实践

    ZZ from: http://blog.csdn.net/wireless_com/article/details/43305701 近年来,对于打造高度可扩展的应用程序,软件架构师们挖掘了若干相关 ...

  5. 大型 JavaScript 应用架构中的模式

    原文:Patterns For Large-Scale JavaScript Application Architecture by @Addy Osmani 今天我们要讨论大型 JavaScript ...

  6. [转]大型 JavaScript 应用架构中的模式

    目录 1.我是谁,以及我为什么写这个主题 2.可以用140个字概述这篇文章吗? 3.究竟什么是“大型”JavaScript应用程序? 4.让我们回顾一下当前的架构 5.想得长远一些 6.头脑风暴 7. ...

  7. 基于VPN搭建混合云架构需要考虑的网络因素

     Joy Qiao from MSFT Wed, Jan 21 2015 8:44 AM 很多用户在搭建混合云架构时,会使用到微软Azure虚拟网络中的 VPN功能,来实现Azure中的虚拟网络与用户 ...

  8. 基于laravel4.2的相关架构设计

    项目组不久前引进了laravel框架,本人参与了laravel的调研和项目架构设计.个人认为项目架构中基于laravel的有些设计还是比较实用和有借鉴性的,现将一些设计分享给大家,希望能和大家共同学习 ...

  9. 新项目架构从零开始(三)------基于简单ESB的服务架构

    这几个月一直在修改架构,所以迟迟没有更新博客. 新的架构是一个基于简单esb的服务架构,主要构成是esb服务注册,wcf服务,MVC项目构成. 首先,我门来看一看解决方案, 1.Common 在Com ...

随机推荐

  1. jquery-懒加载技术(简称lazyload)

    第一:lazyLoad简介及作用 网站性能优化的插件,提高用户体验. 页面如果有很多图片的时候,当你滚动到相应的行时,当前行的图片才即时加载的,这样子的话页面在打开只加可视区域的图片,而其它隐藏的图片 ...

  2. MyEclipse 2016 CI 3发布

    JSjet 语法高亮 受够了Eclipse中的JavaScript编码体验?那就来试试MyEclipse 2016 CI 3.JSjet改进了JavaScript编码的语法高亮功能,大大提升了代码的可 ...

  3. iOS之UIApplication详解

    UIApplication对象特点: 特点1: UIApplication对象是应用程序的象征,一个UIApplication对象就代表一个应用程序,而且是单例的.(用来封装整个应用程序的一个对象, ...

  4. Nginx反向代理和负载均衡部署指南

    1.        安装 1)         从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包: ...

  5. .Net中使用SendGrid Web Api发送邮件(附源码)

    SendGrid是一个第三方的解决邮件发送服务的提供商,在国外使用的比较普遍.国内类似的服务是SendCloud.SendGrid提供的发送邮件方式主要是两种, 一种是SMTP API, 一种是Web ...

  6. SQL Server 2012 The report server cannot open a connection to the report server database

    案例环境: 操作系统版本:    Windows Server 2012 R2 Standard 数据库版本  :    SQL SERVER 2012 SP2 案例介绍: 今天进入一台新安装的SQL ...

  7. Oracle常用语句集合

    oracle常用经典SQL查询 常用SQL查询: .查看表空间的名称及大小 )),) ts_size from dba_tablespaces t, dba_data_files d where t. ...

  8. ligerDialog的使用

    1.通过ViewBag来传值. @if (ViewBag.ReturnMessage != null) 2.脚本代码: 对话框设计与赋值问题. <script type="text/j ...

  9. 实时事件统计项目:优化solr和morphline的时间字段

    morphline优化,如下: 传过来的时间戳被复制到3个字段:eventTimeInMinuteChina_tdt ,eventTimeInMinuteUTC_tdt ,eventTimeInHou ...

  10. MongoDB学习笔记~官方驱动的原生Curd操作

    回到目录 MongoDB的官方C#驱动,让我们使用起来也很方便,但对于Linq开发人员来说,可能有些不了解,所以,我还是将官方驱动进行了二次封装,而对于一个比较个性化的mongo操作,使用我封装的也很 ...