加密、解密、openssl的基本应用以及自己创建CA

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

  在现实生活中密码的重要不言而喻,在我们的计算机上密码的更是重中之重,本文主要简单的讲述加密解密的实现机制,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

  由于本人水平有限,欢饮大家批评指正!



本文转自wangfeng7399 51CTO博客,原文链接:http://blog.51cto.com/wangfeng7399/1370098,如需转载请自行联系原作者

相关文章
|
2月前
|
安全 网络安全 区块链
网络安全与信息安全:构建数字世界的防线在当今数字化时代,网络安全已成为维护个人隐私、企业机密和国家安全的重要屏障。随着网络攻击手段的不断升级,从社交工程到先进的持续性威胁(APT),我们必须采取更加严密的防护措施。本文将深入探讨网络安全漏洞的形成原因、加密技术的应用以及提高公众安全意识的重要性,旨在为读者提供一个全面的网络安全知识框架。
在这个数字信息日益膨胀的时代,网络安全问题成为了每一个网民不可忽视的重大议题。从个人信息泄露到企业数据被盗,再到国家安全受到威胁,网络安全漏洞如同隐藏在暗处的“黑洞”,时刻准备吞噬掉我们的信息安全。而加密技术作为守护网络安全的重要工具之一,其重要性不言而喻。同时,提高公众的安全意识,也是防范网络风险的关键所在。本文将从网络安全漏洞的定义及成因出发,解析当前主流的加密技术,并强调提升安全意识的必要性,为读者提供一份详尽的网络安全指南。
|
1月前
|
传感器 安全 物联网
量子加密技术的应用领域有哪些?
量子加密技术的应用领域有哪些?
210 55
|
4月前
|
存储 SQL 安全
网络安全的盾牌:漏洞防护与加密技术的实战应用
【8月更文挑战第27天】在数字化浪潮中,信息安全成为保护个人隐私和企业资产的关键。本文深入探讨了网络安全的两大支柱——安全漏洞管理和数据加密技术,以及如何通过提升安全意识来构建坚固的防御体系。我们将从基础概念出发,逐步揭示网络攻击者如何利用安全漏洞进行入侵,介绍最新的加密算法和协议,并分享实用的安全实践技巧。最终,旨在为读者提供一套全面的网络安全解决方案,以应对日益复杂的网络威胁。
|
22天前
|
存储 安全 网络安全
网络安全的盾与剑:漏洞防御与加密技术的实战应用
在数字化浪潮中,网络安全成为保护信息资产的重中之重。本文将深入探讨网络安全的两个关键领域——安全漏洞的防御策略和加密技术的应用,通过具体案例分析常见的安全威胁,并提供实用的防护措施。同时,我们将展示如何利用Python编程语言实现简单的加密算法,增强读者的安全意识和技术能力。文章旨在为非专业读者提供一扇了解网络安全复杂世界的窗口,以及为专业人士提供可立即投入使用的技术参考。
|
2月前
|
存储 安全 算法
网络安全与信息安全:构建数字世界的防线在数字化浪潮席卷全球的今天,网络安全与信息安全已成为维系现代社会正常运转的关键支柱。本文旨在深入探讨网络安全漏洞的成因与影响,剖析加密技术的原理与应用,并强调提升公众安全意识的重要性。通过这些综合性的知识分享,我们期望为读者提供一个全面而深刻的网络安全视角,助力个人与企业在数字时代中稳健前行。
本文聚焦网络安全与信息安全领域,详细阐述了网络安全漏洞的潜在威胁、加密技术的强大防护作用以及安全意识培养的紧迫性。通过对真实案例的分析,文章揭示了网络攻击的多样性和复杂性,强调了构建全方位、多层次防御体系的必要性。同时,结合当前技术发展趋势,展望了未来网络安全领域的新挑战与新机遇,呼吁社会各界共同努力,共筑数字世界的安全防线。
|
2月前
|
存储 算法 安全
Python 加密算法详解与应用
Python 加密算法详解与应用
49 1
|
2月前
|
SQL 安全 算法
网络安全的盾牌与剑:漏洞防御与加密技术的实战应用
【9月更文挑战第30天】在数字时代的浪潮中,网络安全成为守护信息资产的关键防线。本文深入浅出地探讨了网络安全中的两大核心议题——安全漏洞与加密技术,并辅以实例和代码演示,旨在提升公众的安全意识和技术防护能力。
|
2月前
|
安全 Unix 数据安全/隐私保护
企业级 文件传输加密应用,干货分享
企业级 文件传输加密应用,干货分享
29 0
|
4月前
|
安全 物联网 网络安全
网络安全的屏障与密钥:揭秘网络漏洞、加密技术与安全意识的重要性新技术趋势与应用:区块链、物联网与虚拟现实的未来展望
【8月更文挑战第27天】在数字时代的浪潮中,网络安全成为了我们不可忽视的话题。本文将深入浅出地探讨网络安全中的漏洞问题、加密技术的应用及其重要性,以及提升个人和组织的安全意识的必要性。通过分析常见的网络攻击手段和防御策略,我们将了解到保护信息资产的紧迫性,并掌握一些基础的防护措施。文章还将分享几个实用的代码示例,帮助读者更好地理解加密技术在实际应用中的作用。
|
4月前
|
算法 JavaScript 前端开发
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
对称加密算法解析:DES、AES及其在`pycryptodome` 和 `crypto-js` 模块中的应用
212 1