OpenSSL命令行工具

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介:

  数据的加密解密对于Linux系统来说,是至关重要的一个概念,必须懂的对数据进行保护,上次我们详细说了关于数据加密的种种方式,如公钥加密,单向加密,密钥交换等,以及认证机构CA的存在;而OpenSSL命令就是一个可以帮助我们实现公钥加密,创建私钥,并根据私钥创建出公钥;还可以进行单向加密,生成随机数,对用户的密码进行加密操作;还有一点,就是可以利用OpenSSL自己认证生成私人CA,用户可以根据OpenSSL命令生成CA请求证书,并将此证书发给有公信力的CA进行认证,产生一个CA证书用来证明用户;

  openssl enc:加密解密命令,可以指定加密算法加密文件;

   in filename:加密文件路径;

   out filename:输出的加密文件路径;

   -ciphername:算法名称,des3,des,aes,rc4;

   -e:加密;

   -d:解密;

   -a/-base64:纯文本格式的加密;

   -salt:随机盐;

  加密实例:

  wKioL1mG2WLymlktAABYOysywLk746.jpg-wh_50

  解密实例:

  wKiom1mG2Y7xKobVAABAJyVgdR8671.jpg-wh_50


  openssl rand:生成随机数

   -hex:生成十六进制的随机数;

   -base64:生成纯文本格式的随机数;

   实例:

   wKiom1mG2lKwd71eAAAifs7CnLo024.jpg-wh_50


  openssl dgst:单向加密,只能加密,不能解密;

   -ciphername:指定单向加密算法,sha,md5等;

   实例:

   wKioL1mG2x2hWYj2AAAZmH_myss008.jpg-wh_50


  openssl passwd:用户密码加密;

   openssl passwd -1 -salt (盐可自写)

    openssl passwd [-1] [-salt string]

    实例:

    wKioL1mG3CiTA0B8AAAe264BNGc358.jpg-wh_50


 openssl genrsa:公钥加密,首先创建私钥;

   -out filename:将私钥放入文件中;

   私钥文件最好是将权限设置为600,这样其他用户就无法访问修改,只有创建这个私钥文件的用户  可以访问修改;

   实例:

   wKiom1mG3TKw1IhoAACcc7ugy0c272.jpg-wh_50

  设置权限:

  wKioL1mG3cLTwMgiAAA_s7QEi6A537.jpg-wh_50

  

  openssl rsa:根据私钥文件生成公钥

  一个私钥只能生成同一种公钥,除非私钥文件遭到修改,否则公钥文件不会产生变化;

   -in filename:私钥文件作为输入;

   -out filename:公钥文件作为输出;

   实例:

   wKiom1mG3qvQAcfpAACSoj0Z1Mk457.jpg-wh_50


  建立私有的CA

  建立一个私有的CA文件首先要创建几个固定的CA配置文件,这些配置文件都是在CA专有的配置文件中有对应的位置的,如果要修改文件名的话,也要将CA专有的配置文件/etc/pki/tls/openssl.cnf中的文件名;

  目录级文件:

   /etc/pki/CA/certs

   /etc/pki/CA/newcerts

   /etc/pki/CA/crl

  文本级文件:

   /etc/pki/CA/index.txt

   /etc/pki/CA/serial

  需要在文件serial中输入01,其余文件如果没有就创建,放空即可;

  CA创建的公钥私钥必须放在指定路径下的文件中;

  公钥:/etc/pki/CA/cacert.pem

  私钥:/etc/pki/private/cakey.pem


  创建CA私钥:

  wKiom1mG40SQ8thwAAA8c12Be6w742.jpg-wh_50


  生成自检的证书

  openssl req -new -x509 -key filename -out filename

  -new:生成一个新的证书;

  -x509:当是CA生成这个自签证书时使用x509;

  -key:CA的私钥;

  -out filename:输出的公钥文件即自签证书;

  -days:自签证书的有效期限,以天为单位;

  实例:

  wKioL1mG5Tmg263rAAB3k98XWqU910.jpg-wh_50

  

  CA对外来用户的证书申请,需要经过严格的审核,而在审核过后,CA就可以通过openssl ca来对用户签发证书,证书完成后,发送给用户即可;

  用户的证书申请的生成也同CA的证书生成一样,都是使用openssl req生成的;

  用户将自己生成的证书,发送给CA

  openssl ca -in 用户证书路径 -out 生成的用户证书路径 -days 有效期限


本文转自 wujunqi1996 51CTO博客,原文链接:http://blog.51cto.com/12480612/1954607

相关文章
|
4月前
|
Linux Perl
源码安装openssl遇到的一些问题及解决方式
本文总结了在源码安装openssl过程中遇到的一些问题及其解决方法,包括缺少libssl.so.1.1库文件、缺少Perl模块以及权限不足时如何指定安装目录等问题。
1247 0
|
7月前
|
Linux
Linux安装OpenSSL
Linux安装OpenSSL
108 0
|
编解码 应用服务中间件 Linux
最常见的OpenSSL命令(一)
最通用的SSL工具之一是OpenSSL,它是SSL协议的开源实现。几乎每个平台都有OpenSSL版本,包括Windows,Linux和Mac OS X.OpenSSL通常用于为许多不同平台(包括Apache)创建CSR和私钥。但是,它还有数百种不同的功能,允许您查看CSR或证书的详细信息,比较证书的MD5哈希和私钥(以确保它们匹配),验证证书是否在任何网站上正确安装,并将证书转换为其他格式。可以在此处找到OpenSSL for Windows的编译版本。
499 0
|
应用服务中间件 Linux 网络安全
最常见的OpenSSL命令(二)
最通用的SSL工具之一是OpenSSL,它是SSL协议的开源实现。几乎每个平台都有OpenSSL版本,包括Windows,Linux和Mac OS X.OpenSSL通常用于为许多不同平台(包括Apache)创建CSR和私钥。但是,它还有数百种不同的功能,允许您查看CSR或证书的详细信息,比较证书的MD5哈希和私钥(以确保它们匹配),验证证书是否在任何网站上正确安装,并将证书转换为其他格式。可以在此处找到OpenSSL for Windows的编译版本。
460 0
|
网络安全 Windows
openssl如何在Windows安装?
openssl如何在Windows安装?
1943 0
|
数据安全/隐私保护
|
算法 网络安全 数据安全/隐私保护