Openssl以及其CA的制作

在现实生活中密码的重要不言而喻,在我们的计算机上密码的更是重中之重,本文主要简单的讲述加密解密的实现机制,openssl的基本应用以及如何自己制作CA证书

一、加密解密的基本分类

   加密方式现在最要分为三类:对称加密、公钥加密、单向加密

1)、对称加密

    对称加密由加密算法加口令组成,比较著名的对称加密算法有DES(56bits),3DES,AES(128bits),Blowfish,Twofish,IDEA,RC6,CSAT5,Serpent等

    特性:

    1、加密/机密使用统一的口令

    2、将原文分割成固定大小的数据块,对这些块进行加密

    存在的缺陷

    1、口令的传输无法确保其安全性

    2、密钥太多,不方便管理

2)、非对称加密

    非对称加密由一个公钥和一个私钥组成,其中公钥所有人都可以获取,只有私钥才是自己保存,比较著名的算法有RSA,EIGmal,DSA等

    特性:

    1、主要用于密钥的交换

    2、用户身份认证

    存在的缺陷

    算法加密比较耗时耗资源

3)单向加密

    单向机密主要是用来提前数据的特征码,确保数据的完整性,比较著名的算法有MD5,SHA1,SHA512,CRC-32等

    特性:

    1、雪崩效应

    2、定长输出

二、Openssl基本应用

1)、组成

   openssl是一个套件,有libcrypto、libssl、openssl组成,其中

   libcrypto:通用功能的加密库

   libssl:用于实现TLX/SSL的功能

   openssl:多功能命令工具,用于生成密钥,创建数字证书,手动加密解密数据

2)、openssl的常用功能

   对称算法:

    加密:openssl enc -des3 -a -salt -in /ets/fstab -out /tmp/fstab.cipher

    解密:openssl enc -d -dec3 -a -salt -in /tmp/fstab.cipher  -out /tmp/fstab

    解释:env为对称加密算法的固定使用格式 -des3表示已des3的方式进行加密,-salt表示密码里面加入一些盐,-in 表示加密/解密的文件来源 -out表示加密/解密的文件输出,-d 表示解密

   单向加密:

    加密:openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1][-out filename] /path/to/somefile

    解释:dgst为单向加密的固定使用格式,-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1表示使用的加密算法,-out表示加密的文件输出

   非对称加密包括公钥加密和数字签名两种,其中公钥加密使用公钥加密,私钥解密。而数字签名使用私钥加密,公钥解密

三、数字证书

    数字证书是有第三方机构使用一种安全的方式将公钥发布出来的表现形式,证书的格式有X509.PKCS等,本文主要讲解X509格式的证书

   X509格式的证书由公钥和有效期限,持有者的个人合法身份信息(一遍表示为主机名),证书的使用方式,发放机构的信息,发放结构的数字签名

  第三方机构的作用有自签证书,签署证书,将证书发放给用户,维护证书吊销列表

  数字证书分为两种,分别为第三方机构的自签证书和用户申请的证书

  1)、生成自签证书

1
2
3
4
5
[root@station125 tls]# (umask  077 ; openssl genrsa -out  private /cakey.pem  2048 )
Generating RSA  private  key,  2048  bit long modulus
..+++
...............+++
is  65537  ( 0x10001 )

 路径为/etc/pki/tls下,配置文件为openssl.cnf,可以通过修改此配置文件来修改一些默认选项,本出不做详细解释,如有需要的朋友,请自行查看本文档

  查看数字证书

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@station125 tls]# openssl rsa - in  private /cakey.pem -pubout -text -noout
Private-Key: ( 2048  bit)
modulus:
     00 :c3: 21 :a0:b1: 84 : 23 :d5: 02 :c8:3e:a8: 69 :1c:5d:
     fb: 49 :d6:9a: 05 :6b:cd: 76 : 54 :4e:3b:5e: 52 :f0:a0:
     0d:b2:da:4e:0e:3d: 36 : 07 : 64 :4b: 74 : 71 : 73 : 84 :df:
     c6:9e:d7: 15 : 40 : 02 : 65 :f6: 59 : 08 : 36 :3d:f4: 29 :f4:
     16 : 91 :e5:d0:eb:fc:c8: 04 :8c: 05 :2f: 38 :b9:2e:3e:
     24 : 03 :bd: 40 :e7: 80 :8a: 82 : 19 :f9: 39 :5c:2c: 41 :7c:
     3e: 10 :a1:e4: 51 : 03 :3b:b2: 81 :c3:d1:0f: 10 :b3:e0:
     e0:6d:bf:a3:f6:bb:a2:c2:b1:b8:0c:ec:e7:1c: 49 :
     de:6c:5d:e6: 88 : 98 :d1:e5: 32 :8a:e3: 08 : 32 :cb:f0:
     45 :f2:fa:f9: 66 :2e:e8: 79 :a7:d6:bc: 95 :2d:d9:c1:
     db:7e: 59 :7b:c7: 99 : 44 :9f: 15 : 63 : 97 :0b:f8:e7: 84 :
     46 :2f: 67 : 51 :5e:3f: 50 :2b:6b: 62 : 37 : 76 :9f:b3:5f:
     eb:8d:d7:c7: 94 :a9:e5:5d:4c: 62 : 08 : 81 :e4:3e:e0:
     20 :e6:ee: 51 : 32 :2a:bf:ef:d7: 35 :e9: 72 : 21 : 03 :9c:
     b5:5c: 11 : 83 : 77 :3f:a5:6b: 06 : 15 : 58 : 57 :6c: 74 :3e:
     14 :db: 06 : 41 :5b:d3: 92 : 36 :f4:f4:6a:f1:a9:da: 86 :
     e7: 39 :7e:2a:de:e5:fd:de:3e:ec:af: 22 :b9:ec: 16 :
     c6:2b

生成自签证书

wKioL1MZ4EmjfNjKAAKXYQl3A_k357.jpg

   其中req为表示创建证书的命令,-new表示创建一个新的证书,-x509表示创建证书的格式,-key创建私钥,-out证书的保存位置,-days表示证书的有效期限

   创建文件,并为证书编号

1
2
[root@station125 tls]# touch index.txt serial crlnumber
[root@station125 tls]# echo  01  > serial

 2)、用户申请证书的流程

    在主机上生成密钥,保存至应用此证书的服务的配置文件目录下, 本文以http为例;

1
2
[root@station125 tls]# mkdir /etc/httpd/ssl
[root@station125 tls]# cd /etc/httpd/ssl/

    用户生成私钥

1
2
3
4
5
[root@station125 ssl]# (umask  077 ; openssl genrsa -out httpd.key  1024 )
Generating RSA  private  key,  1024  bit long modulus
..++++++
...............................++++++
is  65537  ( 0x10001 )

  生成证书签署请求,与生成自签名证书类似

wKioL1MZ40CzU7NTAAKdISGnxOo023.jpg

  用户将自己生成的httpd.csr文件传输给证书颁发机构

 证书颁发机构签署证书

1
[root@station125 tls]# openssl ca - in  http.crs -out http.crt -days  3650

 证书颁发机构将生成的crt证书回传给用户即可

 用户将证书放置在自己的证书服务的路径下

3)、证书的吊销

1
[root@station125 tls]# openssl ca -revoke httpd.crt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值