openssl req命令主要的功能有,生成证书请求文件, 查看验证证书请求文件,还有就是生成自签名证书。
本文就主要记录一下openssl命令选项的意义,并记录一下简单的命令示例。
首先说明下生成证书请求需要什么:申请者需要将自己的信息及其公钥放入证书请求中。但在实际操作过程中,
所需要提供的是私钥而非公钥,因为它会自动从私钥中提取公钥。另外,还需要将提供的数据进行数字签名
(使用单向加密),保证该证书请求文件的完整性和一致性,防止他人盗取后进行篡改,
主要命令选项:
     -new    :说明生成证书请求文件
     -x509   :说明生成自签名证书
     -key    :指定已有的秘钥文件生成秘钥请求,只与生成证书请求选项-new配合。
     -newkey :-newkey是与-key互斥的,-newkey是指在生成证书请求或者自签名证书的时候自动生成密钥,
              然后生成的密钥名称由-keyout参数指定。当指定newkey选项时,后面指定rsa:bits说明产生
              rsa密钥,位数由bits指定。 如果没有指定选项-key和-newkey,默认自动生成秘钥。
     -out    :-out 指定生成的证书请求或者自签名证书名称
     -config :默认参数在ubuntu上为 /etc/ssl/openssl.cnf, 可以使用-config指定特殊路径的配置文件
     -nodes  :如果指定-newkey自动生成秘钥,那么-nodes选项说明生成的秘钥不需要加密,即不需要输入passphase.  
     -batch  :指定非交互模式,直接读取config文件配置参数,或者使用默认参数值     
命令示例:
1.
#生成自签名证书,证书名client.crt,采用自动生成秘钥的方式,指定生成秘钥长度为1024,加密,秘钥文件client.key.
openssl req -x509 -newkey rsa:1024 -out client.crt -keyout client.key -batch -nodes  
#上面的命令加上-new选项是同样的执行效果
openssl req -new -x509 -newkey rsa:1024 -out client.crt -keyout client.key -batch -nodes  
2.
#生成自签名证书,证书名client.crt,指定秘钥文件,秘钥文件为rsa_private_key.pem。
openssl req -new -x509 -key ./rsa_private_key.pem -out client.crt -nodes -batch
#注意下面命令不能正确执行,不加-new 命令貌似不能指定秘钥文件
openssl req -x509 -key ./rsa_private_key.pem -out client.crt -nodes -batch
3.
#指定秘钥文件pri_key.pem,生成证书请求文件 req.csr
openssl req -new -key pri_key.pem -out req.csr
#使用req命令,以文本方式查看刚生成的证书请求文件
openssl req -in req1.csr -text
#查看证书请求文件的公钥, 这个公钥就是从pri_key.pem私钥文件导出的公钥
openssl req -in req1.csr -noout -pubkey
下列选项和-noout选项配合分别查看证书请求文件的部分内容
-noout -pubkey   #查看证书请求文件的公钥
-noout -subject  #查看证书请求文件的个人信息部分
最后可以通过man req 查看详细的openssl req的详细信息。
————————————————
版权声明:本文为CSDN博主「花括号」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/abccheng/article/details/82622899

(转)openssl 命令: openssl req 命令详解的更多相关文章

  1. linux管道命令grep命令参数及用法详解---附使用案例|grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  2. linux mount命令参数及用法详解

    linux mount命令参数及用法详解 非原创,主要来自 http://www.360doc.com/content/13/0608/14/12600778_291501907.shtml. htt ...

  3. 【转】linux expr命令参数及用法详解

    在抓包过程中,查看某个设定时间内,数据上下行多少,用命令expr 计算! --------------------------------------------------------------- ...

  4. linux useradd(adduser)命令参数及用法详解(linux创建新用户命令)

    linux useradd(adduser)命令参数及用法详解(linux创建新用户命令) useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号 ...

  5. linux dmesg命令参数及用法详解(linux显示开机信息命令)

    linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信 ...

  6. linux sed命令参数及用法详解

    linux sed命令参数及用法详解 http://blog.csdn.net/namecyf/article/details/7336308 1. Sed简介 sed 是一种在线编辑器,它一次处理一 ...

  7. Linux Bash命令关于程序调试详解

    转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...

  8. linux dd命令参数及用法详解---用指定大小的块拷贝一个文件(也可整盘备份)

    linux dd命令参数及用法详解---用指定大小的块拷贝一个文件 日期:2010-06-14 点击:3830 来源: 未知 分享至:            linux dd命令使用详解 dd 的主要 ...

  9. (转)linux expr命令参数及用法详解

    linux expr命令参数及用法详解 原文:http://blog.csdn.net/tianmohust/article/details/7628694 expr用法 expr命令一般用于整数值, ...

  10. (转)Linux命令之Ethtool用法详解

    Linux命令之Ethtool用法详解 原文:http://www.linuxidc.com/Linux/2012-01/52669.htm Linux/Unix命令之Ethtool描述:Ethtoo ...

随机推荐

  1. 下载MySQL的rpm包安装MySQL

    cd /usr/local/src wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-community-server-5.7.27-1.el ...

  2. web端生成的带有echarts图表的html页面,嵌入在(javaFx)webview中显示错位问题

    web项目需要嵌入到手机APP的webview里面以及 windows客户端应用(JavaFx)的webview里面,这个时候就出现了问题. echarts渲染的时候根据浏览器不同的内核显示是有区别的 ...

  3. c#EntityFrameworkcodeFirst模式

    一.首先定义数据类 [DataContract(Namespace="http://www.cninnovation.com/Services/2012")]  public cl ...

  4. JS全屏事件 模拟键盘事件F11 兼容IE

    方法1: // 全屏 //el为全屏对象 fullScreen(el) { var rfs = el.requestFullScreen || el.webkitRequestFullScreen | ...

  5. HTTPS加密原理与过程

    HTTPS加密原理与过程 HTTP 超文本传输协议一种属于应用层的协议 缺点: 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文的完整性,所以有可能已遭篡 ...

  6. Json解析报错: Error is : Unescaped control character...的解决方法

    在利用json-framework来实现json解析的过程时,会出现"-JSONValue Failed. Error is : Unescaped control character&qu ...

  7. hackthebox通关手记(持续更新)

    简介: 花了点时间弄了几道题目.以前我是用windows渗透居多,在kali linux下渗透测试一直不怎么习惯.通过这几天做这些题目感觉顺手多了.有些题目脑洞也比较大,感觉很多也不适合于实际的环境 ...

  8. DTM/DEM/DSM/DOM/DLG

    一.DTM (Digital Terrain Model) 数字地面模型是利用一个任意坐标系中大量选择的已知x .y .z 的坐标点对连续地面的一个简单的统计表示,或者说,DTM 就是地形表面形态属性 ...

  9. KVM虚拟化简介及安装

    kvm是基于图形化的linux操作的 安装图形化界面的知识点: 磁盘空间有两个词: 精简置备:我先在我系统里面去声明我要一个50G的空间,但是呢,我不会把50G都分给你,你用多少,我分给你多少,但是做 ...

  10. 隐马尔可夫模型中基于比例因子的前向算法(java实现)

    直接上干货哈,其他子算法,后续补上.                                                                  System.out.print ...