OpenSSL介绍

简介:
1. Openssl安装

download: wget http://www.openssl.org/source/openssl-1.0.0-beta4.tar.gz

【查看系统中的openssl情况:which openssl, 找到默认的安装在/usr/bin/openssl目录下】
tar zxvf openssl-1.0.0-beta4.tar.gz
./config
make && make install
 
2. 加密常识
  对称机密与非对称加密
(1) 对称加密采取加密和解密采取同样的密钥,加密速度快,但是密钥的传递是个问题
加密格式: openssl enc 加密算法 -k 密钥 -in 明文 -out 密文
例子:/opt/openssl/bin/openssl enc -des3 -k mykey -in test1.txt -out test1.enc
解密格式: openssl enc 加密算法 -d -k 密钥 -in 密文 -out 明文
例子:/opt/openssl/bin/openssl enc -des3 -d -k mykey -in test1.enc -out test1.out
 
(2)非对称加密
用公钥加密,用私钥解密;公钥都可以获取,私钥自己掌握。传输的密文被获取也无法转换,这样无需传递密钥,又保证了安全。向谁传递内容,则用谁的公钥进行加密。
 
无需传输密钥,但加密速度慢,是对称加密速度的1/1000左右,一般只用于加密少量的数据
 一般分三步:首先生成private/public key, 再用公钥加密明文,最后用私钥解密密文,则得到的便是需要的信息
  <1> 产生密钥对
  生成私钥:/opt/openssl/bin/openssl genrsa -out  private.key 1024
  根据私钥产生公钥: /opt/openssl/bin/openssl rsa -in  private.key -pubout >  public.key
  <2> 用公钥加密明文
/opt/openssl/bin/openssl rsautl -in  test1.txt -out  test1.pk -inkey  public.key -pubin -encrypt
  <3> 用私钥解密
/opt/openssl/bin/openssl rsautl -in  test1.pk -out  test1.open -inkey  private.key -decrypt
 
(3)两种加密方式的结合
用对称加密方式的session key加密大量文件,再用非对称加密的公钥对session key进行加密, 机密后的session key和用session key加密的信息一起传递; 对方再用非对称加密的私钥对已加密的session key进行解密,再用解密后的session key对用对称加密的信息进行解密,最后得到明文。
 
(4) 私钥加密,公钥解密的应用:数字签名和认证(肯定是持有私钥的人签过的文件)
  私钥加密,公钥验证
(5)公钥如何确认是对的呢?即公钥需要证明
公钥如何获取?是否不可伪造,必须引入第三方:证书
CA
 

本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/253872,如需转载请自行联系原作者
相关文章
|
3月前
|
算法 安全 网络安全
Openssl
Openssl
69 0
|
算法 网络安全 数据安全/隐私保护
使用 openssl 生成证书
一、openssl 简介 openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。官网:https://www.openssl.
7352 0
|
4月前
|
网络安全 数据安全/隐私保护
|
编解码 应用服务中间件 Linux
最常见的OpenSSL命令(一)
最通用的SSL工具之一是OpenSSL,它是SSL协议的开源实现。几乎每个平台都有OpenSSL版本,包括Windows,Linux和Mac OS X.OpenSSL通常用于为许多不同平台(包括Apache)创建CSR和私钥。但是,它还有数百种不同的功能,允许您查看CSR或证书的详细信息,比较证书的MD5哈希和私钥(以确保它们匹配),验证证书是否在任何网站上正确安装,并将证书转换为其他格式。可以在此处找到OpenSSL for Windows的编译版本。
442 0
|
应用服务中间件 Linux 网络安全
最常见的OpenSSL命令(二)
最通用的SSL工具之一是OpenSSL,它是SSL协议的开源实现。几乎每个平台都有OpenSSL版本,包括Windows,Linux和Mac OS X.OpenSSL通常用于为许多不同平台(包括Apache)创建CSR和私钥。但是,它还有数百种不同的功能,允许您查看CSR或证书的详细信息,比较证书的MD5哈希和私钥(以确保它们匹配),验证证书是否在任何网站上正确安装,并将证书转换为其他格式。可以在此处找到OpenSSL for Windows的编译版本。
391 0
|
Java PHP 数据安全/隐私保护
关于php的aes加密,openssl和mcrypt一些想说的话
关于php的aes加密,openssl和mcrypt一些想说的话
495 0
|
安全 算法 网络安全