openssl req 证书请求及自签名证书
介绍
openssl req 用于生成证书请求,以让第三方权威机构CA来签发,生成我们需要的证书。req 命令也可以调用x509命令,以进行格式转换及显示证书文件中的text,modulus等信息。如果你还没有密钥对,req命令可以一统帮你生成密钥对和证书请求,也可以指定是否对私钥文件进行加密。
语法
openssl req[-inform PEM|DER] [-outform PEM|DER] [-in filename] [-passin arg] [-out filename] [-passout arg] [-text] [-pubkey] [-noout] [-verify] [-modulus] [-new] [-rand file(s)] [-newkey rsa:bits] [-newkey alg:file] [-nodes] [-key filename] [-keyform PEM|DER] [-keyout filename] [-keygen_engine id] [-[digest]] [-config filename] [-subj arg] [-multivalue-rdn] [-x509] [-days n] [-set_serial n] [-asn1-kludge] [-no-asn1-kludge] [-newhdr] [-extensions section] [-reqexts section] [-utf8] [-nameopt] [-reqopt] [-subject] [-subj arg] [-batch] [-verbose] [-engine id]
-new
这个选项用于生成一个新的证书请求,并提示用户输入个人信息。如果没有指定-key 则会先生成一个私钥文件,再生成证书请求。
- E:\OpenSSL\foo>openssl req -new -key rsa_pri_nopw.pem -out crs.pem
- Loading 'screen' into random state - done
- You are about to be asked to enter information that will be incorporated
- into your certificate request.
- What you are about to enter is what is called a Distinguished Name or a DN.
- There are quite a few fields but you can leave some blank
- For some fields there will be a default value,
- If you enter '.', the field will be left blank.
- -----
- Country Name (2 letter code) [AU]:CN
- State or Province Name (full name) [Some-State]:HeBei
- Locality Name (eg, city) []:SJZ
- Organization Name (eg, company) [Internet Widgits Pty Ltd]:CCIT
- Organizational Unit Name (eg, section) []:CCIT
- Common Name (eg, YOUR name) []:fym
- Email Address []:fym0121@163.com
- Please enter the following 'extra' attributes
- to be sent with your certificate request
- A challenge password []:
- An optional company name []:
- E:\OpenSSL\foo>ls
- crs.pem
- rsa_pri_nopw.pem
没有指定-key选项时,会生成私钥文件,默认是有密码保护的,-nodes(no des),可以明确指定不需要密码保护。-keyout可以指定生成的私钥文件名,-pubout可以指定生成的公钥文件名
- openssl req -new -out crs.pem
- openssl req -new -out crs.pem -nodes
-subj 替换或指定证书申请者的个人信息
格式是:/type0=value0/type1=value1/type2=...(其中C是Country,ST是state,L是local,O是Organization,OU是Organization Unit,CN是common name)
- E:\OpenSSL\foo>openssl req -new -key rsa_pri_nopw.pem -out crs.pem -subj /C=CN/S
- T=HB/L=SJZ/O=CCIT/OU=CCIT/CN=fym/emailAddress=fym0121@163.com
- Loading 'screen' into random state - done
-newkey arg 生成私钥和证书请求,类似与-new
arg的格式是rsa:nbit ,还有几个格式,我只能看懂这个
- openssl req -newkey rsa:1024 -out crs.pem
-xf09 生成自签名证书
- openssl req -newkey rsa:1024 -x509 -nodes -out selfsing.pem
-config 指定配置文件,参见config
产生自签名的root CA
1、建立目录结构(参加ca directory structure)
假设当前工作目录为E:\OpenSSL\foo,在此目录下建立以下目录结构
- E:\OpenSSL\foo>mkdir demoCA
- E:\OpenSSL\foo>mkdir demoCA\private demoCA\newcerts
在demoCA目录下建立两个空文件,serial和index.txt,并向serial文件中写入"01"两个字符
2、产生自签名证书,作为root ca使用
- E:\OpenSSL\foo>openssl req -new -x509 -keyout cakey.pem -out cacert.pem
提示输入密码保护私钥,和自签名root ca的信息。生成两个文件,将cakey.pem放到demoCA\private目录下,将cacert.pem放到demoCA目录下。
- E:\OpenSSL\foo>move cacert.pem demoCA
- E:\OpenSSL\foo>move cakey.pem demoCA\private
至此,root ca已经建立完毕。
证书请求及签名
1、生成请求
- E:\OpenSSL\foo>openssl req -new -nodes -out req.pem
提示输入个人信息,最后生成req.pem证书请求文件。
2、签名,生成证书
- E:\OpenSSL\foo>openssl ca -in req.pem -out newcert.pem
- Using configuration from e:\OpenSSL\bin\openssl.cfg
- Loading 'screen' into random state - done
- Enter pass phrase for ./demoCA/private/cakey.pem:
- Check that the request matches the signature
- Signature ok
openssl req 证书请求及自签名证书的更多相关文章
- openssl 证书请求和自签名命令req详解
1.密钥.证书请求.证书概要说明 在证书申请签发过程中,客户端涉及到密钥.证书请求.证书这几个概念,初学者可能会搞不清楚三者的关系,网上有的根据后缀名来区分三者,更让人一头雾水.我们以申请证书的流程说 ...
- (11) openssl req(生成请求证书、私钥和自建CA)
伪命令req大致有3个功能:生成证书请求文件.验证证书请求文件和创建根CA. 由于openssl req命令选项较多,所以先各举几个例子,再集中给出openssl req的选项说明.若已熟悉opens ...
- [https][openssl] OpenSSL 公钥、私钥以及自签名证书
转自:https://www.zybuluo.com/muyanfeixiang/note/392079 简介 公钥私钥用来互相加解密的一对密钥,一般是采用RSA非对称算法.公钥加密的私钥能解密,私钥 ...
- 解决linux netcore https请求使用自签名证书忽略安全检查方法
当前系统环境:centos7 x64. dotnet 2.0. 不管是 ServicePointManager.ServerCertificateValidationCallback = (a, b, ...
- ubuntu google chrome 忽略证书错误 -- 解决自签名证书不支持的问题
ubuntu chrome 打开自签名的证书的服务器的https时,提示 Your connection is not private. 错误代码:NET::ERR_CERT_AUTHORITY_IN ...
- 8.openssl req
数字证书申请和生成工具.也可以为根CA自行签署证书. 该命令中很多值.属性.格式或默认值都在config文件openssl.cnf中指定. [root@xuexi ~]# man req NAME r ...
- (转)openssl 命令: openssl req 命令详解
openssl req命令主要的功能有,生成证书请求文件, 查看验证证书请求文件,还有就是生成自签名证书.本文就主要记录一下open ...
- openssl req(生成证书请求和自建CA)
伪命令req大致有3个功能:生成证书请求文件.验证证书请求文件和创建根CA.由于openssl req命令选项较多,所以先各举几个例子,再集中给出openssl req的选项说明.若已熟悉openss ...
- openssl req(生成证书请求和自建CA)(转)
openssl req(生成证书请求和自建CA) 伪命令req大致有3个功能:生成证书请求文件.验证证书请求文件和创建根CA.由于openssl req命令选项较多,所以先各举几个例子,再集中 ...
随机推荐
- MFC中页面设置对话框CPageSetupDialog
void CCPageSetupDialogView::OnPageSetting() { CPageSetupDialog dlg; // 利用默认参数构造页面设置对话框 if(dlg.DoModa ...
- python用post访问restful服务接口
具体代码如下: import requests import json data={"]} url="http://XXXXX" data_json = json.dum ...
- 调用百度、高德地图App,百度地图网页版,App定位
https://www.jianshu.com/p/296a3995adc2 https://blog.csdn.net/qq_26598821/article/details/51087785 ht ...
- 转: wireshark过滤语法总结
from: http://blog.csdn.net/cumirror/article/details/7054496 wireshark过滤语法总结 原创 2011年12月09日 22:38:50 ...
- PHP Manager for IIS
SOAP error on IIS8 Registering new PHP version sets bad values set for FastCGI activityTimeout, requ ...
- [Spring Boot] @Component, @AutoWired and @Primary
Spring boot is really good for Dependencies injection by using Autowiring. Each class instancse in s ...
- Android 模仿微信启动动画
本文内容 环境 项目结构 演示微信启动动画 本文演示微信启动动画.请点击此处下载,自行调试. 顺便抱怨一下,实践性(与研究性质的相对)技术博的"七宗罪": 第一宗罪,错字连篇,逻辑 ...
- Android Context完全解析,你所不知道的Context的各种细节
Context相信所有的Android开发人员基本上每天都在接触,因为它太常见了.但是这并不代表Context没有什么东西好讲的,实际上Context有太多小的细节并不被大家所关注,那么今天我们就来学 ...
- android中使用toolbar
系统默认使用的是ActionBar,就是界面中的标题栏,但是由于ActionBar设计的原因,被限定只能位于活动的顶部,从而不能实现Material Design效果,所以官方建议使用Toolbar替 ...
- Java 通过 jacob调用OCX控件
安装好要调用的ocx驱动,并通过注册表查询其对应的clsid. 下载jacob-1.18解压,将jacob-1.18-x86.dll文件复制到D:\Program Files (x86)\Java\j ...