设为首页 收藏本站
查看: 556|回复: 0

[经验分享] 通过OpenSSL搭建私有CA及加密解密介绍

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-4-23 08:57:02 | 显示全部楼层 |阅读模式
加密incode:对明文(可读懂的信息)进行翻译,使用不同的算法对明文以代码形式(密码)实施加密。该过程的逆过程称为 解密(descode),即将该编码信息转化为明文的过程
常见的加密算法和协议:
1、对称加密
2、公钥加密(非对称加密)
3、单向加密
4、认证协议
对称加密:加密和解密使用同一个密钥,依赖于,算法和密钥,其安全性依赖于密钥而非算法
常见算法:DES、3DES、 AES、Blowfish、IDEA、Twofish、CAST5、Rc6
特性:1)加密解密使用同一密钥
             2)将明文分隔成固定大小的块,逐个进行加密
缺陷:1)密钥过多
          2)密钥分发
非对称加密:即公钥加密,
密钥对儿:私钥(仅允许个人使用)和公钥(公开给所有人获取)
公钥从私钥中提取而来(使用公钥加密的数据,只能使用与此公钥配对儿的私钥解密,反之亦然)
用处:
        1)身份认证:私钥拥有者用自己私钥加密的数据,只要用其公钥能解密,即可认证其身份
        2)密钥交换:任何一个人计划与被通讯方通信之前,首先获取到对方的公钥,自己生成一个加密密码,用对方的公钥加密,并发给对方
        3)数据加密
算法:RSA、DSA 实现数字签名、ELGamal
特性:1)密钥长度较大,512bit,2048bits,4096bits
         2)加密解密分别使用密钥对儿中的密钥对进行
         3)常用于数据签名和密钥交换
单向加密:数据能加密但不能解密,用于提取数据的特征码
特性:
         1)定长输出:无论原来的数据是多大级别,其加密结果长度一样
         2)雪崩效应: 原始数据微小改变,将会导致结果巨大变化;
         3)不可逆:
算法:MD5:128bits定长输出、SHA1:160bit定长输出、SHA256、 SHA384、SHA512、CRC32循环冗余校验
下面说说OpenSSL如何搭建CA
Openssl是SSL的开源实现(可以免费下载应用程序),是一种安全机密程序,主要用于提高远程登录访问的安全性。也是目前加密算法所使用的工具之一,功能很强大。
       Openssl为网络通信提供安全及数据完整性的一种安全协议,包括了主要的密码算法、常用的密钥和证书封装管理功能(CA)以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用,例如我们将会使用Openssl实现私有CA,并实现证书颁发。
openssl的组成部分:
           libscrypto:加密、解密库文件
           libssl:ssl协议实现
           openssl:多用途命令行工具,每种功能都使用专用的子命令来实现

SSL:(Secure Socket Layer)安全套接字层,通过一种机制在互联网上提供密钥传输。其主要目标是保证两个应用间通信数据的保密性和可靠性,可在服务器端和用户端同时支持的一种加密算法。目前主流版本SSLV2、SSLV3(常用)。

使用OpenSSL构建私有CA:
        1、生成私钥:
        2、生成自签署证书:
        (1)私钥用于签发证书时,向证书添加数字签名使用;
        (2)证书:每个通信方导入此证书至"受信任的证书颁发机构"
配置文件:/etc/pki/tls/openssl.cnf
工作目录:/etc/pki/CA/
wKiom1U3bWDDM586AAO6KevRRLM418.jpg

建立私有CA思路:
                 1、生成私钥文件   /etc/pki/CA/private/cakey.pem(存放)
                 #  cd /etc/pki/CA
                 #  (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
                 2、生成自签证书
                 # openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days #
                   -new:生成新的证书签署请求
                   -key:私钥文件路径,用于提取公钥
                   -days -N:证书有效时长,单位为"天"
                   -out:输出文件保存位置
                   -x509:直接输出自签署的证书文件,通常只有构建CA时才这么用,如果没有x509则为签署请求
                 3、提供辅助文件
给节点发证书:
              1、节点申请证书:在证书申请的主机进行如下步骤
                       (1)生成私钥
                       (2)生成证书签署请求
                       注意:其中的subject信息部分,要与CA的保持一致
                                Common Name要使用此主机在通信真实使用名字
                      (3)把请求发送给CA;让CA以便发出请求
              2、CA签发证书
                        (1)验证请求者信息
                        (2)签署证书
                        # openssl ca -in /PATH/FROM/CSR_FILE -out /PATH/TO/CRT_FILE -days N
                        (3)把签署好的证书发还给请求者
下面以http为例具体实现CA的搭建:
      # cd /etc/httpd/
      # ls
      # touch index.txt
      # echo 01 > serial
      # mkdir ssl
      # cd ssl
      # (umask 077;openssl genrsa -out httpd.key 1024) 生成密钥
      # ll
wKioL1U3cOfQLt_JAADUe5bBaDU836.jpg       # openssl req -new -key httpd.key -out httpd.csr 证书签署请求
      -->输入相关信息
      -->两次回车使用空密码
      # ll
wKioL1U3cQLiLitQAAMxveitxVc929.jpg       # openssl ca -in /etc/httpd/ssl/httpd.csr -out /etc/httpd/ssl/http.crt -days 3650  签署证书 直接签署证书
wKiom1U3cCLgzn7UAAMpDhuZdZo863.jpg    
wKiom1U3cIOQCKdvAAEH9RXZfxs108.jpg
出现红色标识部分,说明 签署成功

吊销证书:
    1、获取吊销证书的序列号
      # openssl x509 -in /PATH/FROM/CRT_FILE  -serial -subject
      # openssl x509 -in /etc/httpd/ssl/http.crt  -serial -subject
wKiom1U3cYDyQYsxAAaCsuSheX0570.jpg     2、实现证书吊销:根据证书持有者
      确保一致
      (1)吊销证书
      # openssl ca -revoke /PATH/FROMCRT_FILE
      (2)生成吊销证书的编号
      echo 01 > /etc/pki/CA/crlnumber
      (3)更新证书吊销列表
      # openssl crl -gencrl -out THISCA.crl




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-59853-1-1.html 上篇帖子: sed及awk提取影片下载地址 下篇帖子: linux中加密解密以及Opensll建立CA 加密
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表