大佬教程收集整理的这篇文章主要介绍了CentOS6.5下openssl加密解密及CA自签颁发证书详解,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
正文
openssl是一个开源程序的套件、这个套件有三个部分组成、一是libcryto、这是一个具有通用功能的加密库、里面实现了众多的加密库、二是libssl、这个是实现ssl机制的、他是用于实现TLS/SSL的功能、三是openssl、是个多功能命令行工具、他可以实现加密解密、甚至还可以当CA来用、可以让你创建证书、吊销证书、这里我们用opensslenc对一个文件进行加密看看:
# openssl enc -des3 -a -salt -in /etc/fstab -out /tmp/fstab.cipher 加密
# cat /tmp/fstab.cipher
# openssl enc -d -des3 -a -salt -in /tmp/fstab.cipher -out/path/to/fstab.cipher 解密
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105181539400">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105181512989">
单向加密、也叫hash算法:(One-Way加密)
用不生成数据指纹的、也叫数据摘要算法、输出是定长的、MD5是128位定长输出、SHA1定长输出160位、他的特性是不会出现碰撞的、每位数据只要有一位不一样就会产生巨大的变化、我们称这种为雪崩效应、常用的算法MD5、SHA1、SHA512、常用工具有sha2sum、md5sum、cksum、openssldgst。
# sha1sum fstab
# openssl dgst -sha1 fstab
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105181556061">
信息摘要码:
MAC(message Authentication CodE):通常应用于实现在网络通信中保证所传输的数据完整性、他的基本方式就是基于MAC将要通信的数据使用单向加密的算法获取定长输出、而后将这定长输出安全可靠的送达到接收方的一种机制、简单来讲我们客气端发送数据给服务器时、客户端会计算这段数据的特征码、并而将这段特征码发送给服务器端、但是这种特征码不能简单的这样传送过去、他要基于MAC、调用单向加密计算这段特征码、而后将加密的结果发送给服务器端、保证特征码不会被人修改、这是单向加密的一种实现、一种延伸应用;
他的常用算法有:CBC-MAC、HMAC
对于openssl来讲、如果你是客户端、他可以帮我们生成密钥对、帮我们生成证书申请、如果是发证方、他可以帮发证方自签证书、还可以签署证书、还可以生成吊销列表、当然大范围内全球内使用openCA。
那接下来我们就用openssl完成证书生成、签署、颁发以及吊销等功能:
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105181642361">
实现步骤:
首先自己得有一个证书、那就先自签一个证书、用openssl实现私有CA、CA的工作目录都是在/etc/pki/CA下、而CA的配置文件在/etc/pki/tls/openssl.cnf这个文件中。
生成CA私钥、这里要注意、公钥是按某种格式从私钥中提取出来的、公钥和私钥是成对的、生成私钥也就有了公钥:
# (umask 077; openssl genrsa -out private/cakey.pem 2048)
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105181722282">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105181751453">
# opensslreq -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182057531">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182130307">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182201039">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182242550">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182313548">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182337478">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182400504">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182425355">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182452265">
这个证书制作好后我们就可以在windows下安装我们制作好的证书了:
第一步:
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182511890">
第二步:
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182546937">
第三步:
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182618281">
第四步:
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182710125">
第五步:
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182848468">
第六步:
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182911687">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182941406">
s.width=650;" src="http://img.code.cc/vcimg/static/loading.png" style="border:none;" src="http://img.blog.csdn.net/20150105182953843">
以上是大佬教程为你收集整理的CentOS6.5下openssl加密解密及CA自签颁发证书详解全部内容,希望文章能够帮你解决CentOS6.5下openssl加密解密及CA自签颁发证书详解所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。