如何制作CSR(证书私钥和证书请求文件)文件?

赞赏 2017-07-24

在申请数字证书之前,您必须先生成证书私钥和证书请求文件(Cerificate Signing Request,简称CSR)。CSR是您的公钥证书原始文件,包含了您的服务器信息和您的单位信息,需要提交给CA认证中心。


强烈建议采用系统提供的创建CSR功能,避免出现内容不正确而导致的审核失败。关于审核失败,请查看审核失败 - 主域名不能为空。

在生成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

生成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工具生成CSR文件。


使用keytool工具生成CSR文件

生成证书文件keystore。

证书文件中包含密钥,导出密钥方式请查看主流数字证书都有哪些格式?

执行命令生成keystore证书文件。

  • 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

输入完成后,确认输入内容是否正确,输入 Y 表示正确。

根据提示输入密钥密码。可以与证书密码一致,如果一致直接按回车键即可。

通过证书文件生成证书请求。

执行命令

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

生成CSR文件。

  • sigalg 指定摘要算法,使用SHA256withRSA。
  • alias 指定别名,必须与keystore文件中的证书别名一致。
  • keystore指定证书文件。
  • file指定证书请求文件(CSR)。

提示输入证书密码即可以生成mydomain.csr。

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

登陆后阅读全文
阅读 2725 赞赏 0 有用 1 没用 0 收藏 0 分享

   



0 条留言

linux分享的头像

linux分享

每个软件都有确定的用途

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

我是如何执行 "rm -rf ~" 的

正态分布为什么常见?(财富的分布却不符合正态分布)

Linux下窗口管理器 xmonad 的使用教程

用披萨做比喻来解释 IaaS,PaaS,SaaS 的区别

如何制作CSR(证书私钥和证书请求文件)文件?

php RedisException with message read error on connection

Windows环境下ping丢包或不通时链路测试工具推荐

Linux下ping丢包或不通时链路测试工具推荐

链路测试结果分析说明及常见链路异常场景和测试报告

SSH 登录时出现如下错误:login: Module is unknown

手机扫一扫
分享文章