1.openssl 的基础知识
首先openssl的英文是Secure Sockets Laye。安全套接层协议。可以在Internet上提供秘密性传输。
SSL能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议要求建立在可靠的传输层协议(TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的。
高层的应用层协议(例如:HTTP,FTP等)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。
介绍一下常见的加密算法吧。等会会在openssl中使用
对称加密: DES( Data Encrption Standard )、3重DES、AES(Advanced Encrption Standard)、Blowfish
单项加密:MD4、MD5、SHA1、SHA256、CRC(循环冗余校验)
公钥加密:身份认证、数据加密、秘钥交换。RSA、DSA、ElGamal。
我的linux使用的是CentOS7。来看看openssl是否被安装
[root@www ~]# rpm -q openssl
openssl-1.0.1e-51.el7_2.5.x86_64
我提前已经安装好了的。
那查查openssl的命令帮助吧
[root@www ~]# openssl --help
openssl:Error: '--help' is an invalid command.
Standard commands
asn1parse ca ciphers cms
crl crl2pkcs7 dgst dh
dhparam dsa dsaparam ec
ecparam enc engine errstr
gendh gendsa genpkey genrsa
nseq ocsp passwd pkcs12
pkcs7 pkcs8 pkey pkeyparam
pkeyutl prime rand req
rsa rsautl s_client s_server
s_time sess_id smime speed
spkac ts verify version
x509
Message Digest commands (see the `dgst' command for more details)
md2