加密、解密详解及CA的实现

2、opensll提供的算法

1)、对称加密算法

DES 3DES AES Blowfish Twofish IDEA RC6 CAST5 Serpent

2)、非对称加密算法

DHA RSA EIGamal DSA

3)、信息摘要算法

MD5 SHA1 SHA512 CRC-32

4)、密钥和证书管理

密钥和证书管理是PKI(Public Key Infrastucture)的一个重要组成部分,OpenSSL为之提供了丰富的功能,支持多种标准。在此基础上,OpenSSL实现了对证书的X.509标准编解码、并提供了一种文本数据库,支持证书的管理功能,包括证书密钥产生、请求产生、证书签发、吊销和验证等功能。OpenSSL提供的CA应用程序就是一个小型的证书管理中心(CA),实现了证书签发的整个流程和证书管理的大部分机制。

3、使用openssl加密、解密数据

1)加密/etc/passwd,放到当前目录下并命名为passwd.openssl。

[root@nmshuishui ~]# openssl enc -des3 -a -salt -in /etc/passwd -out ./passwd.opensslenter des-ede3-cbc encryption password:Verifying – enter des-ede3-cbc encryption password:[root@nmshuishui ~]# lsanaconda-ks.cfg install.log install.log.syslog myiso passwd.openssl scripts soft tmp[root@nmshuishui ~]# cat passwd.opensslU2FsdGVkX1+oXyyFLQ034Ff6lvhFeFiYXi+2THWrHl1T5JRKq6Mvy645SpvsCVmf+JCQxLdJnvGAu3YaQmIYy6biuxRR6e9TKZWt34kd5IJ7BPL71NMj/nAbCkfdju7/R479XedQRIsU2iEQJtgUbJPS08K/gdkUlfXTBxLfOkIpxAtC/HZWcPJvIMWno6+gWnH3eh0YJymWIz9BlxzOWFyddGZZyWU3l5Qn3kOEd+2Wl/iqAbPzEMxz/wLnxCpt8pW2P7sDwixtgDPPxHnlRtfxd8+ETcit5+svAPTTt4NXLjt8ZYqK2xf+Uo20liTUnYWL9S7dH0F+4hV5N0aFmySi5Lu0M5jIe96e5dctA8WiG02L0Hi9nl3JbbXF/Fl7Ns2eC/MdqC5P362/um0BxLwamJGcTqDWTB3ltOpjbqTB2x9+lLjxtnGKE3ZTUSjIEWCbrke/YErHnuQ35W3VmNqskCbNWs2FV1aiPraDa8C0uyElx5r5KYu2JxlSCyesedXDdstk8OZKHTiKJqO2HknPMPdBZpAXbNKnM/uKmmGOVvpJTmLzAvDACInJeNANGZ1lhP7jvNb7/+A8tLhN5Cmnz/VK7NDppUeoxOU9ZfjSMOinTObl8R4iV738EaAwpZooSxGocYA342uN9dCedrbFr7Sk3APP6MAMYXeSvPThgXPQIP9IV9hnDVEhXzqeRNtuOnYUGhMql8wrlrmhGM7ye1LztTiVPHhtNSfxpxinqlGx9PEqy+UdNjgoKF2B2oBX8UzFvn85I8edaKe3LUhb22FoLbAlaiPcCoFUgJb7zYfR3RF6WcOaaNy1jLc83a59Jnrf1jYgT+NQl1S5jCmQHyRtEGNdi517PlgkDSeCLbFtssZvlPcxD2rBS3HX1R0HDmJME9dUq1NzY/I4PfLbjLnIHUTsuage2PWfHxjuLmi14fUi8QotEy8qJcpoLmkS3ds1t/r9gTTldgcB/PmLKTtLNRNGQXAemMMxsVVTMrqwBcao7wtIy+y5d6bkkuonPLfmhEViSnlDq4WU7CZoSVZp+0d5VNL+y0kFExTcPLIZFOtHYUwHMzdup16LYIobul9+ZFG0GnMAZ/dqHGRwUSdswb7+RukJyzR2mCbCwhh0sWuHL5CHeO7UH5pTXyOAkuJHfx8W8s8mIrm1FN7LmpCnePZOM+sEBCbx7aibIvufn53uFT6u9vvYBxLTaDPX+7H4rSx08nvx3IOxLku0aCU/nV/hKwNqR9ycWBD/avDm+d0RRarD3KDUwmM2tRTbUwSslVR5MeXJNOr+TpSQEracAmY5OboXF6g9108kbGyKdhxgJ5nPpc6m7/sh0WnJpwfqfa+bjkJzGKcTHpbmoU2dJGuS+tMCwWj3b6sAwJIGYgJXD5VLfmTBXdfIuyDcqJhqQfoxw92gqSrH4GtbxC8RVImA7Ogmv57KNIMjAcPODwsPz+8pQwGOAE8EeLAFnE79VzWeqc2Xi/J6glAy9TTuOnRDhA1wP1XV60iNUzlOxRuzzZaPRlQR6yIbCWuH6Lid5i6vNIzT1J1pQwYhf/A/dZdtB8S5/B2cFNdzG+0rtQWdFGmhq6mb8V3RwEpaVwIsxDn6TYoFmSgr3FAWin6MA8jAcewG4UYAKYtBZ2zovj0erOcoNfzd8TC6dNhid3dw9EnskeHPdJoE7pNGfAFKE5vCplG5/ooM3Ex+mYUiJRaf0w==

这个时候查看passwd.openssl就不再是用户信息了,而是一堆加密过的序列。

2)passwd.openssl的解密,解密为openssl.out

[root@nmshuishui ~]# openssl enc -d -des3 -a -salt -in ./passwd.openssl -out passwd.outenter des-ede3-cbc decryption password:[root@nmshuishui ~]# lsanaconda-ks.cfg install.log install.log.syslog myiso passwd.openssl passwd.out scripts soft tmp[root@nmshuishui ~]# cat passwd.outroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinsync:x:5:0:sync:/sbin:/bin/syncshutdown:x:6:0:shutdown:/sbin:/sbin/shutdownhalt:x:7:0:halt:/sbin:/sbin/haltmail:x:8:12:mail:/var/spool/mail:/sbin/nologinuucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologingames:x:12:100:games:/usr/games:/sbin/nologin

1)生成密钥对儿

公钥是人人都可以用的,但是私钥一定得自己保存,不能让别人查看,所以当我们创建私钥时,要让其的权限为600,并放在子shell中去执行。这里我们仅生成私钥即可,不需生成公钥,因为私钥很长,公钥是从私钥中按某种格式提取出来的。

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

2)生成自签证书

3)创建需要的文件

[root@nmshuishui CA]# touch index.txt serial crlnumber[root@nmshuishui CA]# echo 01 > serial

2、用openssl实现证书申请

对于旅行,从来都记忆模糊。记不得都去了哪些地方,

加密、解密详解及CA的实现

相关文章:

你感兴趣的文章:

标签云: