zoukankan      html  css  js  c++  java
  • (转)openssl 命令: openssl req 命令详解

                                      
    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
  • 相关阅读:
    laravel 验证码手机与提交手机的验证?
    微信公众平台开发——微信授权登录(OAuth2.0)
    个人网站可以申请微信授权登录吗
    个人网站可以申请微信授权登录吗?
    个体户微信公众号认证怎么做?无公章
    [微信开发] 没有组织机构代码证、公章怎么认证微信公众号?
    mysql中int、bigint、smallint 和 tinyint的区别详细介绍
    laravel5.6 QQ 第三方登录
    如何给网站的链接设置为绝对地址原文链接
    ArcGIS中文件共享锁定数据溢出 这个方法不行,建议用gdb,不要用mdb
  • 原文地址:https://www.cnblogs.com/wangle1001986/p/11661136.html
Copyright © 2011-2022 走看看