加密、解密、openssl的基本应用及CA的实现过程

这里我们加密/etc/issue.并保存到当前root家目录下以issue.des3命名

[root@station57 ~]# openssl enc -des -in /etc/issue -e -out /root/issue.des3enter des-cbc encryption password:Verifying – enter des-cbc encryption password:

[root@station57 ~]# lsanaconda-ks.cfgnginx-1.4.5httpdissue.des3

因为是加密过的数据所以我们用cat查看 就是一堆乱码了

[root@station57 ~]# cat /root/issue.des3{c応娗)@euFI\…~_W>/慄k|An-2oX+yMˉ*§E’—*·°IΠFf|~6+rQ

用-d选项查看加密的内容当然这里必须要输入刚刚加密的密码了。

[root@station57 ~]# openssl enc -des -in issue.des3 -d -out issueenter des-cbc decryption password:[root@station57 ~]# cat issueCentOS release 6.4 (Final)Kernel \r on an \mMage Education Learning Services My neme is xuqimin ,this is my computer;

Ok这就是我们在linux中加密一个文件的过程

当然如果我们仅仅是加密一串数据不需要保存也可以这样用

[root@station57 ~]# echo 123 | openssl enc -des3enter des-ede3-cbc encryption password:Verifying – enter des-ede3-cbc encryption password:Salted__???$?d?>??

openssl dgst[-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] [-c][-d] [-hex] [-binary] [-out filename] [-sign filename][-keyform arg] [-passin arg] [-verify filename] [-prverifyfilename] [-signature filename] [-hmac key] [file…]

[root@station57 ~]# openssl dgst -md5 issueMD5(issue)= 3642653878b64529471d7a065bd51448

我们往这个文件里加一个小数据1.来验证一下什么叫md5的雪崩效应。

[root@station57 ~]# echo 1 >> /root/issue[root@station57 ~]# openssl dgst -md5 issueMD5(issue)= b3a7a51a34128a32c6fe7bb193e0160e

2.3 Openssl speed 来测试当前主机的加密速度。

这个命令可以测试你的电脑的加密速度当然也就反映了你电脑的性能了。

我们来测试一下电脑对sha512加密方法的加密速度

[root@station57 ~]# openssl speed sha512Doing sha512 for 3s on 16 size blocks: 2680685 sha512’s in 2.99sDoing sha512 for 3s on 64 size blocks: 2682484 sha512’s in 3.00s….

[root@station57 ~]# openssl passwdPassword:Verifying – Password:Uz1H.qZ3P5JQE[root@station57 ~]# openssl passwdPassword:Verifying – Password:JVA6LkZpAtBFw

我们也可以用这个命令加点参数指定salt的值。其他更多选项详见man sslpasswd

-1:表示使用的加密方式是md5

-salt指定使用的salt

如果两次指定相同的salt结果也就一样了。

[root@station57 ~]# man sslpasswd[root@station57 ~]# openssl passwd -1 -salt hellolinuxPassword:$1$hellolin$U22lq0Cpt4.xQku/mq2G00[root@station57 ~]# openssl passwd -1 -salt hellolinuxPassword:$1$hellolin$U22lq0Cpt4.xQku/mq2G00

可以用这个命令生成一个随机数种子,这个随机数还可以用来充当我们的salt

[root@station57 ~]# openssl rand -hex 3ea177c[root@station57 ~]# openssl rand -hex 1bd[root@station57 ~]# openssl passwd -1 -salt `openssl rand -hex 4`Password:$1$5dedff6c$cPfH/zxH3ixNFs6WfthBT0[root@station57 ~]# openssl passwd -1 -salt `openssl rand -hex 4`Password:$1$4d350d85$gRTZYA6Bubqv1gEutKgD5.

生成一个私钥保存为key.pri然后从私钥中提取出公钥

[root@station57 ~]# openssl genrsa -out key.priGenerating RSA private key, 512 bit long modulus………++++++++++++………++++++++++++e is 65537 (0x10001)[root@station57 ~]# openssl rsa -in key.pri -puboutwriting RSA key—–BEGIN PUBLIC KEY—–MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALMqqinkFOwbb5LQHRXr18oL2Zch4EAiHgkD2jsR7qXdIdJoQlM+CDkeDJV8EnuX7APrQtbnwLl70W9NqqtUdCkCAwEAAQ==—–END PUBLIC KEY—–

主机在网络通信中需要CA为其颁发证书,,那么充当CA的服务器本身的证书有谁来颁发呢?由于我们是自建的所以这里是我们自己的CA自己颁发。因此要自建CA,首先需要CA自己为自己创建一个证书。

这里我们首先要切换到 /etc/pki/CA目录中创建一个私钥

[root@station57 ~]# cd /etc/pki/CA[root@station57 CA]# lscerts crl newcerts private[root@station57 CA]# (umask 077;openssl genrsa -out private/cakey.pem 2048)Generating RSA private key, 2048 bit long modulus…………………………………………………………….+++……………………………………………………………………………………………………………………………………….+++e is 65537 (0x10001)[root@station57 CA]# ll private/cakey.pem-rw——- 1 root root 1679 Mar 8 07:07 private/cakey.pem

我们已经建成了ca的私钥和自签证书,那么根据配置文件中定义的所需要的文件目录,我们还缺少两个文件一个数据库文件和一个序列号文件。创建之…

[root@station57 CA]# touch serial index.txt[root@station57 CA]# echo 01 > serial[root@station57 CA]# lscacer.pem certs crl index.txt newcerts private serial

还记得上一项我们介绍openssl工具使用方法的时候创建的那个申请了不也就是上一项第八个例子。 让我们的CA来为它签字吧。

不要哭,你要努力地往前看,你要相信阳光总在风雨后,你最终会看到彩虹的。

加密、解密、openssl的基本应用及CA的实现过程

相关文章:

你感兴趣的文章:

标签云: