
# 如何制作CSR文件？
在申请数字证书之前，您必须先生成证书私钥和证书请求文件（Certificate Signing Request，简称CSR）。CSR文件是您的公钥证书原始文件，包含了您的服务器信息和您的单位信息，需要提交给CA认证中心进行审核。
![](https://support.huaweicloud.com/ccm_faq/public_sys-resources/note_3.0-zh-cn.png)
建议您使用系统提供的创建CSR功能，避免出现内容不正确而导致的审核失败。关于审核失败详细信息，请参考[如何解决"审核失败 - 主域名不能为空"的问题？](https://support.huaweicloud.com/ccm_faq/ccm_01_0262.html)。
手动生成CSR文件的同时会生成私钥文件，请务必妥善保管和备份您的私钥。
此处提供2种制作方法，请根据您的需要进行选择：
- [使用OpenSSL工具生成CSR文件]
  如果您需要输入中文信息，建议您使用Keytool工具生成CSR文件。
  
- [使用Keytool工具生成CSR文件]
![](https://support.huaweicloud.com/ccm_faq/public_sys-resources/notice_3.0-zh-cn.png)
证书服务系统对CSR文件的密钥长度有严格要求，密钥长度必须是2,048位，密钥类型必须为RSA。
 #### 使用OpenSSL工具生成CSR文件
1. 安装[OpenSSL](https://www.openssl.org/?spm=a2c4g.11186623.2.12.41a14c07aWQlLB)工具。
2. 执行以下命令生成CSR文件。 
   **openssl req -new -nodes -sha256 -newkey rsa:2048 -keyout *myprivate.key* -out *mydomain.csr***
   - -new：指定生成一个新的CSR。
   
   - -nodes：指定私钥文件不被加密。
   
   - -sha256：指定摘要算法。
   
   - -newkey rsa:2048：指定私钥类型和长度。
   
   - -keyout：生成私钥文件，名称可自定义。
   
   - -out：生成CSR文件，名称可自定义。
    
   
   
3. 生成CSR文件"mydomain.csr"。 
   图1生成CSR文件   
   ![](https://support.huaweicloud.com/ccm_faq/zh-cn_image_0000001932864673.png)
   需要输入的信息说明如下：
   
   | 字段                       | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                    | 示例                              |
   |:---|:---|:---|
   | Country Name             | 申请单位所属国家，只能是两个字母的国家码。例如，中国只能是CN。                                                                                                                                                                                                                                                                                                                                                                                                                      | CN                              |
   | State or Province Name   | 申请单位所在省名或州名，可以是中文或英文。                                                                                                                                                                                                                                                                                                                                                                                                                                 | ZheJiang                        |
   | Locality Name            | 申请单位所在城市名，可以是中文或英文。                                                                                                                                                                                                                                                                                                                                                                                                                                   | HangZhou                        |
   | Organization Name        | 申请单位名称法定名称，可以是中文或英文。                                                                                                                                                                                                                                                                                                                                                                                                                                  | HangZhou xxx Technologies, Inc. |
   | Organizational Unit Name | 申请单位的所在部门，可以是中文或英文。                                                                                                                                                                                                                                                                                                                                                                                                                                   | IT Dept.                        |
   | Common Name              | 申请证书的具体网站域名。 说明： - 多域名类型的证书，请填写需要绑定的主域名。  - 泛域名类型的证书，请填写泛域名。示例：\*.example.com   | www.example.com                 |
   | Email Address            | 申请单位的邮箱。 无需输入，请直接按"Enter"。                                                                                                                                                                                                                                                                                                                                                                  | -                               |
   | A challenge password     | 设置CSR文件密码。 无需输入，请直接按"Enter"。                                                                                                                                                                                                                                                                                                                                                               | -                               |
      
   ![](https://support.huaweicloud.com/ccm_faq/public_sys-resources/notice_3.0-zh-cn.png)
   - 在使用OpenSSL工具生成中文证书时，需要注意中文编码格式必须使用UTF8编码格式。同时，需要在编译OpenSSL工具时指定支持UTF8编码格式。
   
   - 证书服务系统对CSR文件的密钥长度有严格要求，密钥长度必须是2,048位，密钥类型必须为RSA。
    
   完成命令提示的输入后，会在当前目录下生成myprivate.key（私钥文件）和mydomain.csr（CSR，证书请求文件）两个文件。
   
   
 
 #### 使用Keytool工具生成CSR文件
1. 安装Keytool工具，Keytool工具一般包含在Java Development Kit（JDK）工具包中。
2. 使用Keytool工具生成keystore证书文件。 
   ![](https://support.huaweicloud.com/ccm_faq/public_sys-resources/note_3.0-zh-cn.png)
   Keystore证书文件中包含密钥，导出密钥方式请参考[主流数字证书有哪些格式？](https://support.huaweicloud.com/ccm_faq/ccm_01_0054.html)。
   1. 执行以下命令生成keystore证书文件。
      keytool -genkey -alias mycert -keyalg RSA -keysize 2048 -keystore ./mydomain.jks
      - -keyalg：指定密钥类型，必须是RSA。
      
      - -keysize：指定密钥长度为2,048。
      
      - -alias：指定证书别名，可自定义。
      
      - -keystore：指定证书文件保存路径，证书文件名称可自定义。
      
      
      图2生成keystore证书文件   
      ![](https://support.huaweicloud.com/ccm_faq/zh-cn_image_0000001887864750.png) 
   
   2. 输入证书保护密码，然后根据下表依次输入所需信息：
      
      | 问题                                                 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | 示例                            |
      |:---|:---|:---|
      | What is your first and last name?                  | 申请证书的域名。 说明： - 多域名类型的证书，请填写需要绑定的主域名。  - 泛域名类型的证书，请填写泛域名。示例：\*.example.com   | 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表示正确。
      
   
   3. 根据提示输入密钥密码。可以与证书密码一致，如果一致直接按回车键即可。
   
   
   
   
3. 通过证书文件生成证书请求。 
   1. 执行以下命令生成CSR文件。
      keytool -certreq -sigalg SHA256withRSA -alias mycert -keystore ./mydomain.jks -file ./mydomain.csr
      - -sigalg：指定摘要算法，使用SHA256withRSA。
      
      - -alias：指定别名，必须与[•-alias]中keystore文件中的证书别名一致。
      
      - -keystore：指定证书文件。
      
      - -file：指定证书请求文件（CSR），名称可自定义。
        
   
   2. 根据提示输入证书密码即可以生成"mydomain.csr"。
   
   
   
   
 
