在申请数字证书之前,您必须先生成证书私钥和证书请求文件(Cerificate Signing Request,简称 CSR)。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证书的具体网站域名。
注意: 证书服务系统对 CSR 文件的密钥长度有严格要求,密钥长度必须是 2048 位,密钥类型必须为 RSA。如果申请证书是多域名或者通配子域名,在Common Name或What is your first and last name?字段只需要输入一个域名即可(通配子域名可以输入“*.example.com”等)。
安装OpenSSL工具
执行命令openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout myprivate.key -out mydomain.csr生成 CSR 文件。
其中,
生成 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 工具,Keytool 工具一般包含在 Java Development Kit(JDK)工具包中。
使用 Keytool 工具生成 keystore 证书文件。
执行命令keytool -genkey -alias mycert -keyalg RSA -keysize 2048 -keystore ./mydomain.jks生成 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 文件。
其中,