通用的CSR请求文件制作技巧

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

在生成CSR文件时会同时生成私钥文件,请妥善保管和备份您的私钥。

1. 使用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。

生成CSR文件时,一般需要输入以下信息(中文需要UTF8编码):

Organization Name(O):申请单位名称法定名称,可以是中文或英文
Organization Unit(OU):申请单位的所在部门,可以是中文或英文,如:IT Dept.
Country Code(C):申请单位所属国家,只能是两个字母的国家码,如中国只能是:CN
State or Province(S):申请单位所在省名或州名,可以是中文或英文
Locality(L):申请单位所在城市名,可以是中文或英文
Common Name(CN):申请SSL证书的具体网站域名,如:www.example.com
Email Address:不需要输入
A challenge password:不需要输入

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

在使用openssl工具生成中文证书时需要注意中文编码格式,使用utf8编码,同时需要编译openssl工具时指定支持utf8格式。如果对中文有需求,推荐您使用keytool工具。

2. 使用keytool工具生成CSR文件

2.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? 公司名称
What is the name of your City or Locality? 所在城市
What is the name of your State or Province? 所在省份
What is the two-letter country code for this unit? ISO国家代码(两位字符),如中国只能是:CN
输入完成后,确认输入内容是否正确:[no]: Y (输入Y)

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

2.2 通过证书文件生成证书请求:

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

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

需要注意的是:如果申请证书是通配子域名,在“Common Name”或”What is your first and last name?” 字段只需要输入“*.example.com”即可。多个域名证书的请求生成,本文不适合,请查看本站其它文章。

相关推荐:
一般来说,主流的Web服务软件,通常都基于两种基础密码库:OpenSSL和Java。 Tomcat、Weblogic、JBoss等,使用Java提供的密码库。通过Java的Keytool工具,生成Java Keystore(JKS)格式的证书文件。 Apache …
为何会出现ECC证书?原因在于RSA算法过于庞大,不适于移动端运行。采用RSA算法的SSL证书,已经开始应用于移动互联网。为了确保加密强度,目前SSL证书普遍采用的2048位以上RSA加密算法,但由于移动设备加解 …
椭圆曲线加密算法简介:椭圆曲线密码学(Elliptic curve cryptography,缩写为ECC),一种建立公开金钥加密的算法,基于椭圆曲线数学。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分 …
可以用私钥来做这件事。生成一个解密的key文件,替代原来key文件。 openssl rsa -in server.key -out server.key.unsecure 然后修改配置文件 ssl on; ssl_certificate /home/cert/server.crt; ssl_certific …
App Transport Security(应用程序安全传输),简称ATS,是苹果在iOS 9 中首次推出的一项隐私安全保护功能,启用ATS后,它会屏蔽明文HTTP资源加载,强制App通过HTTPS连接网络服务,通过传输加密保障用户数 …
拿起手机扫一扫即可带走我!