证书注册
证书颁发机构 (CA) 颁发数字证书,这有助于通过证书验证在两个端点之间建立安全连接。以下主题介绍如何使用简单证书注册协议 (SCEP) 联机或本地配置 CA 证书:
在线注册数字证书:配置概述
可以使用证书管理协议版本 2 (CMPv2) 或简单证书注册协议 (SCEP) 注册数字证书。要在线注册证书,请执行以下操作:
在设备上生成密钥对。请参阅 自签名数字证书。
创建一个或多个 CA 配置文件,其中包含特定于 CA 的信息。请参阅 示例:配置 CA 配置文件。
仅适用于 SCEP,请注册 CA 证书。请参阅 使用 SCEP 联机注册 CA 证书。
从之前已加载其 CA 证书的 CA 注册本地证书。请参阅 示例:使用 SCEP 联机注册本地证书。
配置自动重新注册。请参阅 示例:使用 SCEP 自动续订本地证书。
了解联机 CA 证书注册
使用简单证书注册协议 (SCEP),您可以将瞻博网络设备配置为在线获取证书颁发机构 (CA) 证书,然后启动指定证书 ID 的在线注册。CA 公钥验证来自远程对等方的证书。
了解本地证书请求
创建本地证书请求时,设备会从之前使用同一证书 ID 生成的密钥对生成 PKCS #10 格式的 n 个最终实体 证书。
使用者名称以公用名 (CN)、组织单位 (OU)、组织 (O)、地点 (L)、州 (ST)、国家 (C) 和域组件 (DC) 的形式与本地证书请求相关联。此外,使用者备用名称以下列形式关联:
-
IP 地址
-
电子邮件地址
-
完全限定域名 (FQDN)
以引号括起来的可分辨名称格式指定使用者名称,包括域组件 (DC)、公用名 (CN)、序列号 (SN)、组织单位名称 (OU)、组织名称 (O)、地点 (L)、州 (ST) 和国家 (C)。
某些 CA 不支持将电子邮件地址作为证书中的域名。如果未在本地证书请求中包含电子邮件地址,则在将设备配置为动态对等方时,不能使用电子邮件地址作为本地 IKE ID。相反,您可以使用完全限定的域名(如果它在本地证书中),也可以将本地 ID 字段留空。如果未为动态对等方指定本地 ID,请在对等方 ID 字段中输入 hostname.domain-name 设备上 IPsec 隧道另一端的该对等方的 ID。
使用 SCEP 联机注册 CA 证书
准备工作:
生成公钥和私钥对。请参阅 自签名数字证书。
创建 CA 配置文件。请参阅 示例:配置 CA 配置文件。
要在线注册 CA 证书,请执行以下操作:
使用 SCEP 联机检索 CA 证书。(访问 CA 服务器所需的属性是从定义的 CA 配置文件中获取的。
user@host> request security pki ca-certificate enroll ca-profile ca-profile-ipsec
同步处理该命令以提供收到的 CA 证书的指纹。
Fingerprint: e6:fa:d6:da:e8:8d:d3:00:e8:59:12:e1:2c:b9:3c:c0:9d:6c:8f:8d (sha1) 82:e2:dc:ea:48:4c:08:9a:fd:b5:24:b0:db:c3:ba:59 (md5) Do you want to load the above CA certificate ? [yes,no]
确认已加载正确的证书。仅当您在 CLI 提示符下键入时, yes 才会加载 CA 证书。
有关证书的详细信息(如密钥对的位长度),请使用命令
show security pki ca-certificate
。
示例:使用 SCEP 联机注册本地证书
此示例演示如何使用简单证书注册协议 (SCEP) 联机注册本地证书。
要求
准备工作:
生成公钥和私钥对。请参阅 自签名数字证书。
配置证书颁发机构配置文件。请参阅 示例:配置 CA 配置文件。
对于 SCEP,请注册 CA 证书。请参阅 使用 SCEP 联机注册 CA 证书。
概述
在此示例中,您将瞻博网络设备配置为联机获取本地证书,并使用 SCEP 启动指定证书 ID 的联机注册。您可以在 CA 配置文件名称 ca-profile-ipsec
中指定 CA 服务器的 URL 路径。
您可以使用命令 request security pki local-certificate enroll scep
启动指定证书 ID 的联机注册。(从 Junos OS 版本 15.1X49-D40 和 Junos OS 版本 17.3R1 开始,支持且需要关键字 scep
。您必须指定 CA 配置文件名称(例如)、 ca-profile-ipsec
与先前生成的密钥对对应的证书 ID(例如 qqq
)以及以下信息:
CA 管理员为证书注册和重新注册提供的质询密码。
至少具有以下值之一:
用于在 IKE 协商中标识证书所有者的域名,例如
qqq.example.net
。与电子邮件语句进行 IKE 协商的证书所有者的身份,例如
qqq@example.net
。如果设备配置为静态 IP 地址,则为 IP 地址,例如
10.10.10.10
。
以引号括起来的可分辨名称格式指定使用者名称,包括域组件 (DC)、公用名 (CN)、序列号 (SN)、组织单位名称 (OU)、组织名称 (O)、地点 (L)、州 (ST) 和国家 (C)。
获取设备证书并开始在线注册证书 ID 后。该命令以异步方式处理。
配置
程序
分步过程
要在线注册本地证书,请执行以下操作:
指定 CA 配置文件。
[edit] user@host# set security pki ca-profile ca-profile-ipsec enrollment url path-to-ca-server
如果完成设备配置,请提交配置。
[edit] user@host# commit
通过运行操作模式命令启动注册过程。
user@host> request security pki local-certificate enroll scep ca-profile ca-profile-ipsec certificate-id qqq challenge-password ca-provided-password domain-name qqq.example.net email qqq@example.net ip-address 10.10.10.10 subject DC=example, CN=router3, SN, OU=marketing, O=example, L=sunnyvale, ST=california, C=us
如果在主题字段中定义不带序列号的 SN,则会直接从设备读取序列号并将其添加到证书签名请求 (CSR) 中。
从 Junos OS 19.4R2 版开始,当您尝试使用椭圆曲线数字签名算法 (ECDSA) 密钥和简单证书注册协议 (SCEP) 注册本地证书时,将显示警告消息 ECDSA Keypair not supported with SCEP for cert_id <certificate id>
,因为 SCEP 不支持 ECDSA 密钥。
验证
要验证配置是否正常工作,请输入 show security pki
命令。
示例:使用 SCEP 自动续订本地证书
可以使用证书管理协议版本 2 (CMPv2) 或简单证书注册协议 (SCEP) 注册数字证书。此示例演示如何使用 SCEP 自动续订本地证书。
要求
准备工作:
在线或手动获取证书。请参阅 数字证书。
获取本地证书。请参阅 示例:使用 SCEP 联机注册本地证书。
概述
可以使设备自动续订通过联机注册获取或手动加载的证书。自动证书续订使您不必记住在证书过期之前在设备上续订证书,并有助于始终维护有效的证书。
默认情况下,自动证书续订处于禁用状态。您可以启用自动证书续订,并将设备配置为在证书过期之前自动发送重新注册证书的请求。您可以指定何时发送证书重新注册请求;重新注册的触发器是证书到期前剩余的证书生存期的百分比。例如,如果要在证书的剩余生存期为 10% 时发送续订请求,则为重新注册触发器配置 10。
要使此功能正常工作,设备必须能够访问 CA 服务器,并且在续订过程中证书必须存在于设备上。此外,您还必须确保颁发证书的 CA 可以返回相同的 DN。CA 不得修改新证书中的使用者名称或备用使用者名称扩展名。
您可以为所有 SCEP 证书启用和禁用自动 SCEP 证书续订,也可以基于每个证书启用和禁用自动 SCEP 证书续订。您可以使用命令 set security pki auto-re-enrollment scep
启用和配置证书重新注册。在此示例中,您将 CA 证书的证书 ID 指定为 ca-ipsec
,并将与证书关联的 CA 配置文件名称设置为 ca-profile-ipsec
。您将 CA 证书的质询密码设置为 CA 管理员提供的质询密码;此密码必须与之前为 CA 配置的密码相同。还可以将重新注册触发器 10
的百分比设置为 。在自动重新注册期间,瞻博网络设备默认使用现有密钥对。一个好的安全做法是重新生成新的密钥对以进行重新注册。要生成新的密钥对,请使用 re-generate-keypair
命令。
配置
程序
分步过程
要启用和配置本地证书重新注册,请执行以下操作:
启用和配置证书重新注册。
[edit] user@host# set security pki auto-re-enrollment scep certificate-id ca-ipsec ca-profile-name ca-profile-ipsec challenge-password ca-provided-password re-enroll-trigger-time-percentage 10 re-generate-keypair
从 Junos OS 版本 15.1X49-D40 和 Junos OS 17.3R1 版本开始,支持且需要关键字
scep
。如果完成设备配置,请提交配置。
[edit] user@host# commit
验证
要验证配置是否正常工作,请输入 show security pki local-certificate detail
操作模式命令。
了解 CMPv2 和 SCEP 证书注册
根据您的部署环境,可以使用证书管理协议版本 2 (CMPv2) 或简单证书注册协议 (SCEP) 进行联机证书注册。本主题介绍两种协议之间的一些基本区别。
表 1 介绍了 CMPv2 和 SCEP 证书注册协议之间的差异。
属性 |
CMPv2 |
SCEP |
---|---|---|
支持的证书类型: |
DSA、ECDSA 和 RSA |
仅限 RSA |
支持的标准 |
RFC 4210 和 4211 |
互联网工程任务组草案 |
CMPv2 和 SCEP 之间的证书注册和重新注册请求和响应不同。使用 CMPv2,没有单独的命令来注册 CA 证书。使用 SCEP,您可以使用命令注册 request security pki ca-certificate enroll
CA 证书并指定 CA 配置文件。CA 配置文件必须配置 CMPv2 或 SCEP。
了解使用 CMPv2 注册证书
该 request security pki local-certificate enroll cmpv2
命令使用 CMPv2 联机注册本地数字证书。此命令根据 CA 服务器配置加载最终实体证书和 CA 证书。必须在 CA 证书注册之前创建 CA 配置文件,因为注册 URL 是从 CA 配置文件中提取的。
本主题介绍使用 CMPv2 协议注册的证书。
证书注册和重新注册消息
CMPv2 协议主要涉及证书注册和重新注册操作。证书注册过程包括“初始化请求”和“初始化响应”消息,而证书重新注册过程包括“密钥更新请求”和“密钥更新响应”消息。
CMPv2 服务器使用初始化响应 (IP) 进行响应。响应包含最终实体证书以及可选的 CA 证书。初始化响应的消息完整性和消息真实性可以根据 RFC 4210 使用共享密钥信息进行验证。初始化响应也可以使用颁发者 CA 公钥进行验证。在重新注册最终实体证书之前,必须在设备上注册有效的 CA 证书。
初始化响应或密钥更新响应消息可以包含颁发者 CA 证书或 CA 证书链。响应中收到的 CA 证书将被视为受信任的 CA 证书,并存储在接收设备中(如果受信任的 CA 存储中尚不存在)。这些 CA 证书稍后将用于最终实体证书验证。
我们不支持 CA 证书重新注册。如果 CA 证书过期,则必须取消注册当前 CA 证书,然后重新注册。
带有颁发者 CA 证书的最终实体证书
在简单方案中,初始化响应消息可能仅包含最终实体证书,在这种情况下,将单独提供 CA 信息。证书存储在最终实体证书存储中。
初始化响应消息可以包含最终实体证书以及自签名颁发者 CA 证书。首先将最终实体证书存储在证书存储中,然后检查 CA 证书。如果找到 CA 证书,并且初始化响应消息中 CA 证书的使用者可分辨名称 (DN) 与最终实体证书的颁发者 DN 匹配,则 CA 证书将存储在 CMPv2 证书注册命令中指定的 CA 配置文件名称的 CA 证书存储中。如果 CA 证书存储中已存在 CA 证书,则不执行任何操作。
具有 CA 证书链的最终实体证书
在许多部署中,最终实体证书由证书链中的中间 CA 颁发。在这种情况下,初始化响应消息可以包含最终实体证书以及链中的 CA 证书列表。中间 CA 证书和自签名根 CA 证书都是验证最终实体证书所必需的。可能还需要 CA 链来验证从具有类似层次结构的对等设备收到的证书。以下部分介绍如何存储 CA 链中的证书。
在 中 图 1,初始化响应消息包括证书链中的最终实体证书和三个 CA 证书。
最终实体证书存储在最终实体证书存储中。每个 CA 证书都需要一个 CA 配置文件。使用者为 DN Sub11-CA 的 CA 证书是链中的第一个 CA,并且是最终实体证书的颁发者。它存储在使用 CMPv2 证书注册命令指定的 CA 配置文件中。
将检查链中剩余的每个 CA 证书是否在 CA 存储中存在。如果 CA 存储中不存在 CA 证书,则会保存该证书并为其创建 CA 配置文件。新的 CA 配置文件名称是使用 CA 证书序列号中最低有效的 16 位数字创建的。如果序列号长度超过 16 位,则超过 16 位的最有效数字将被截断。如果序列号短于 16 位,则剩余的最高有效数字用 0
s 填充。例如,如果序列号为 11111000100010001000,则 CA 配置文件名称为 1000100010001000
。如果序列号为 10001000,则 CA 配置文件名称为 0000000010001000
。
多个证书序列号可能具有相同的最低有效 16 位数字。在这种情况下,将 -00
附加到配置文件名称以创建唯一的 CA 配置文件名称;其他 CA 配置文件名称是通过将附加的编号 -01
从 到 -99
递增来创建。例如,CA 配置文件名称可以是 1000100010001000
、 1000100010001000-00
和 1000100010001000-01
。
另请参阅
示例:手动为本地证书生成 CSR 并将其发送到 CA 服务器
此示例说明如何手动生成证书签名请求。
要求
生成公钥和私钥。请参阅 自签名数字证书。
概述
在此示例中,您将使用之前生成的公钥-私钥对 (ca-ipsec) 的证书 ID 生成证书请求。然后指定域名 (example.net) 和关联的公用名 (abc)。证书请求以 PEM 格式显示。
复制生成的证书请求并将其粘贴到 CA 网站的相应字段中以获取本地证书。(请参阅 CA 服务器文档以确定将证书请求粘贴到的位置。显示 PKCS #10 内容时,还会显示 PKCS #10 文件的 MD5 哈希和 SHA-1 哈希。
配置
程序
分步过程
要手动生成本地证书,请执行以下操作:
指定证书 ID、域名和公用名。
user@host> request security pki generate-certificate-request certificate-id ca-ipsec domain-name example.net subject CN=abc
验证
要查看证书签名请求,请输入 show security pki certificate-request detail
命令。
Certificate identifier: ca-ipsec Certificate version: 1 Issued to: CN = abc Public key algorithm: rsaEncryption(1024 bits) 30:81:89:02:81:81:00:da:ea:cd:3a:49:1f:b7:33:3c:c5:50:fb:57 de:17:34:1c:51:9b:7b:1c:e9:1c:74:86:69:a4:36:77:13:a7:10:0e 52:f4:2b:52:39:07:15:3f:39:f5:49:d6:86:70:4b:a6:2d:73:b6:68 39:d3:6b:f3:11:67:ee:b4:40:5b:f4:de:a9:a4:0e:11:14:3f:96:84 03:3c:73:c7:75:f5:c4:c2:3f:5b:94:e6:24:aa:e8:2c:54:e6:b5:42 c7:72:1b:25:ca:f3:b9:fa:7f:41:82:6e:76:8b:e6:d7:d2:93:9b:38 fe:fd:71:01:2c:9b:5e:98:3f:0c:ed:a9:2b:a7:fb:02:03:01:00:01 Fingerprint: 0f:e6:2e:fc:6d:52:5d:47:6e:10:1c:ad:a0:8a:4c:b7:cc:97:c6:01 (sha1) f8:e6:88:53:52:c2:09:43:b7:43:9c:7a:a2:70:98:56 (md5)
示例:手动加载 CA 和本地证书
此示例说明如何手动加载 CA 和本地证书。
要求
准备工作:
生成公钥-私钥对。请参阅 自签名数字证书。
创建 CA 配置文件。请参阅 了解证书颁发机构配置文件。
只有 CA 证书需要 CA 配置文件,本地证书不需要
生成证书请求。请参阅 示例:手动为本地证书生成 CSR 并将其发送到 CA 服务器。
概述
在此示例中,您将下载 local.cert 和 ca.cert 证书,并将其保存到设备上的 /var/tmp/ 目录中。
从 CA 下载证书后,将其传输到设备(例如,使用 FTP),然后加载它们。
您可以将以下证书文件加载到运行 Junos OS 的设备上:
用于标识本地设备的本地或最终实体 (EE) 证书。此证书是您的公钥。
包含 CA 公钥的 CA 证书。
列出 CA 吊销的任何证书的 CRL。
您可以将多个 EE 证书加载到设备上。
配置
程序
分步过程
要将证书文件加载到设备上,请执行以下操作:
加载本地证书。
[edit] user@host> request security pki local-certificate load certificate-id local.cert filename /var/tmp/local.cert
加载 CA 证书。
[edit] user@host> request security pki ca-certificate load ca-profile ca-profile-ipsec filename /var/tmp/ca.cert
检查 CA 证书的指纹,如果此 CA 证书正确,请选择“是”接受。
验证
要验证是否正确加载了证书,请在操作模式下输入 show security pki local-certificate
和 show security pki ca-certificate
命令。
Fingerprint: e8:bf:81:6a:cd:26:ad:41:b3:84:55:d9:10:c4:a3:cc:c5:70:f0:7f (sha1) 19:b0:f8:36:e1:80:2c:30:a7:31:79:69:99:b7:56:9c (md5) Do you want to load this CA certificate ? [yes,no] (no) yes
删除证书(CLI 过程)
您可以删除自动或手动生成的本地或受信任的 CA 证书。
使用以下命令删除本地证书:
user@host>
clear security pki local certificate certificate-id (certificate-id
| all | system-generated )
指定证书 ID 以删除具有特定 ID 的本地证书、用于 all
删除所有本地证书或指定 system-generated
删除自动生成的自签名证书。
删除自动生成的自签名证书时,设备会生成一个新证书。
要删除 CA 证书:
user@host>
clear security pki ca-certificate ca-profile (ca-profile-name
| all)
指定 CA 配置文件以删除特定 CA 证书,或用于 all
删除永久存储中存在的所有 CA 证书。
在删除 CA 证书之前,系统会要求您进行确认。
变更历史表
是否支持某项功能取决于您使用的平台和版本。 使用 Feature Explorer 查看您使用的平台是否支持某项功能。
ECDSA Keypair not supported with SCEP for cert_id <certificate id>
,因为 SCEP 不支持 ECDSA 密钥。scep
。scep
。