国密证书的CSR生成,核心在于算法的正确选择(必须使用SM2)和信息的准确填写。下面为你详细拆解其中的注意事项与操作要点。

一、核心算法选择:为什么必须是SM2?

国密证书的算法体系是强制且固定的,不能选择RSA或ECC(椭圆曲线密码学)。

      非对称加密算法:SM2:这是国密证书的必选且唯一的算法。它基于椭圆曲线密码体系,用于数字签名和密钥交换。在生成CSR时,密钥算法必须明确指定为SM2,密钥长度固定为256位。

      哈希算法:SM3:用于生成消息摘要,确保数据完整性。在生成CSR的命令中,摘要算法参数应指定为  `-sm3`。

      对称加密算法:SM4:用于实际的数据加密传输。此算法在CSR生成阶段不涉及,主要在服务器配置时使用。

二、CSR生成前的准备与核心注意事项

在生成CSR前,有几个关键点需要特别留意:

1.    选择正确的工具

              GmSSL:一个开源的国密算法工具箱,是生成SM2密钥和CSR的首选命令行工具。

              CA机构专用工具:许多CA机构(如CFCA、天威诚信等)会提供自己的客户端或网页工具,用于简化CSR生成过程。

              支持国密的OpenSSL:OpenSSL  1.1.1及以上版本开始支持SM2算法。但在使用时,请务必确认你的版本和编译选项已包含国密支持。

2.    国密证书的“双证书”特性

        国密SSL协议通常使用双证书体系:一张签名证书和一张加密证书。

              生成方式一(推荐):生成一对CSR和私钥。签名证书和加密证书共用这一对密钥。这种方式管理简单,也是很多CA机构的默认或推荐做法。

              生成方式二:分别为签名证书和加密证书生成两套独立的CSR和私钥。这种方式安全性更高,但密钥管理更复杂。

        建议:在生成前,先向你选择的CA机构确认他们的具体要求。

3.    填写准确无误的证书信息

        CSR中包含的`subject`信息必须与你的官方资料完全一致:

              C  (Country):国家代码,固定为  `CN`。

              ST  (State/Province):省/自治区。

              L  (Locality):城市。

              O  (Organization):公司法定全称。

              OU  (Organizational  Unit):部门名称(可选)。

              CN  (Common  Name):最关键**的字段,必须填写你要绑定的确切域名。对于泛域名证书,格式为  `*.example.com`。

              注意:所有信息,尤其是组织名,必须与营业执照上的信息完全一致。如需填写中文,请确保工具或系统使用UTF-8编码。

4.    私钥安全是生命线

              立即备份:生成的私钥(`.key`文件)是证书的核心,一旦丢失无法恢复。

              安全保存:将私钥保存在安全、离线的地方,并设置强密码保护。

              谨慎传递:永远不要将私钥发给任何人,包括CA机构。你只需提交CSR文件。

三、CSR生成操作示例(使用GmSSL/OpenSSL)

以下是在命令行环境中生成CSR的典型步骤:

步骤1:生成SM2私钥

bash

  使用  OpenSSL

openssl  ecparam  -genkey  -name  SM2  -out  server.key

步骤2:生成证书签名请求  (CSR)

bash

  使用  OpenSSL,通过  -subj  参数一次性填写所有信息

openssl  req  -new  -sm3  -key  server.key  -out  server.csr  -subj  "/C=CN/ST=Beijing/L=Beijing/O=Example  Corp/OU=IT  Dept/CN=www.example.com"

执行后,你会得到两个文件:

      `server.key`:私钥文件,请务必妥善保管,绝对不要公开。

      `server.csr`:CSR文件,这是需要提交给CA机构的文件。

四、在线生成  vs.  自行生成:如何选择?

  特性        在线生成  CSR  (CA平台提供)      自行生成  CSR  (使用  GmSSL/OpenSSL)  

私钥管理              由平台生成和管理                    完全由你本地生成和管理

安全性          私钥由第三方保管,存在理论风险      私钥从不出境,安全性最高

便捷性                操作简单,无需安装任何工具      需要一定的命令行操作经验  

控制权          控制权在平台          控制权完全在你手中

适用场景          对便捷性要求高,信任平台安全性的场景          对安全合规有高要求的生产环境

总结

总的来说,生成国密证书的CSR可以遵循以下要点:

1.    算法是固定的:必须使用  SM2(非对称)和  SM3(哈希)。

2.    工具要选对:优先使用  GmSSL  或  支持国密的OpenSSL。

3.    信息要填准:CSR中的组织信息和域名必须准确无误。

4.    私钥要管好:这是你的核心资产,务必安全备份,切勿外传。

5.    方式可自选:追求最高安全性的生产环境,建议自行生成CSR;追求便捷,可选择CA平台的在线生成功能。