一·CA介绍

  certificate authority   数字证书授权中心

  被通信双方信任的、独立的第三方机构

  负责证书颁发、验证、撤销等管理

数字证书

  经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件

  

国内常见的CA机构

  中国金融认证中心(CFCA)

  中国电信安全认证中心(CTCA)

  北京数字证书认证中心(BJCA)

PKI   public key infrastructure  公钥基础设施

  一套标准的密钥管理平台

  通过公钥加密、数字证书技术确保信息安全

PKI体系的基本组成

  权威认证机构(CA)

  数字证书库、密钥备份及恢复系统

  证书作废系统、应用接口

openssl 加密工具  做数据加/解密

  实现SSL/TLS协议及各种加密用应用

  -创建并管理私钥、公钥、证书、证书服务

  -使用公钥加解密

  -使用各种算法进行加解密

  -计算信息摘要

对称加密

enc  指定算法    des3三遍 -e 加密 -d  解密 -in 源文件 -out  加解密输出后的文件

  #openssl  enc  -des3  -e  -in  f1.txt  -out  f1.txt.enc

  #openssl  enc  -des3  -d  -in  f1.txt.enc  -out  f1.txt

  #file f1.txt

  #file f1.txt.enc

搭建ca服务器

1.配置CA证书签发环境

  # ls /etc/pki/tls/openssl.cnf

  # rpm -qf /etc/pki/tls/openssl.cnf

  #vim  /etc/pki/tls/openssl.cnf

  40 [ CA_default ]              //默认环境

  42 dir       = /etc/pki/CA         //CA相关文件的默认目录

  43 certs           = $dir/certs      //为用户颁发数字证书的存放位置

  45 database        = $dir/index.txt    //证书数据的索引文件,需手动建立

  50 certificate     = $dir/my-ca.crt     //CA服务器根证书文件

  51 serial          = $dir/serial      //序号记录文件,需手动建立,从01开始

  55 private_key     = $dir/private/my-ca.key    //CA服务器私钥文件

  84 [ policy_match ]         //匹配策略

  85 countryName             = match   //国家一样

  86 stateOrProvinceName     = match  //省份一样

  87 organizationName        = match   //公司一样

  128 [ req_distinguished_name ]        //证书请求的识别信息

  130 countryName_default             = CN      //国家

  135 stateOrProvinceName_default     = beijing   //省

  138 localityName_default            = beijing      //城市

  141 0.organizationName_default      = tarena   //公司

  148 organizationalUnitName_default  = ope     //部门

根据需要建立index.txt、serial文件

  # touch  /etc/pki/CA/index.txt

  # echo 01 >  /etc/pki/CA/serial

  #chmod 600 index.txt serial

2 为CA服务器生成私钥

  #cd  /etc/pki/CA/private/

  # openssl  genrsa  -des3  2048  >  my-ca.key      (设置保护私钥的密码123456)

  # chmod  600 my-ca.key

3 为CA服务器创建根证书

  #cd  /etc/pki/CA

  #openssl  req  -new  -x509  -key  /etc/pki/CA/private/my-ca.key  -days 365  > my-ca.crt

  req请求  x509证书格式

  #chmod 600 my-ca.crt

4 发布根证书  (web ftp 等提供给用户下载)

5 客户端下载安装根证书

  

  中间证书:数字证书

二、网站加密  http+ssl

1 配置网站服务器192.168.4.50 支持客户端使用https  443协议访问

  1.1 启用httpd服务

    #yum  -y   install httpd

    #echo  12345  >  /var/www/html/test.html

    #echo  "hello boy"  >  /var/www/html/index.html

    #service   httpd  start ; chkconfig  httpd on

    #netstat  -utnalp  | grep httpd   (80)

    #修改本地hosts(没有dns)

  1.2 创建私钥文件

    # cd  /etc/pki/tls/private/

    #openssl  genrsa  2048  >  www.key

  1.3 创建证书请求文件,并上传给ca服务器

    #openssl  req获取  -new  -key   /etc/pki/tls/private/www.key  >  /root/www.csr   (必须要与ca服务器policy_match84行规则一样)

    #scp   /root/www.csr   192.168.4.100:/root/

2  CA服务器的配置192.168.4.100

  2.1 审核证书请求文件,并签发数字证书给网站服务器

    #ls  /root/www.csr

    #cd /etc/pki/CA/certs/

    # openssl  ca  -in  /root/www.csr  >  www.crt

    #scp   www.crt   192.168.4.50:/root/

  2.2 配置网站服务4.50运行时加载私钥文件和数字证书文件

    #mv   /root/www.crt    /etc/pki/tls/certs/

    #ls  /etc/pki/tls/private/www.key

    #yum  -y   install  mod_ssl

    #sed   -n  '100p;107p'  /etc/httpd/conf.d/ssl.conf

    SSLCertificateFile /etc/pki/tls/certs/www.crt

    SSLCertificateKeyFile /etc/pki/tls/private/www.key

    重启服务

    #systemctl   restart  httpd

    #netstat  -untlap  | grep httpd   (443  80)

3 客户端验证4.254

  # sed -i '$a192.168.4.50  sec50.chen.com  www.chen.com' /etc/hosts

  #ping     www.chen.com

  下载ca根证书并安装

  在浏览器里导入根证书

  访问:  https://www.chen.com   (没有不受信任的提示,问题看技术详细--因为没有ca的根证书)

4 配置网站服务接收到访问80端口的请求时把请求转给本机的443端口

  #vim   /etc/httpd/conf/httpd.conf

  <IfModule ssl_module>

  SSLRandomSeed  startup  builtin                 //执行内建的函数;内键指令

   SSLRandomSeed  connect  builtin

  </IfModule>

  RewriteEngine  on

  RewriteCond  %{SERVER_PORT}  !^443$           //重写条件,服务端口,不是443则成立

  RewriteRule  (.*)  https://%{SERVER_NAME}/$1  [R]      //重写规则 , .* 表示后面test任意,R替换,将$1替换为https://%{SERVER_NAME}

  #systemctl  restart    httpd

  #firefox  http://www.chen.com

三、 邮件加密  192.168.4.50

  # yum -y install postfix  dovecot  cyrus-sasl

  #systemctl   start  postfix ; systemctl   enable  postfix    //发邮件

  #systemctl   start  dovecot ; systemctl   enable  dovecot    //收邮件

相关协议及端口

  SMTP(25)+ TLS/SSL

  POP3(110)、POP3S(995)

  IMAP(143)、IMAPS(993)

1 邮件服务器的配置

  1.1  生成私钥文件

    # cd  /etc/pki/tls/private/

    # openssl  genrsa  2048  >  mail.key

  1.2 创建证书请求文件并上传给CA服务器 (mail.tedu.cn)

    #openssl  req  -new  -key   /etc/pki/tls/private/mail.key  >  /root/mail.csr

    #  scp /root/mail.csr  192.168.4.100:/root/

2 CA服务器的配置

  2.1审核并签发数字证书

    #ls  /root/mail.csr

    #cd /etc/pki/CA/certs/

    #openssl  ca  -in  /root/mail.csr  >  mail.crt

    #scp  mail.crt    192.168.4.50:/root/

3  邮件服务器配置服务在运行是加载数字证书文件和私钥文件 (收邮件服务)

  # vim  /etc/dovecot/conf.d/10-ssl.conf

  14 ssl_cert = </etc/pki/dovecot/certs/mail.crt

  15 ssl_key = </etc/pki/dovecot/private/mail.key

   # cp  /etc/pki/tls/certs/mail.crt  /etc/pki/dovecot/certs/

  # cp  /etc/pki/tls/private/mail.key   /etc/pki/dovecot/private/

  重启服务

  #systemct  restart   dovecot

  #netstat  -untnalp  | grep dovecot   (110  143  995   993)

4 邮件服务器配置服务在运行是加载数字证书文件和私钥文件 (发邮件服务)

  #cp /root/mail.crt    /etc/pki/tls/certs/

  # vim /etc/postfix/main.cf

  smtpd_use_tls = yes   //启用加密传输

  #smtpd_tls_auth_only = yes    //禁用明文加密,若启用此项,则非TLS的SMTP通信将被阻止

  smtpd_tls_key_file = /etc/pki/tls/private/mail.key

  smtpd_tls_cert_file = /etc/pki/tls/certs/mail.crt

  #smtpd_tls_loglevel = 1                  //排错阶段可启用此配置

  #systemctl  restart   postfix

  #netstat  -utnalp  | grep master

5 客户端配置:

在客户端软件里配置使用加密收/发邮件

  

配置ca服务器和http,mail加密的更多相关文章

  1. linux 搭建CA服务器 http+ssl mail+ssl 扫描与抓包

    搭建CA服务器 CA服务是给服务器发放数字证书,被通信双方信任,独立的第三方机构 国内常见的CA机构 中国金融认证中心(CFCA) 中国电信安全认证中心(CTCA) 北京数字证书认证中心(BJCA) ...

  2. CA服务器的搭建

    CA (Certification Authority) 是认证机构的国际通称,它是对数字证书的申请者发放.管理.取消数字证书的机构.CA的作用是检查证书持有者身份的合法性,并签发证书(用数学方法在证 ...

  3. Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站

    http://www.cnblogs.com/zhongweiv/archive/2013/01/07/https.html 配置环境 了解HTTPS 配置CA证书服务器 新建示例网站并发布在IIS ...

  4. 配置DNS服务器

    一.配置基本的DNS 服务器(包含正向解析和反向解析)域名:abc.com服务器IP:10.1.2.11 1. 编辑主配置文件/etc/named.conf---------------------- ...

  5. 【服务器运维】Windows Server 2008 R2 下配置证书服务器和HTTPS

    前言 2017年1月1日起App Store上的所有App应用将强制开启ATS功能. 苹果的ATS(App Transport Security)对服务器硬性3点要求: ① ATS要求TLS1.2或者 ...

  6. IIS7.0 Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站

    配置环境 Windows版本:Windows Server 2008 R2 Enterprise Service Pack 1 系统类型: 64 位操作系统 了解HTTPS 为什么需要 HTTPS ? ...

  7. 自己搭建CA颁发证书做https加密网站

    192.168.10.187 CA服务器 192.168.10.190 web服务器 (1)搭建CA cd /etc/pki/CA 在这个目录下创建serial和index.txt两个文件 echo ...

  8. 搭建私有CA服务器

    1 CA是什么 CA(Certificate Authority)证书颁发机构主要负责证书的颁发.管理以及归档和吊销.证书内包含了拥有证书者的姓名.地址.电子邮件帐号.公钥.证书有效期.发放证书的CA ...

  9. 自建证书配置HTTPS服务器

    1.写这篇博客的初衷是因为最近iOS9出来了,苹果官方默认要求使用HTTPS,所以自己想整一个HTTPS服务器,也想好好了解一下HTTPS通信,也知道了HTTPS其实就是在HTTP的基础上加上了SSL ...

随机推荐

  1. 7种最常见的Hadoop和Spark项目

    7种最常见的Hadoop和Spark项目 如果您的Hadoop项目将有新的突破,那么它必定与下边介绍的七种常见项目很相像. 有一句古老的格言是这样说的,如果你向某人提供你的全部支持和金融支持去做一些不 ...

  2. H3C 其他OSPF显示命令

  3. 访问HTML可以,访问PHPfile not found

    www目录的所有者和所属组都改为nginx用户试一下. 参考命令: chown nginx.nginx /home/www ps aux |grep nginx   看一下您的nginx是以哪个用户的 ...

  4. JavaMail转发邮件

    最近要做一个邮件转发功能,看了好多blog,都是接受邮件,再解析邮件内容,再组装成新的邮件发出! 我按照这个不够,不错!邮件发出去了.但是好麻烦啊,接受邮件是个Message,发送邮件也是个Messa ...

  5. 【74.00%】【codeforces 747A】Display Size

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  6. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(8)之文章管理

    到这一步,我们整个项目的核心搭建已经算是完成了,接下来就是我们业务功能的实际应用,也就是表现层的设计和实现,如果你是一个项目负责人,到这一步,接下来的工作就可以交给下面的兄弟去完成了,在这里我们用文章 ...

  7. Linux 内核 PCI 总线

    任何在 PCI 总线上的设备有参数 name 和 SUBSYSTEM 环境变量设置为值 pci. PCI 子系 统也一直添加下面 4 个环境变量: PCI_CLASS 设备的 PCI 类号, 16 进 ...

  8. Linux 内核总线方法

    有几个给 bus_type 结构定义的方法; 它们允许总线代码作为一个设备核心和单独驱动之 间的中介. 在 2.6.10 内核中定义的方法是: int (*match)(struct device * ...

  9. Linux 内核驱动支持什么设备

    struct usb_device_id 结构提供了这个驱动支持的一个不同类型 USB 设备的列表. 这个 列表被 USB 核心用来决定给设备哪个驱动, 并且通过热插拔脚本来决定哪个驱动自动加载, 当 ...

  10. JWT之登录、登出、验证码接口

    6.2 验证码接口 验证码接口用于登录页面展示时,获取验证码图片地址及验证码标识 安装验证码功能组件(如果是官网下载的完整版框架,无需安装) composer require topthink/thi ...