openssl加密、解密及建立私有CA

OpenSSL:俗称安全套接字

它可以实现数据加密:

SSL全称为:Secure Socket Layer可以在Internet上提供秘密性传输,其目标是保证两个应用间通信的保密性和可靠性,SSL能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议要求建立在可靠的传输层协议(TCP)之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。

一、OpenSSL加密解密的种类及对应的算法

1、对称加密:使用同一种算法同一个密码对数据进行加密解密;

算法:DES、3DES、AES、Blowfish、Towfish、IDEA、RC6、CAST5

2、非对称加密之公钥加密:公钥从私钥中提取而来,使用私钥加密的文件,只能使用公钥解密,反        之亦然;

算法:RSA、 DSA、 ELGamal、 DH

3、非对称加密之单向加密:只能加密,不能解密,用于提取数据的特征码。

算法:md5、 sha系列256、384、512、128

二、OpenSSL一次加密通信的过程:

发送者:

1.使用单向加密算法提取数据特征码

2.使用自己的私钥加密特征码附加在数据后面

3.生成用于对称加密的临时密钥

4.用此临时密钥加密数据和已经使用私钥加密后的特征码

5.使用接收方的公钥加密此临时密钥,附加在对称加密后的数据后放

接受者:

  1. 使用自己的私钥解密加密的临时密钥,从而获取对称密钥

2.使用对称密钥解密对称加密的数据和私钥加密的特征码密文,从而获得数据和特征码密文           3.使用对方发送的公钥解密特征码密文,从而获得数据特征码

4.使用与对方同样的党项加密算法计算出数据特征码,并与解密而来的特征码进行比较

三、OpenSSL

OpenSSL 是一个强大的安全套接字层密码库,包括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

  1. 组成部分:

(1)libcrypto:加密、解密库文件;

(2)libssl: ssl协议实现

(3)openssl:多用途命令行工具,每种功能都使用专用的子命令来实现

2.openssl命令使用格式

openssl command [options] [csr_file] [options] [crt_file] [options]

#openssl+子命令+选项+参数

3.命令的分类:

标准命令

消息摘要命令

加密、解密相关的命令

4.可以通过输入openssl a 回车可以查看子命令

可以再次使用man命令来查看子命令的用法

四、使用OpenSSL加密、解密文件

1.对称加密

使用enc工具:

加密:# openssl enc -e -CIPHERNAME -a -salt -in /PATH/FROM/SOMEFILE -out /PATH/TO/SOMECIPHERFILE

解密:# openssl enc -d -CIPHERNAME -a -salt -in /PATH/FROM/SOMECIPHERFILE -out /PATH/TO/SOMEFILE

单向加密:

提取文件特征码

# openssl dgst -CIPHER /PATH/TO/SOMEFILE...

生成用户密码:

# openssl passwd -1 -salt 8bits随机数

-1:默认为md5算法

生成随机数:

# openssl rand -hex|-base64 NUM

-base64:文本编码

NUM:生成位数

可以使用生成的随机数来生成密码:

 

密码自动保存在/etc/shadow

公钥加密生成密钥对儿:

操作过程:生成私钥

# openssl genrsa -out /PATH/TO/PRIVATE_KEYFILE NUM_BITS

            从私钥中手动提取公钥:

# openssl rsa -in /PATH/FROM/PRIVATE_KEY_FILE -pubout

时间: 2024-10-31 04:57:54

openssl加密、解密及建立私有CA的相关文章

openssl加解密原理及私有CA的建立

一.openssl加解密原理 数据加密解密过程数据加密需要实现的功能:数据私密性,数据完整性,身份认证和秘钥交换. 美国NIST,为了计算机的安全,提出了几个要求: 1.数据保密性   数据保密性   隐私性 2.完整性    数据完整性   系统完整性 3.可用性 4.真实性 && 可追溯性 OSI:x.800  安全攻击:   被动攻击:窃听   主动攻击:伪装.重播.消息修改.拒绝服务  安全机制:   加密.数字签名.访问控制.数据完整性.认证交换.流量填充.路由控制.公证  安全

加密解密基础及私有CA的实现-2015092801

1. 加密解密简述 2.加密算法 3.加密解密步骤 4.使用openssl自建私有CA 加密解密基础: 由于互联网的数据传输基本上都是明文的(如ftp.http.telnet等),而往往有些数据在互联网传输对于传输方来讲,确实涉及隐私或是一些敏感的内容不想让互联网上其他人看到,因此,引入了加密的机制. 最早起的加密,采用移位的方式对数据进行加密,如数据数"abcd",其对应的在互联网上传输的内容是"efgh".后来的加密方式是采用"密码对照本",

Openssl加密文件及创建私有CA及证书

# cat /etc/redhat-release  CentOS release 6.6 (Final) # uname -r 2.6.32-504.el6.x86_64 首先我们先演示加密文件的方式: 拷贝一个文件到当前目录,使用openssl enc命令进行加密文件测试. 加密所用到的选项 # -e --> 加密选项 # -d --> 解密选项 # -des3 --> 选择加密的算法 # -a --> 基于文件进行编码 # -salt --> 自动添加杂质 # -in 

加密、解密   以及OpenSSL建立私有CA

加密.解密,以及OpenSSL建立私有CA 加密技术是互联网最常用的安全保密手段,其利用技术手段把重要的数据加密后传送,到达目的地后再用相同或不同的手段进行解密. 加密技术包括两个元素:算法和密钥 常用的加密技术:对称加密.非对称加密.单向加密 以上几种加密技术各有千秋,经常组合起来使用 1.对称加密 加密和解密使用同一个密钥,将明文分隔成固定大小的块,逐个进行加密: 常见算法:DES  3DES  Twofish  IDEA  IDEA  CAST5  RC6 Blowfish 2.非对称加密

加密、解密以及OpenSSL建立私有CA

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用.大多数开源程序,商业软件加密核心都是基于openssl实现的. 数据安全性的基本法则: (1)数据的保密性:信息加密就是把明码的输入文件用加密算法转换成加密的文件以实现数据的保密.加密的过程需要用到密钥来加密数据然后再解密.没有了密钥,就无法解开加密的数据.数据加密之后,只有密钥要用一个安全的方法传送.加密过的数据可以公开地传送. (2)完整性:

加密、解密,以及OpenSSL建立私有CA

概述: 理论部分主要介绍了: 对称加密.非对称加密.单向加密.密钥交换.CA.PKI 操作部分主要有: 对称加密.非对称加密.单向加密的实现,已经openssl常用功能,生成密码.生成随机数已经使用openssl创建私有CA 系统环境说明: [[email protected] ~]# cat /etc/redhat-release  CentOS release 6.6 (Final) [[email protected] ~]# uname -rm 2.6.32-504.el6.x86_64

openssl的加密、解密以及构建私有CA

SSL.TLS介绍: SSL:安全套接字(Secure Socket Layer,SSL)协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密. TLS:安全传输层协议(Transport Layer Security)用于在两个通信应用程序之间提供保密性和数据完整性.该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake).较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面,与具体

openssl 加密 解密 应用及CA的实现

一 现在的加密/解密技术主要有三种:对称加密,公钥加密,和单向加密 对称加密:指的是加密方和解密方使用的是同一个密钥 特性: 1 加密.解密使用同一个秘钥: 2 将原始数据分割成固定大小的块,逐个进行加密 算法:DES  3DES  AES 公钥加密:秘钥是成对出现 公钥:公开给所有人: pubkey 私钥:自己留存,必须保证去私密性:secret key 特点:用公钥加密的数据只能用与之配对的私钥解密,反之亦然: 特性: 数字签名:用于接收方确认发送方的身份 秘钥交换:发送方用对方的公钥加密一

基于ssl协议和openssl工具建立私有CA

前言 要自建CA需先了解openssl工具和ssl协议还有各加密类型 ssl(Secure Socket Layer)安全套接字层当前版本为3.0,浏览器与Web服务器之间的身份认证和加密数据传输,它工作在传输层和各应用层之间,用户可以选择是否使用ssl进行传输,选择ssl协议将调用ssl函数库,端口也会发生变化. 加密类型 对称加密:任意加密数据块和流的内容,加密和解密用同一个密码, 通常明文通过算法和密钥生成密文,再由接受者用相同的密钥和算法解密获取明文. 算法:(DES.3DES.AES现