返回介绍

生成证书签发请求(CSR)

发布于 2024-06-22 18:37:49 字数 3550 浏览 0 评论 0 收藏 0

您必须拥有一个证书签发请求 (Certificate Signing Request, CSR) 才能申请签发 SSL 证书。本文档将详细指导您在常见的系统平台下生成 CSR/Key 文件。

Microsoft Windows

Windows Server 系统已自带生成证书签发请求的工具。您可以参考下面的说明来生成 CSR。

OS X, Linux, UNIX 及类似系统

UNIX 系操作系统一般已经内置了 OpenSSL 或 GnuTLS 工具链。您需要 openssl 可执行文件存在于系统中。

Debian 系发行版 (Debian, Ubuntu, etc) 安装 OpenSSL 的命令为:

sudo apt-get install openssl

RedHat 系发行版 (RHEL, CentOS, Fedora, etc) 安装 OpenSSL 的命令为:

sudo yum install openssl openssl-devel

Arch Linux 安装 OpenSSL 的命令为:

sudo pacman -S openssl

openSUSE/SuSE 安装 OpenSSL 的命令为:

sudo zypper in openssl
交互式生成 CSR

在服务器或您本地操作系统中打开终端,键入命令:

openssl req -out example.com.csr -new -newkey rsa:2048 -sha256 -nodes -keyout example.com.key

请把 example.com 替换为您自己希望签发的域名以方便保存和区分

此命令执行后会向您询问一系列问题。

openssl input

您需要填写的信息:

  • Country Name,两位国别代码,例如您在中国就填写 CN,在美国就填写 US,在日本就填写 JP
  • State or Province Name, 您所在的省或州的全名,您可以填写 Beijing,或者 Jiangsu, 或者 California
  • Locality Name,您所在的地区 / 城市名称,例如 Beijing,或者 Mountain View
  • Organization Name, 您所在的组织名称,您可以填写公司或组织或您自己的英文或拼音名称,例如 Google Inc
  • Organization Unit Name, 您所在组织的部门 / 单元名称,例如 Network Dept
  • Common Name, 请填写您希望签发证书的完整域名,例如 example.com 或者 sub.example.com。如果您申请的是泛域名证书,请在特定子域填写通配符,例如 *.example.com 或者 *.l2sub.example.com
  • Email Address, 请填写您的证书联系人邮件地址。
一句话生成

您可以用一行式命令生成包含所有所需信息的 CSR 和 Key 文件。一个完整的命令格式为:

openssl req -new -newkey rsa:2048 -sha256 -nodes -out example_com.csr -keyout example_com.key -subj "/C=CN/ST=Beijing/L=Beijing/O=Example Inc/OU=Network Dept/CN=example.com"

如果您希望生成 ECC 证书,命令看起来像这样:

openssl ecparam -out example_com.pkey -name prime256v1 -genkey && openssl req -new -key example_com.pkey -nodes -out example_com.csr -subj "/C=CN/ST=Beijing/L=Beijing/O=Example Inc/OU=Network Dept/CN=example.com"
生成带有 SAN 的 CSR

如果您准备签发的是多域名证书,请使用下面的命令将所有的域名包含进去。

openssl req -new -newkey rsa:2048 -sha256 -nodes -out example_com.csr -keyout example_com.key -subj "/C=CN/ST=Beijing/L=Beijing/O=Example Inc/OU=Network Dept/CN=example.com/subjectAltName=DNS.1=sub1.example.com,DNS.2=sub2.example.com,DNS.3=sub.another-example.com"

命令中的 DNS.n 即为所有要签发的域名,n 为从 1 开始的序列数字。

下列在线工具可以帮您快速制作 OpenSSL 生成 CSR 的命令:

得到 CSR 和 Key 文件后,请小心将文件保存,然后用任意文本编辑器打开 CSR 文件,或使用 cat 命令输出文件内容,并将内容提交至我们的证书配置向导中以完成签发请求。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文