openssl的加密/解密等基本应用以及利用openssl实现私有CA

时间:2021-05-15 19:17:27

Openssl


openSSL整个软件包大概可以分成三个主要的功能部分:


Libcrupto:密码算法库


Libssl:TLS/SSL协议库,用于实现TLS/ssl的功能


openssl应用程序 多功能命令工具主要包括密钥生成、证书管理、格式转换、数据加密和签名、SSL测试以及其它辅助配置功能。


Openssl的基本应用


对称算法:


特点:


加密和解密使用同一个口令


加密/解密速度快


密钥传输的过程不安全,且容易被破解,密钥管理也比较麻烦。


作用:


用于大量数据的加密


openssl enc实现加密及解密


openssl enc -ciphername [-in filename] [-out filename] [-e] [-d] [-a/-base64] [-salt]


-ciphername:指定要使用加密/解密算法(常用算法:DES、、DES3、AES、Blowfish、Twofish、RC6、CAST5


-in filename:指定要加密/解密的文件


-out filename:指定加密/解密后的结果要保存的文件


-e:加密,且默认情况下为加密


-d:对加密的文件进行解密


-a/-base64:以base64格式输出或保存到指定文件中


-salt:在密码中加入一串字符串,不指定字符串默认为随机字符串


对/etc/sysconfig/network使用DES3加密并保存至/tmp/network.cipher中

加密之前的/etc/sysconfig/network

openssl的加密/解密等基本应用以及利用openssl实现私有CA

openssl的加密/解密等基本应用以及利用openssl实现私有CA



加密之后的文件/tmp/network.cipher

openssl的加密/解密等基本应用以及利用openssl实现私有CA


例:对/tmp/network.cipher进行解密,保存至/tmp/network.clear


openssl的加密/解密等基本应用以及利用openssl实现私有CA

解密后的文件/tmp/network.clear

openssl的加密/解密等基本应用以及利用openssl实现私有CA


单项加密:


特性:


定常输出


One-Way (不可逆)


Collision-free(雪崩效应即数据发生微小的变化结果将会千差万别)


作用:


   确保数据的完整性。


   openssl  dgst 保证数据完整性


   openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] [-out filename]  /path/to/file


                       -md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1:指定要使用的加密算法


                       -out filename:指定将加密的文件保存到指定的文件中


                       /path/to/file:指定要加密的文件


   例:抽取/etc/sysconfig/network的数据特征码保存至/tmp/network.dgst文件中


openssl的加密/解密等基本应用以及利用openssl实现私有CA


单向加密的延伸:


   实现用户认证: openssl passwd


   例:对输入的密码123456加密

openssl的加密/解密等基本应用以及利用openssl实现私有CA


非对称加密:


   特点:


1.每个用户拥用一对密钥加密:公钥和私钥。

2.公钥加密,私钥解密;私钥加密,公钥解密。

3.公钥传输的过程不安全,易被窃取和替换。

4.由于公钥使用的密钥长度非常长,所以公钥加密速度非常慢,一般不使用其去加密。


作用:

1.某一个用户用其私钥加密,其他用户用其公钥解密,实现数字签名的作用。

2.公钥加密的另一个作用是实现密钥交换。


公钥加密:

   常用算法:RSAEIGamal


数字签名:

   常用算法:RSAEIGamalDSA


   例:

   1.首先生成密钥对

openssl的加密/解密等基本应用以及利用openssl实现私有CA

   2.查看公钥

openssl的加密/解密等基本应用以及利用openssl实现私有CA

   3./etc/sysconfig/network文件使用公钥加密保存至/var/network.cipher

openssl的加密/解密等基本应用以及利用openssl实现私有CA

   加密后的文件

openssl的加密/解密等基本应用以及利用openssl实现私有CA

   4.将加密的文件/var/network.cipher解密后保存至/var/network.clear

openssl的加密/解密等基本应用以及利用openssl实现私有CA

   解密后的文件

openssl的加密/解密等基本应用以及利用openssl实现私有CA


CA认证原理:

openssl的加密/解密等基本应用以及利用openssl实现私有CA


Openssl实现私有CA

   所需环境:


               CA服务器 :172.16.251.35/16

               申请证书的客户机:172.16.254.200/16


1.自建CA


   1)生成密钥对

openssl的加密/解密等基本应用以及利用openssl实现私有CA

查看公钥

openssl的加密/解密等基本应用以及利用openssl实现私有CA

2生成自签证书

openssl的加密/解密等基本应用以及利用openssl实现私有CA

3创建所需要的文件

openssl的加密/解密等基本应用以及利用openssl实现私有CA

4初始化序列号为01

openssl的加密/解密等基本应用以及利用openssl实现私有CA

2.openssl实现证书申请

在主机上生成密钥,保存至应用此证书的客户机的服务的配置文件目录下

1)在客户机创建目录/etc/httpd/ssl并切换至其目录下

openssl的加密/解密等基本应用以及利用openssl实现私有CA


2)在客户机生成密钥对

openssl的加密/解密等基本应用以及利用openssl实现私有CA


3生成证书签署请求

openssl的加密/解密等基本应用以及利用openssl实现私有CA

4)将证书请求发给CA
openssl的加密/解密等基本应用以及利用openssl实现私有CA

3.CA签署证书

1)查看传给CA的证书申请

openssl的加密/解密等基本应用以及利用openssl实现私有CA

2)签署证书:

openssl的加密/解密等基本应用以及利用openssl实现私有CA

3将证书传回给请求者(客户机)

openssl的加密/解密等基本应用以及利用openssl实现私有CA

证书签署成功

openssl的加密/解密等基本应用以及利用openssl实现私有CA

4.当客户请求吊销证书时,CA可以吊销证书

openssl的加密/解密等基本应用以及利用openssl实现私有CA










本文出自 “Linux之旅” 博客,请务必保留此出处http://openlinuxfly.blog.51cto.com/7120723/1373480