ITPub博客

首页 > IT基础架构 > 网络安全 > 如何生成csr文件

如何生成csr文件

原创 网络安全 作者:hdgara1 时间:2020-07-02 10:37:29 0 删除 编辑

如何生成csr文件

CSR,Certificate Signing Request,是制作SSL 证书的必要步骤。一个 CSR 文件中描述了 SSL 证书持有人的信息(如个人姓名或公司名称)、联系地址等,用于验证 SSL 证书和域名是同一个人持有,以确保网站的合法性。

在申请数字证书之前,您必须先生成证书私钥和证书请求文件(CSR,Cerificate Signing Request),CSR是您的公钥证书原始文件,包含了您的服务器信息和您的单位信息,需要提交给CA认证中心。在生成CSR文件时会同时生成私钥文件,请妥善保管和备份您的私钥。
生成CSR文件时,一般需要输入以下信息(中文需要UTF8编码):
Organization Name(O):申请单位名称法定名称,可以是中文或英文
Organization Unit(OU):申请单位的所在部门,可以是中文或英文
Country Code(C):申请单位所属国家,只能是两个字母的国家码,如中国只能是:CN
State or Province(S):申请单位所在省名或州名,可以是中文或英文
Locality(L):申请单位所在城市名,可以是中文或英文
Common Name(CN):申请 SSL证书的具体网站域名
一. 使用OpenSSL工具生成CSR文件:
openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout myprivate.key -out mydomain.csr

-new 指定生成一个新的CSR,nodes指定私钥文件不被加密, sha256 指定摘要算法,keyout生成私钥, newkey rsa:2048 指定私钥类型和长度,最终生成CSR文件mydomain.csr。
需要输入的信息说明如下:

字段 说明 示例
Country Name ISO国家代码(两位字符) CN
State or Province Name 所在省份 ZheJiang
Locality Name 所在城市 HangZhou
Organization Name 公司名称 HangZhou xxx Technologies, Inc.
Organizational Unit Name 部门名称 IT Dept.
Common Name 申请证书的域名 www.example.com
Email Address 不需要输入
A challenge password 不需要输入

完成命令提示的输入后,会在当前目录下生成myprivate.key(私钥文件)和mydomain.csr(CSR,证书请求文件)两个文件。

在使用openssl工具生成中文证书时需要注意中文编码格式,使用utf8编码,同时需要编译openssl工具时指定支持utf8格式。

如果对中文有需求,推荐您使用keytool工具。

  1. 使用keytool工具生成CSR文件:
  • 1 先生成证书文件keystore, 证书文件中包含密钥, 导出密钥方式请参考  主流数字证书都有哪些格式?

keytool -genkey -alias mycert -keyalg RSA -keysize 2048 -keystore ./mydomain.jks

keyalg是密钥类型,必须是RSA, keysize是密钥长度为2048, alias 是证书别名可自定义, keystore是证书文件保存路径。

首先输入证书保护密码,然后依次输入:

问题 说明 示例
What is your first and last name? 申请证书的域名 www.example.com
What is the name of your organizational unit? 部门名称 IT Dept.
What is the name of your organization? 公司名称 HangZhou xxx Technologies,Ltd.
What is the name of your City or Locality? 所在城市 HangZhou
What is the name of your State or Province? 所在省份 ZheJiang
What is the two-letter country code for this unit? ISO国家代码(两位字符) CN

输入完成后,确认输入内容是否正确:[no]: Y (输入Y)

而后提示输入密钥密码,可以与证书密码一致,如果一致则直接按回车。

  • 2 通过证书文件生成证书请求:

keytool -certreq -sigalg SHA256withRSA -alias mycert -keystore ./mydomain.jks -file ./mydomain.csr

sigalg是摘要算法,使用SHA256withRSA, alias 是别名,必须与2.1步中的别名一致,keystore是证书文件,file是证书请求文件(CSR),而后提示输入证书密码即可以生成mydomain.csr。

需要注意的是:我们对CSR的密钥长度有严格要求,要求是2048位,密钥类型必须为RSA。如果申请证书是多域名或者通配子域名,在“Common Name”或”What is your first and last name?” 字段只需要输入一个域名即可(通配子域名可以输入“*.example.com”等)。

二、 Apache 生成证书请求文件(CSR文件)

(1)方法一( 通过工具)

该方法非常简单,通过我们【数字证书工具–>在线生成CSR工具】进行CSR产生:
1、输入相关参数       

2、点击“生成CSR”按钮,如果上述参数OK,出现如下转换结果,然后复制或下载对应的CSR文件(certreq.csr)和Key文件(mykey.key)

(如果上述”邮箱”参数填写了,那么服务器自动把产生的CSR文件和对应的Key文件发送到您的邮箱)

3、备份私钥并提交证书请求(CSR)

将生成的certreq.csr文件发送给易维信(EVTrust)support@evtrust.com邮箱,备份mykey.key文件,等待证书的签发。
(注意:在您收到证书签发邮件并部署好SSL之前,请不要删除mykey.key文件,以避免私钥丢失而导致证书无法安装。)

(二)方法二 通过命令行

该方法基于命令行方式实现,通过openssl工具进行产生:

(示例中 粗体部分为可自定义部分,可根据实际配置情况相应修改)
1、安装openssl

openssl安装包下载,请参考openssl官方网站:http://www.openssl.org/source/;或其他提供下载的网站。

2、生成私钥

openssl genrsa -out D:\  mykey.key 2048

#运行openssl命令,生成2048位长的私钥mykey.key文件。如果您需要对 mykey.key 添加保护密码,请使用 -des3 扩展命令。Windows环境下不支持加密格式私钥, Linux环境下使用加密格式私钥时,每次重启Apache都需要您输入该私钥密码(例:openssl genrsa -des3 -out mykey.key 2048)。

3、生成证书请求文件(CSR)

openssl req -new -subj “/ CN=www.evtrust.com/OU=”IT Dept”/O=”Shenzhen EVTrust Co.,Ltd.”/L=Shenzhen/ST=Guangdong/C=CN” -key  D:\mykey.key -out  D:\certreq.csr

openssl req -new -key  D:\mykey.key -out  D:\certreq.csr #输入命令后,出车
–>Country Name: #您所在国家的ISO标准代号,中国为CN
–>State or Province Name: //您单位所在地省/自治区/直辖市,比如:Guangdong
–>Locality Name: //您单位所在地的市/县/区 ,比如:Shenzhen
–>Organization Name: //您单位/机构/企业合法的名称 ,比如:Shenzhen EVTrust Co.,Ltd.
–>Organizational Unit Name: //部门名称 ,比如:IT Dept
–>Common Name: //通用名,比如:www.evtrust.com ; 此项必须与您访问提供SSL服务的服务器时所应用的域名完全匹配。
–>Email Address: //您的邮件地址,不必输入,直接回车跳过
–>”extra”attributes //以下信息不必输入,回车跳过直到命令执行完毕。

 

4、备份私钥并提交证书请求(CSR)

将生成的certreq.csr文件发送给易维信(EVTrust)support@evtrust.com邮箱,备份mykey.key文件,等待证书的签发。
(注意:在您收到证书签发邮件并部署好SSL之前,请不要删除mykey.key文件,以避免私钥丢失而导

全球可信CA机构

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31483669/viewspace-2701841/,如需转载,请注明出处,否则将追究法律责任。

全部评论
数安时代(GDCA)是全球可信CA机构,可申请免费ssl证书,提供https证书,ev ssl证书,dv ssl证书,ov ssl证书,代码签名证书和PDF签名证书,以及一站式的ssl数字证书购买服务。

注册时间:2017-08-18

  • 博文量
    90
  • 访问量
    42099