在申请SSL证书之前,您必须先生成证书请求文件 (CSR),您可以使用以下任意方法执行此操作:
- OpenSSL (推荐Linux用户使用此方法)
- Internet Information Services (IIS) 服务器
- KeyTool 工具
OpenSSL
安装OpenSSL
CentOS 或 Red Hat
Debian 或 Ubuntuyum install openssl openssl-devel
Mac OSapt-get install openssl
brew install openssl
创建密钥对
创建 RSA 算法密钥对
运行以下命令生成密钥对openssl genrsa -out domain.com.key 2048
创建 ECC 算法密钥对
运行以下命令生成密钥对openssl ecparam -name prime256v1 -genkey -out domain.com.key
备注:
domain.com.key
为您的私钥文件,可按需求自行命名,私钥文件请妥善保管,并勿泄漏给他人 (包括CA机构)。 请根据所需签发证书的类型生成 RSA 算法的密钥对 与/或 ECC 算法的密钥对,通常情况下我们推荐签发 RSA 算法的证书。
创建 CSR 证书请求文件
运行以下命令生成 CSR 证书请求文件:
openssl req -new -sha256 -utf8 -key domain.com.key -out domain.com.csr -subj "/CN=domain.com/O=上海市数字证书认证中心有限公司/OU=市场部/L=上海/ST=上海/C=CN"
-subj
后的参数请按照实际情况填写,以下提供相关字段介绍供参考:
字段 | 描述 | 示例 |
---|---|---|
CN (Common Name) | 所需保护站点的完全限定名称 (FQDN),如果您要购买通配符证书,请使用 *.domain.com 。 |
domain.com |
O (Organization) | 您或您的组织的法定名称,不要缩写。 | 上海市数字证书认证中心有限公司 |
OU (Organizational Unit) | 提出申请的部门,可选填。 | 市场部 |
L (City/locality) | 您或您的组织所在地的城市,不要缩写。 | 上海 |
ST (State/province) | 您或您的组织所在地的省/市/自治区,不要缩写。 | 上海 |
C (Country) | 您所在国家/地区的2位英文字母的标准代码。 | CN |
备注: 组织名称 与 部门 不能包含以下字符:
< > ~ ! @ # $ % ^ * / \ ( ) ? . , &
验证您的 CSR 证书请求文件
运行以下命令以验证您的 CSR:
openssl req -noout -text -in domain.com.csr
请在确认无误后将 domain.com.csr
文件提交给上海市数字证书认证中心。
Internet Information Services (IIS) 服务器
注意:以下步骤适用于Windows Server 2012上的IIS 8或IIS 8.5。
- 从“Start(开始)”中选择“Administrative Tools(管理工具)”,然后选择“Internet Information Services (IIS) Manager(Internet Information Services (IIS) 管理器)”。
- 在左侧的“Connections(连接)”面板中,单击您要为其生成 CSR 的服务器名称。
- 在中间的面板中,双击“Server Certificates(服务器证书)”。
- 在右侧的“Actions(操作)”面板中,单击“Create Certificate Request… (创建证书申请…)”。
- 输入下面的“Distinguished Name Properties”(可分辨名称属性),然后单击“Next”(下一步):
| 字段 | 描述 | 示例 |
| —- | —- | —- |
| CN (Common Name) | 所需保护站点的完全限定名称 (FQDN),如果您要购买通配符证书,请使用
*.domain.com
。 | domain.com | | O (Organization) | 您或您的组织的法定名称,不要缩写。 | 上海市数字证书认证中心有限公司 | | OU (Organizational Unit) | 提出申请的部门,可选填。 | 市场部 | | L (City/locality) | 您或您的组织所在地的城市,不要缩写。 | 上海 | | ST (State/province) | 您或您的组织所在地的省/市/自治区,不要缩写。 | 上海 | | C (Country) | 您所在国家/地区的2位英文字母的标准代码。 | CN |
备注: 组织名称 与 部门 不能包含以下字符:
< > ~ ! @ # $ % ^ * / \ ( ) ? . , &
- 对于“Cryptographic service provider(加密服务提供程序)”,请选择“Microsoft RSA SChannel Cryptographic Provider(Microsoft RSA SChannel 加密提供程序)”,对于“Bit length(位长)”请选择“2048”,然后单击“Next(下一步)”。
- 单击“…”,输入您的 CSR 的位置和文件名,然后单击“Finish(完成)”。
- 将CSR文件发送给上海市数字证书认证中心。
KeyTool 工具
创建 Keystore
创建 RSA 算法的密钥对
运行以下命令创建一个新的 Keystore 和密钥对keytool -genkey -alias domain.com -keyalg RSA -keysize 2048 -sigalg SHA256withRSA \ -dname "CN=domain.com,O=上海市数字证书认证中心有限公司,OU=市场部,L=上海,ST=上海,C=CN" \ -storepass passw0rd! \ -keypass passw0rd! \ -keystore domain.com.keystore
创建 ECC 算法的密钥对
运行以下命令创建一个新的 Keystore 和密钥对keytool -genkey -alias domain.com -keyalg EC -keysize 256 -sigalg SHA256withECDSA \ -dname "CN=domain.com,O=上海市数字证书认证中心有限公司,OU=市场部,L=上海,ST=上海,C=CN" \ -storepass passw0rd! \ -keypass passw0rd! \ -keystore domain.com.keystore
备注: -alias
domain.com
条目的别名,该参数不区分大小写。 -storepasspassw0rd!
密钥库存储口令,请勿遗忘。 -keypasspassw0rd!
条目的密钥口令,请勿遗忘。domain.com.keystore
文件为所生成密钥库文件,该文件包含私钥,请妥善保管,并勿泄漏给他人 (包括CA机构)。 请根据所需签发证书的类型生成 RSA 算法的密钥对 与/或 ECC 算法的密钥对,通常情况下我们推荐签发 RSA 算法的证书。
字段 | 描述 | 示例 |
---|---|---|
CN (Common Name) | 所需保护站点的完全限定名称 (FQDN),如果您要购买通配符证书,请使用 *.domain.com 。 |
domain.com |
O (Organization) | 您或您的组织的法定名称,不要缩写。 | 上海市数字证书认证中心有限公司 |
OU (Organizational Unit) | 提出申请的部门,可选填。 | 市场部 |
L (City/locality) | 您或您的组织所在地的城市,不要缩写。 | 上海 |
ST (State/province) | 您或您的组织所在地的省/市/自治区,不要缩写。 | 上海 |
C (Country) | 您所在国家/地区的2位英文字母的标准代码。 | CN |
备注: 组织名称 与 部门 不能包含以下字符:
< > ~ ! @ # $ % ^ * / \ ( ) ? . , &
从 Keystore 生成 CSR 证书请求文件
运行以下命令生成 CSR 证书请求文件:
keytool -certreq -keystore domain.com.keystore -alias domain.com \
-storepass passw0rd! \
-file domain.com.csr
验证您的 CSR 证书请求文件
运行以下命令以验证您的 CSR:
openssl req -noout -text -in domain.com.csr
请在确认无误后将 domain.com.csr
文件提交给上海市数字证书认证中心。
XCA生成CSR文件
- 先下载安装xca工具,下载地址:https://hohnstaedt.de/xca/index.php/download 或点此下载📎xca-portable-2.2.1.zip
- 打开Xca工具,选择【File/文件】-【New Database/新建数据库】选择存储位置并创建文件名,设置密码(不用过于复杂,此密码用于database文件的保护,再次打开此文件时用到)
- 密码输入完成之后选择【certificate signing requests/证书签名请求】-【New requests/创建请求】
- 点击【Subject/主题】输入企业信息,输入完成之后点击【Generate a new key/生成新密钥】创建私钥
字段 | 描述 | 示例 |
---|---|---|
Common Name(CN) | 所需保护站点的完全限定名称 (FQDN),如果您要购买通配符证书,请使用 *.domain.com。 | www.sheca.com |
Organization Name(O) | 您或您的组织的法定名称,不要缩写。 | 上海市数字证书认证中心有限公司 |
Organization Unit(OU) | 提出申请的部门,可选填。 | 战略发展部 |
Locality Name(L) | 您或您的组织所在地的城市,不要缩写。 | 上海 |
StateOrProvince Name(ST) | 您或您的组织所在地的省/市/自治区,不要缩写。 | 上海 |
CountryName(C) | 您所在国家/地区的2位英文字母的标准代码。 | CN |
(SSL证书通用名称填写申请证书的域名,算法选择RSA 2048;代码签名证书通用名称填写公司名称,算法选择RSA 4096)
点击Create/创建,私钥创建完成之后点击CSR创建面板中的【OK】完成Request创建
- 在【certificate signing requests/证书签名请求】列表中选中刚刚创建的请求项目,右侧选择【Export/导出】导出证书请求文件。
选择存储路径及文件名
将导出的CSR(证书请求文件)提交给上海市数字证书认证中心有限公司用于申请证书。
6.在【Private Keys/私钥】列表中选择对应的私钥名称右侧列表中选择【Export/导出】导出私钥
选择存储路径及文件名,格式选择PEM Private(*.pem)。
私钥文件导出后请妥善保存,用于证书颁发之后的证书安装。
若有收获,就点个赞吧
如果我要申请多域名证书怎么办?
多域名证书允许您在一张证书中包含多个主机名称(主题备用名称,简称SAN)。
将主题备用名称添加到 CSR 证书请求文件是一件较为复杂的操作,所以我们推荐您在订单处理的过程中指定主题备用名称,而无需包含在 CSR 证书请求文件中。