如何使用 certreq 在 Windows 上生成代码签名 Csr

重要更新

从 2023 年 6 月 1 日起,代码签名证书将采用新的安全措施。 现在,所有代码签名证书都必须存储在符合特定安全标准(如 FIPS 140 Level 2、Common Criteria EAL 4+ 或同等标准)的硬件上。

因此,获取和安装证书的过程发生了变化。 证书颁发机构不再支持基于浏览器的密钥生成、创建 CSR 以及在笔记本电脑或服务器上安装证书。 相反,如果您选择 “令牌+发货 “作为代码签名交付方式,CA 将处理 CSR 生成。 另外,如果您希望使用硬件安全模块 (HSM),请查看下面的指南或按照 HSM 提供商的说明生成 CSR。


以下文本包含过时信息,不再适用于代码签名证书的 CSR 生成。

自 2021 年 6 月 1 日起,代码签名证书申请者必须遵守 CA/Browser Forum Code Signing Baseline Requirements(CA/浏览器论坛代码签名基准要求),该要求要求 RSA 密钥位长不低于 3072 位。 为提高安全性,我们建议使用 4096 位密钥创建证书签名请求(CSR)。

为代码签名证书创建 CSR 的方法有很多,本文将向你展示如何在 Windows 中使用 CertReq 命令生成 CSR。

使用 certreq 创建 CSR

要使用 “certreq “命令,必须先用记事本之类的文本编辑器创建一个 “request.inf “文件。 请按照以下说明构建 request.inf 文件,并为代码签名证书生成 CSR。

生成 request.inf 文件

request.inf 文件应包含 CSR 中要求包含的 “主题详细信息”。 生成 request.inf 文件后,就可以使用它创建 CSR 了。

将以下内容复制到文本文档中,并保存为 “request.inf”。 您必须只替换 “主题 “一行,以包含贵公司的详细信息。

[NewRequest]

;更改为您的国家代码(C)、通用名称(CN)、公司名称(O)、地区(L)、州/省名称(S)

主题 = “CN=您的公司名称,O=您的公司名称,L=城市,S=州,C=美国”

KeySpec = 1

密钥长度 = 4096

可导出 = TRUE

MachineKeySet = FALSE

SMIME = 假

私钥压缩 = FALSE

用户保护 = FALSE

UseExistingKeySet = FALSE

ProviderName = “Microsoft RSA SChannel Cryptographic Provider” (微软 RSA SC 通道加密提供程序

提供商类型 = 12

请求类型 = PKCS10

KeyUsage = 0xa0

哈希算法 = SHA256

[EnhancedKeyUsageExtension]

OID=1.3.6.1.5.5.7.3.3 ; 用于代码签名

通过 request.inf 文件生成 CSR

保存 request.inf 文件后,可使用 Windows 命令提示符输入以下命令生成 CSR:

CERTREQ -new request.inf codesign.csr

运行此命令后,将生成一个新的 CSR 并保存为名为 “codesign.csr “的文件。 然后,您可以向 CA 提交此 CSR,以申请代码签名证书。

最后步骤

收到代码签名证书后,必须在同一台计算机上安装。 运行以下命令

certreq -accept certificate.crt

安装证书后,可以将其导出为 PFX 文件。 导出证书的过程可能因操作系统和具体软件而异。 一般来说,您可以打开证书管理器,选择证书,然后选择将其导出为 PFX 文件,从而导出证书。

将证书导出到 PFX 文件后,就可以用它来签署代码并确保其真实性。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.