openssl使用_openssl使用指南 - CSDN
精华内容
参与话题
  • openssl使用教程(一)

    万次阅读 2018-06-09 15:05:23
    openssl是一个强大的安全套接字密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其他目的使用openssl整个软件可以...我选择最简单的方式作为介绍:使用opens...

    openssl是一个强大的安全套接字密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其他目的使用。openssl整个软件可以分为三个主要的功能部分:密码算法库、SSL协议库以及应用程序。

    下载和安装openssl

    安装openssl有两种方式,第一种是装上安装包即可运行;第二种是下载源码,自己编译。我选择最简单的方式作为介绍:使用openssl安装包。
    Windows的openssl安装包下载地址:Shining Light Productions
    根据自己的系统,选择合适的版本。
    这里写图片描述
    我下载的版本是1.0.2。个人不推荐使用1.1.0及以后的版本。安装完成后,可以在Windows命令行中输入openssl,然后输入version查看安装的版本。
    在使用openssl之前,还需要设置两个环境变量。假设你将openssl安装在d盘的openssl目录下,那么首先进入该目录下,然后在命令行中输入:

    d:\openssl>set RANDFILE=d:\openssl\.rnd
    d:\openssl>set OPENSSL_CONF=d:\openssl\OpenSSL-Win64\bin\openssl.cfg

    这时你就可以使用openssl。

    常见错误

    在使用openssl时有可能会报错,下面是自己遇到的几个错误。
    1. openssl出现错误:unable to write ‘random state’
    出现这个现象原因是可能没有设置环境变量RANDFILE。

    d:\openssl>set RANDFILE=d:\openssl\.rnd

    2.openssl出现错误:Can’t open C:\Program Files\Common Files\SSL/openssl.cnf for reading,no such file or directory
    出现这个错误的原因是可能没有设置环境变量OPENSSL_CONF

    d:\openssl>set OPENSSL_CONF=d:\openssl\OpenSSL-Win64\bin\openssl.cfg

    openssl.cfg是openssl的配置信息
    3. openssl出现错误:problem creating object tsa_policy1=1.2.3.4.1
    这里写图片描述
    出现这个错误的原因是由于版本,在1.1.0版本就会出现这种情况,而1.0.2不会。因此前面推荐安装时不要选择1.1.0的版本。

    参考文章:

    1. Windows下openssl的下载安装和使用方法
    2. OpenSSL and error in reading openssl.conf file
    3. Howto:Make Your Own Cert With OpenSSL on Windows
    展开全文
  • openssl使用

    2020-10-19 14:26:59
    参考地址:https://segmentfault.com/a/1190000014963014

    用法:

    openssl rsa [inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg]
    [-sgckey] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-engine id] [-des] [-des3] [-idea]

    常用选项:

    -in filename :RSA密钥输入文件,默认读取的是私钥,若指定"-pubin"选项将表示读取公钥。
    -out filename:RSA密钥输出文件
    -text :转换输入和输出的密钥文件格式为纯文本格式
    -noout :不输出任何密钥信息
    -modulus :打印公钥信息
    -check :检查RSA密钥是否完整未被修改过
    -pubin :从输入文件中读取公钥内容,公钥文件可以通过文件中的公钥标识符"-----BEGIN PUBLIC KEY-----“和”-----END PUBLIC KEY-----“来辨别。
    -pubout :从私钥中提取公钥,即从”-in filename"指定的私钥中提取公钥并输出
    -des|-des3|-idea :加密输出文件,使得每次读取输出文件时都需要提供密码。

    成功解析出两个文件的公钥:

    参考地址:https://segmentfault.com/a/1190000014963014

    https://man.linuxde.net/openssl

    展开全文
  • openssl用法详解

    千次阅读 2018-06-02 10:40:05
    OpenSSL 是一个开源项目,其组成主要包括一下三个组件:openssl:多用途的命令行工具libcrypto...1、对称加密对称加密需要使用的标准命令为 enc ,用法如下:openssl enc -ciphername [-in filename] [-out filena...

    OpenSSL 是一个开源项目,其组成主要包括一下三个组件:

    • openssl:多用途的命令行工具

    • libcrypto:加密算法库

    • libssl:加密模块应用库,实现了ssl及tls

    openssl可以实现:秘钥证书管理、对称加密和非对称加密 。

    1、对称加密

    对称加密需要使用的标准命令为 enc ,用法如下:

    openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64]
           [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md]
           [-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]

    常用选项有:

    -in filename:指定要加密的文件存放路径

    -out filename:指定加密后的文件存放路径

    -salt:自动插入一个随机数作为文件内容加密,默认选项

    -e:可以指明一种加密算法,若不指的话将使用默认加密算法

    -d:解密,解密时也可以指定算法,若不指定则使用默认算法,但一定要与加密时的算法一致

    -a/-base64:使用-base64位编码格式

    示例:
    加密:]# openssl enc -e -des3 -a -salt -in fstab -out jiami
    解密:]# openssl enc -d -des3 -a -salt -in fstab -out jiami

    2、单向加密

    单向加密需要使用的标准命令为 dgst ,用法如下:

    openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] [-c] [-d] [-hex] [-binary]
           [-out filename] [-sign filename] [-keyform arg] [-passin arg] [-verify filename] [-prverify
           filename] [-signature filename] [-hmac key] [file...]

    常用选项有:

    [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] :指定一种加密算法

    -out filename:将加密的内容保存到指定文件中

    示例如下:

    单向加密除了 openssl dgst 工具还有: md5sum,sha1sum,sha224sum,sha256sum ,sha384sum,sha512sum

    示例如下:

    3、生成密码

    生成密码需要使用的标准命令为 passwd ,用法如下:

    openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin] [-noverify] [-quiet] [-table] {password}

    常用选项有:

    -1:使用md5加密算法

    -salt string:加入随机数,最多8位随机数

    -in file:对输入的文件内容进行加密

    -stdion:对标准输入的内容进行加密

    示例如下:

    4、生成随机数

    生成随机数需要用到的标准命令为 rand ,用法如下:

    openssl rand [-out file] [-rand file(s)] [-base64] [-hex] num

    常用选项有:

    -out file:将生成的随机数保存至指定文件中

    -base64:使用base64 编码格式

    -hex:使用16进制编码格式

    示例如下:

    5、生成秘钥对

    首先需要先使用 genrsa 标准命令生成私钥,然后再使用 rsa 标准命令从私钥中提取公钥。

    genrsa 的用法如下:

    openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4] [-3] [-rand file(s)] [-engine id] [numbits]

    常用选项有:

    -out filename:将生成的私钥保存至指定的文件中

    -des|-des3|-idea:不同的加密算法

    numbits:指定生成私钥的大小,默认是2048

    一般情况下秘钥文件的权限一定要控制好,只能自己读写,因此可以使用 umask 命令设置生成的私钥权限,示例如下:

    ras 的用法如下:

    openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg]
           [-sgckey] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-engine id]

    常用选项:

    -in filename:指明私钥文件

    -out filename:指明将提取出的公钥保存至指定文件中 

    -pubout:根据私钥提取出公钥 

    示例如下:

    6、创建CA和申请证书

    使用openssl工具创建CA证书和申请证书时,需要先查看配置文件,因为配置文件中对证书的名称和存放位置等相关信息都做了定义,具体可参考 /etc/pki/tls/openssl.cnf 文件。


    (1)、创建自签证书

    第一步:创建为 CA 提供所需的目录及文件

    第二步:指明证书的开始编号

    ]# echo 01 >> serial 

    第三步:生成私钥,私钥的文件名与存放位置要与配置文件中的设置相匹配;

    第四步:生成自签证书,自签证书的存放位置也要与配置文件中的设置相匹配,生成证书时需要填写相应的信息;

    命令中用到的选项解释:

    -new:表示生成一个新证书签署请求

    -x509:专用于CA生成自签证书,如果不是自签证书则不需要此项

    -key:生成请求时用到的私钥文件

    -out:证书的保存路径

    -days:证书的有效期限,单位是day(天),默认是365天

    (2)颁发证书

    在需要使用证书的主机上生成证书请求,以 httpd 服务为例,步骤如下:

    第一步:在需要使用证书的主机上生成私钥,这个私钥文件的位置可以随意定

    第二步:生成证书签署请求

    第三步:将请求通过可靠方式发送给 CA 主机


    第四步:CA 服务器拿到证书签署请求文件后颁发证书,这一步是在 CA 服务器上做的

    查看证书信息的命令为:

    (3)吊销证书

    吊销证书的步骤也是在CA服务器上执行的,以刚才新建的 httpd.crt 证书为例,吊销步骤如下:

    第一步:在客户机上获取要吊销证书的 serial 和 subject 信息 

    第二步:根据客户机提交的 serial 和 subject 信息,对比其余本机数据库 index.txt 中存储的是否一致 

    第三步:执行吊销操作

    第四步:生成吊销证书的吊销编号 (第一次吊销证书时执行)

    ]# echo 01 > /etc/pki/CA/crlnumber

    第五步:更新证书吊销列表

    ]# openssl ca -gencrl -out /etc/pki/CA/crl/ca.crl

    查看 crl 文件命令:

    ]# openssl crl -in /etc/pki/CA/crl/ca.crl -noout -text

     

    原文  http://www.178linux.com/48764

    展开全文
  • OpenSSL的基本使用教程(一)

    千次阅读 2019-08-19 11:17:01
    OpenSSL使用 一、打开openssl 找到OpenSSL安装目录下的bin,执行bin下的“openssl.exe”,用管理员身份运行 结果如下: 二、查看OpenSSL版本和编译参数 命令行输入:version -a 三、RSA密钥操作 1、生成RSA私钥...

    OpenSSL的使用

    一、打开openssl
    找到OpenSSL安装目录下的bin,执行bin下的“openssl.exe”,用管理员身份运行
    在这里插入图片描述
    结果如下:
    在这里插入图片描述
    二、名词解释

    • 什么是CA?
      CA就相当于一个认证机构,只要经过这个机构签名的证书我们就可以当做是可信任的。我们的浏览器中,已经被写入了默认的CA根证书。
    • 什么是证书?
      证书就是将我们的公钥和相关信息写入一个文件,CA用它们的私钥对我们的公钥和相关信息进行签名后,将签名信息也写入这个文件后生成的一个文件。
    • 证书格式(是一种标准):
      x509 这种证书只有公钥,不包含私钥。
      pcks#7 这种主要是用于签名或者加密。
      pcks#12 这种含有私钥,同时也含有公钥,但是有口令保护。
    • 编码方式:
      .pem 后缀的证书都是base64编码
      .der 后缀的证书都是二进制格式
    • 证书:
      .csr 后缀的文件是用于向ca申请签名的请求文件
      .crt .cer 后缀的文件都是证书文件(编码方式不一定,有可能是.pem,也有可能是.der)
    • 私钥:
      .key 后缀的文件是私钥文件

    三、查看OpenSSL版本和编译参数
    命令行输入:

    version -a
    

    在这里插入图片描述
    四、RSA密钥操作
    1、生成RSA私钥:

    genrsa -out rsa_private_key.pem 1024
    

    生成一个名为rsa_private_key.pem文件,用写字板或记事本打开即可,该文件在bin目录下,其中1024是私钥的长度,也可以生成2048等其他长度的私钥。
    (注:OpenSSL 使用 PEM 文件格式存储证书和密钥。PEM 实质上是 Base64 编码的二进制内容,再加上开始和结束行,如证书文件的
    -----BEGIN CERTIFICATE-----

    -----END CERTIFICATE-----)

    在这里插入图片描述
    在这里插入图片描述
    打开rsa_private_key.pem文件,内容如下:在这里插入图片描述其中begin和end之间的为密钥

    若运行时没有使用管理员身份打开,会出现 “ unable to write ‘random state’ ”错误
    2、查看私钥内容
    输入:

    rsa -in rsa_private_key.pem -text -noout
    

    在这里插入图片描述
    3、利用私钥生成公钥:

    rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
    

    在bin目录下生成一个rsa_public_key.pem文件
    在这里插入图片描述在这里插入图片描述
    4、查看公钥内容

    • 读取公钥内容:
    rsa -pubin -in rsa_public_key.pem 
    

    在这里插入图片描述

    • 以文本格式输出公钥内容:
     rsa -pubin -in rsa_public_key.pem -text
    

    在这里插入图片描述

    • 不输出公钥内容:
    rsa -pubin -in rsa_public_key.pem -text -noout
    

    在这里插入图片描述

    五、使用OpenSSL进行文件的加解密
    使用OpenSSL命令行进行文件加解密主要有两种方式
    1、使用密码方式加密或者解密文件(直接对文件进行加解密)
    (1)、加密一个文件:

     enc -e -aes256 -in data.txt -out back.txt
    

    (data.txt是加密前的文件,back.txt是加密后的文件,也可以加密Zip、doc等其他形式的文件)
    解释: enc 表示对文件进行对称加密或解密, -e 表示对一个文件进行加密操作,-aes256 表示使用 aes256 算法进行加密,也可以是base64等加密方式,-in 表示需要被加密的文件,-out 表示加密之后生成的新文件。加密过程中会要求输入一个加密密码,重复输入两次即可完成对文件的加密。注意:输入密码的时候屏幕上没有任何显示,回车,会提示再次输入。输完后回车。
    在这里插入图片描述
    在这里插入图片描述
    (2)、解密一个文件

     enc -d -aes256 -in back.txt -out data.txt
    

    (back.txt是加密的文件,data.txt是解密之后的文件)
    解释: enc 表示对文件进行对称加密或解密, -d 表示对文件进行解密操作,-aes256 表示使用 aes256 算法进行解密,-in 表示需要被解密的文件,-out 表示解密之后生成的新文件,解密一个文件的时候会要求输入加密文件时设置的密码才能进行解密。
    在这里插入图片描述
    在这里插入图片描述
    2、使用密钥方式加密或者解密文件(先生成密钥,再加密)
    (文件为上文生成的含有密钥的.pem文件)
    (1)、 使用 rsa_public_key.pem 公钥加密一个文件 (data.txt 为原始文件,back.txt 为加密之后的文件)

    rsautl -encrypt -inkey rsa_public_key.pem -pubin -in data.txt -out back.txt
    

    在这里插入图片描述
    (2)、使用 rsa_private_key.pem 私钥解密一个文件 (back.txt 为加密的文件,data.txt 为解密之后的文件)

    rsautl -decrypt -inkey  rsa_private_key.pem -in back.txt -out data.txt
    

    在这里插入图片描述

    展开全文
  • openssl使用

    千次阅读 2020-01-30 20:50:37
    openssl genrsa -out rsa_private_key.pem 1024 2、通过私钥生成公钥 openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem 3、对私钥进行pkcs8编码 openssl pkcs8 -in rsa_private_...
  • openssl详细使用教程

    2020-07-30 23:30:03
    在计算机网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。
  • OpenSSL 使用openssl工具搭建私有CA

    千次阅读 2018-05-19 16:17:21
    SSL(安全套接层)是为网络通讯提供安全及数据完整性的一种安全协议,TLS(SSL的继承版本)与SSL在传输层对网络连接进行加密。SSL用以保障在数据传输的安全利用数据加密技术,可确保数据在网络上之传输过程中不会被窃取...
  • 如何查看openssl版本号

    万次阅读 2017-07-12 09:14:17
    注意,以下为centos6.8下 使用如下命令: openssl version 或者 openssl version -a
  • Windows安装使用Openssl

    万次阅读 2018-07-16 01:33:40
    1. OpenSSL官网 官方下载地址: https://www.openssl.org/source/ 2. Windows安装方法 OpenSSL官网没有提供windows版本的安装包,可以选择其他开源平台提供的工具。例如 ...
  • openssl命令详解 常规方式 生成私钥(key文件) openssl genrsa -out client.key 4096 生成签名请求(csr文件) openssl req -new -key client.key -out client.csr 签发证书 openssl x509 -req -days 365 -in...
  • 如何使用openssl生成RSA公钥和私钥对

    万次阅读 2014-02-07 11:31:30
    在ubuntu上要使用openssl的话需要先进行安装,命令如下: sudo apt-get install openssl 安装完成就可以使用openssl了。 首先需要进入openssl的交互界面,在命令行了输入openssl即可; 1)生成RSA私钥: genrsa...
  • nginx -with-openssl 和 with-http-openssl区别

    万次阅读 2016-03-03 11:14:32
    --with-openssl 静态编译openssl库到nginx中 首先按照openssl到某个文件夹 然后编译nginx的时候指定源码目录(非安装目录) -with-http-openssl 是一个选项直接是 which openssl 得到的那个openssl 动态安装
  • linux上安装Openssl步骤详解

    万次阅读 多人点赞 2019-11-17 13:35:41
    1,查看原有系统是否已安装Opensslopenssl version -a系统已经安装了openssl,我们先安装新的版本,然后将环境配置成最新的版本。2,从openssl官网下载最新的稳定版本,https://www.openssl.org/source/ 当前的稳定...
  • OpenSSL下载安装

    万次阅读 2018-08-28 23:06:01
    OpenSSL下载安装 1、下载OpenSSL OpenSSL下载地址:https://oomake.com/download/openssl 这个链接有Windows版和源码版最新版下载地址,可以满足Windows、LInux、Mac OS系统使用。 2、Windows系统安装OpenSSL ...
  • [mac]安装openssl

    万次阅读 2017-05-29 09:57:33
    在苦逼的程序员道路上,坑一直都是那么多,为了使用最新php,真是煞尾苦心,想要在php下使用websocket,依赖openssl。而在安装的过程中又是坑一个个。 下载openssl 到https://github.com/openssl/openssl下,可以...
  • linux升级openssl方法

    万次阅读 2018-03-15 14:06:16
    OpenSSL主要是负责在一些敏感的数据提交上面被广泛使用,不乏大家经常访问的一些网站:支付宝、微信、淘宝、网银、社交、门户等知名网站。官方上面推荐大家将OpenSSL升级到 OpenSSL 1.0.1g 。这不火急火燎的加入的...
  • VS2013中编译openssl的步骤和使用设置

    万次阅读 2015-12-14 15:40:17
    VS2013中编译openssl的步骤和使用设置 一.VS2013中编译openssl的步骤 版本号:openssl-1.0.1e 1.下载 OpenSSL http://www.openssl.org/,并解压到d:\openssl-1.0.1e目录(也可自己指定路径和目录名称) 2.下载 ...
  • 我们在平时的 Linux 运维管理的时候,经常会进行各种数据备份任务。将数据导出然后打包。... 使用 openssl 加密一个文件 (data.zip 为原始文件,back.zip 为加密之后的文件)# openssl enc -e -...
  • 安装opensslopenssl-devel

    万次阅读 2017-02-14 13:53:58
    yum install openssl openssl-devel 方法二、下载源码编译安装 以下借鉴了他人的安装方法。 1.下载 wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz 2.解压 tar zxf openssl-1.0.2h.tar.gz 3.安装 ...
  • Ubuntu安装openssl-devel

    万次阅读 2018-02-22 22:13:27
    最近在做一个微博的数据爬取项目,其中配置环境遇到了问题,使用的是Ubuntu 14.04版本。需要安装openssl-devel,Github上的说明要用yum工具安装,反复安装不上,提示没有repos(回购),最后找到了方法。在Ubuntu...
1 2 3 4 5 ... 20
收藏数 192,088
精华内容 76,835
关键字:

openssl使用