注册证书
了解如何注册和管理各种 PKI 证书。
CA 颁发数字证书,这有助于通过证书验证在两个端点之间建立安全连接。以下主题介绍如何使用 SCEP 联机或本地配置 CA 证书。
在线注册数字证书:配置概述
可以使用 CMPv2 或 SCEP 注册数字证书。要在线注册证书,请执行以下作:
在设备上生成密钥对。请参阅 自签名数字证书。
创建一个或多个 CA 配置文件,其中包含特定于 CA 的信息。请参阅 示例:配置 CA 配置文件。
仅对于 SCEP,请注册 CA 证书。请参阅 使用 SCEP 在线注册 CA 证书。
从您之前加载了其 CA 证书的 CA 注册本地证书。请参阅 示例:使用 SCEP 联机注册本地证书。
配置自动重新注册。请参阅 示例:使用 SCEP 自动续订本地证书。
证书注册
- 在线 CA 证书注册
- 本地证书请求
- CMPv2 和 SCEP 证书注册
- 示例:手动生成本地证书的 CSR
- 示例:手动加载 CA 和本地证书
- 配置 PKI 和 SSL 转发代理以对用户进行身份验证
- 为自适应服务接口配置数字证书
在线 CA 证书注册
借助 SCEP,您可以将瞻博网络设备配置为在线获取 CA 证书,然后开始在线注册指定的证书 ID。CA 公钥验证来自远程对等方的证书。
本地证书请求
创建本地证书请求时,设备将从您之前使用同一证书 ID 生成的密钥对生成 PKCS #10 格式的 EE 证书。
使用者名称以公用名 (CN)、组织单位 (OU)、组织名称 (O)、地点 (L)、州 (ST)、国家 (C) 和域组件 (DC) 的形式与本地证书请求相关联。此外,SAN 还以下列形式关联:
-
IP地址
-
E-mail地址
-
FQDN
用引号指定 DN 格式的主题名称,包括域组件 (DC)、公用名 (CN)、序列号 (SN)、组织单位名称 (OU)、组织名称 (O)、位置 (L)、州/省 (ST) 和国家 (C)。
某些 CA 不支持将电子邮件地址作为证书中的域名。如果本地证书请求中未包含电子邮件地址,则在将设备配置为动态对等方时,不能将电子邮件地址用作本地 IKE ID。相反,可以使用 FQDN(如果它在本地证书中),也可以将本地 ID 字段留空。如果未为动态对等方指定本地 ID,请在 IPsec 隧道另一端设备上的对等方 ID 字段中输入 hostname.domain-name 该对等方的 ID。
CMPv2 和 SCEP 证书注册
根据部署环境,可以使用 CMPv2 或 SCEP 进行联机证书注册。本主题介绍这两种协议之间的一些基本区别。
表 1 介绍了 CMPv2 和 SCEP 证书注册协议之间的差异。
属性 |
CMPv2 |
SCEP |
|---|---|---|
支持的证书类型: |
DSA、ECDSA 和 RSA |
仅限 RSA |
支持的标准 |
RFC 4210 和 4211 |
IETF 草案 |
CMPv2 和 SCEP 之间的证书注册、重新注册请求和响应有所不同。使用 CMPv2 时,无需单独的命令来注册 CA 证书。借助 SCEP,您可以使用 request security pki ca-certificate enroll 命令注册 CA 证书并指定 CA 配置文件。CA 配置文件必须配置 CMPv2 或 SCEP。
示例:手动生成本地证书的 CSR
此示例说明如何手动生成 CSR。
要求
生成公钥和私钥。请参阅 自签名数字证书。
概述
在此示例中,您将使用之前生成的公钥-私钥对 (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
验证
要查看 CSR,请输入 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 证书。
一个 CRL,其中列出了被 CA 吊销的任何证书。
您可以将多个 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
配置 PKI 和 SSL 转发代理以对用户进行身份验证
非域用户可以配置 PKI 来验证流量的完整性、机密性和真实性。PKI 包括 CA 颁发的数字证书、证书有效期和到期日期、有关证书所有者和颁发者的详细信息以及安全策略。
对于任何非域用户或非域计算机上的域用户,管理员会指定强制门户以强制用户执行防火墙身份验证(如果防火墙支持流量类型的强制门户)。用户输入姓名和密码并通过防火墙认证后,设备会获取防火墙认证用户或群组信息,并可以强制执行用户防火墙策略,对用户进行相应控制。除了强制门户之外,如果事件日志中不提供 IP 地址或用户信息,用户可以再次登录到 Windows PC 以生成事件日志条目。然后,系统相应地生成用户的身份验证条目。
要使设备能够通过 HTTP 对用户进行身份验证,用户必须配置并启用 SSL 转发代理。您需要在安全策略中生成本地证书、添加 SSL 终止配置文件、添加 SSL 代理配置文件并引用 SSL 代理配置文件。如果未启用 SSL 转发代理,则防火墙无法对使用 HTTPS 的用户进行身份验证,但对于使用 HTTP、FPT 和 Telnet 的用户,可以按预期执行身份验证。
要生成 PKI 并启用 SSL 转发代理,请执行以下作:
为本地数字证书生成 PKI 公钥-私钥密钥对。
user@host# request security pki generate-key-pair certificate-id ssl-inspect-ca size 2048 type rsa
为给定的 DN 手动生成自签名证书。
user@host# request security pki local-certificate generate-self-signed certificate-id ssl-inspect-ca domain-name www.mycompany.net subject "CN=www.mycompany.com,OU=IT,O=MY COMPANY,L=Sunnyvale,ST=CA,C=US" email security-admin@mycompany.net
定义要用于 SSL 终止服务的访问配置文件。
user@host# set services ssl termination profile for_userfw server-certificate ssl-inspect-ca
在 SSL 代理配置文件中将加载的证书配置为 root-ca。
user@host# set services ssl proxy profile ssl-inspect-profile root-ca ssl-inspect-ca
如果您不想导入整个 CA 列表,也不希望丢弃会话,请指定
ignore-server-auth-failure选项。user@host# set services ssl proxy profile ssl-inspect-profile actions ignore-server-auth-failure
将 SSL 终止配置文件添加到安全策略中。
user@host# set security policies from-zone untrust to-zone trust policy p1 then permit firewall-authentication user-firewall ssl-termination-profile for_userfw
提交配置。
user@hot# commit
使用 功能浏览器 确认平台和版本对特定功能的支持。
查看 特定于平台的 SSL 终止服务行为 部分,了解与您的平台相关的说明。
为自适应服务接口配置数字证书
数字证书实现使用 PKI,它要求您生成一个由公钥和私钥组成的密钥对。密钥使用随机数生成器创建,用于对数据进行加密和解密。在不使用数字证书的网络中,启用 IPsec 的设备使用私钥加密数据,IPsec 对等方使用公钥解密数据。
使用数字证书时,密钥共享过程需要更加复杂。首先,您和您的 IPsec 对等方请求 CA 向您发送包含 CA 公钥的 CA 证书。接下来,您请求 CA 为您分配一个本地数字证书,其中包含公钥和一些附加信息。CA 处理您的请求时,会使用 CA 的私钥对您的本地证书进行签名。然后在路由器中安装 CA 证书和本地证书,并在远程设备中加载 CA,然后才能与对等方建立 IPsec 隧道。
对于数字证书,Junos OS 支持 VeriSign、Entrust、Cisco Systems 和 Microsoft Windows CA 的自适应服务 (AS) 和多服务 PIC。
通过以下任务,您可以实现数字证书。
配置证书颁发机构属性
CA 是受信任的第三方组织,负责创建、注册、验证和吊销数字证书。
要为 AS 和多服务 PIC 配置 CA 及其属性,请在 [edit security pki] 层次结构级别包含以下语句:
[edit security pki] ca-profile ca-profile-name { ca-identity ca-identity; enrollment { url url-name; retry number-of-attempts; retry-interval seconds; } }
配置 CA 属性的任务包括:
指定 CA 配置文件名称
CA 配置文件包含 CA 或 RA 的名称和 URL,以及一些重试计时器设置。兼容 Entrust、VeriSign、Cisco Systems 和 Microsoft 颁发的 CA 证书。
要指定 CA 配置文件名称,请在[edit security pki]安全级别包括 :ca-profile statement
[edit security pki] ca-profile ca-profile-name;
您还需要指定证书请求中使用的 CA 标识的名称。此名称通常是域名。要指定 CA 身份的名称,请在以下[edit security pki ca-profile ca-profile-name]级别包含语ca-identity句:
[edit security pki ca-profile ca-profile-name]
ca-identity ca-identity;
指定注册 URL
指定路由器应在其中发送基于 SCEP 的证书注册请求的 CA 位置。要通过命名 CA URL 来指定 CA 位置,请在[edit security pki enrollment]层次结构级别包含语url句:
[edit security pki ca-profile ca-profile-name enrollment]
url url-name;
url-name 是 CA 位置。格式为 http://CA_name,其中 CA_name 是 CA 主机 DNS 名称或 IP 地址。
指定注册属性
您可以指定重新向路由器发送证书请求的次数,以及路由器在两次注册尝试之间等待的时间(以秒为单位)。
默认情况下,注册重试次数设置为 0,即无限次重试。要指定将向路由器重新发送证书请求的次数,请在[edit security pki ca-profile ca-profile-name enrollment]层次结构级别包含以下retry number-of-attempts语句:
[edit security pki ca-profile ca-profile-name enrollment]
retry number-of-attempts;
的 number-of-attempts 范围是从 0 到 100。
要指定路由器在两次注册尝试之间应等待的时间(以秒为单位),请在[edit security pki ca-profile ca-profile-name enrollment]层次结构级别包含以下retry-interval seconds语句:
[edit security pki ca-profile ca-profile-name enrollment]
retry-interval seconds;
的 seconds 范围是从 0 到 3600。
配置证书吊销列表
配置 CRL 的任务是:
指定 LDAP URL
您可以指定 CA 存储其当前 CRL 的 LDAP 服务器的 URL。如果 CA 在数字证书中包含证书分发点 (CDP),则无需为 LDAP 服务器指定 URL。CDP 是证书中的一个字段,其中包含有关如何检索证书的 CRL 的信息。路由器使用此信息自动下载 CRL。
如果要使用与证书中指定的 CDP 不同的 CDP,请配置 LDAP URL。您配置的任何 LDAP URL 都优先于证书中包含的 CDP。
您最多可以为每个 CA 配置文件配置三个 URL。
如果 LDAP 服务器需要密码才能访问 CRL,则需要包含语 password 句。
要将路由器配置为从 LDAP 服务器检索 CRL,请在层级添加 url 语句并指定 URL 名称 [edit security pki ca-profile ca-profile-name revocation-check crl] :
[edit security pki ca-profile ca-profile-name revocation-check crl]
url {
url-name;
}
url-name 是 CA LDAP 服务器名称。格式为 ldap://server-name,其中 server-name CA 主机 DNS 名称或 IP 地址。
要指定使用密码访问 CRL,请在[edit security pki ca-profile ca-profile-name revocation-check crl url]层次结构级别包含以下password语句:
[edit security pki ca-profile ca-profile-name revocation-check crl url] password password;
password 是 LDAP 服务器访问所需的秘密密码。
配置 CRL 更新之间的间隔
默认情况下,CRL 更新之间的时间间隔为 24 小时。要配置 CRL 更新之间的时间量,请在[edit security pki ca-profile ca-profile-name revocation-check crl]层次结构级别包含语refresh-interval句:
[edit security pki ca-profile ca-profile-name revocation-check crl]
refresh-interval number-of-hours;
小时数的范围是从 0 到 8784。
如果 CRL 下载失败,则覆盖证书验证
默认情况下,如果路由器无法访问 LDAP URL 或检索有效的 CRL,则证书验证将失败,并且未建立 IPsec 隧道。要覆盖此行为并允许在未下载 CRL 时对 IPsec 对等方进行身份验证,请在[edit security pki ca-profile ca-profile-name revocation-check crl]层次结构级别包含以下disable on-download-failure语句:
[edit security pki ca-profile ca-profile-name revocation-check crl] disable on-download-failure;
管理数字证书
配置 CA 配置文件后,您可以向受信任的 CA 请求 CA 证书。接下来,您必须生成公钥/私钥对。当密钥对可用时,您可以在线或手动生成本地证书。
管理数字证书的任务包括:
为 AS 和多服务 PIC 申请 CA 数字证书
有关如何配置 CA 配置文件的信息,请参阅 配置证书颁发机构属性。
在此示例中,证书将联机注册并自动安装到路由器中。
user@host> request security pki ca-certificate enroll ca-profile entrust
Received following certificates: Certificate: C=us, O=juniper Fingerprint:00:8e:6f:58:dd:68:bf:25:0a:e3:f9:17:70:d6:61:f3:53:a7:79:10 Certificate: C=us, O=juniper, CN=First Officer Fingerprint:bc:78:87:9b:a7:91:13:20:71:db:ac:b5:56:71:42:ad:1a:b6:46:17 Certificate: C=us, O=juniper, CN=First Officer Fingerprint:46:71:15:34:f0:a6:41:76:65:81:33:4f:68:47:c4:df:78:b8:e3:3f Do you want to load the above CA certificate ? [yes,no] (no) yes
如果直接从 CA 获取 CA 证书(例如,通过电子邮件附件或网站下载),则可以使用命令进行安装 request security pki ca-certificate load 。有关更多信息,请参阅 CLI 资源管理器。
生成公钥/私钥对
获取 AS PIC 或 MS-PIC 的证书后,必须先生成公钥-私钥,然后才能生成本地证书。公钥包含在本地数字证书中,私钥用于解密从对等方收到的数据。要生成公钥-私钥密钥对,请发出 request security pki generate-key-pair certificate-id certificate-id-name 命令。
以下示例说明如何为 AS PIC 或 MS-PIC 生成公钥-私钥:
user@host>request security pki generate-key-pair certificate-id local-entrust2 Generated key pair local-entrust2, key size 1024 bits
生成并注册本地数字证书
您可以在线或手动生成和注册本地数字证书。要使用 AS PIC 或 MS-PIC 的 SCEP 在线生成和注册本地证书,请发出 request security pki local-certificate enroll 命令。要以 PKCS-10 格式手动生成本地证书请求,请发出 request security pki generate-certificate-request 命令。
如果手动创建本地证书请求,则还必须手动加载证书。要在路由器中手动安装证书,请发出 request security pki local-certificate load 命令。
以下示例说明如何手动生成本地证书请求并将其发送到 CA 进行处理:
user@host> request security pki generate-certificate-request certificate-id local-entrust2 domain-name router2.example.com filename entrust-req2 subject cn=router2.example.com
Generated certificate request -----BEGIN CERTIFICATE REQUEST----- MIIBoTCCAQoCAQAwGjEYMBYGA1UEAxMPdHAxLmp1bmlwZXIubmV0MIGfMA0GCSqG SIb3DQEBAQUAA4GNADCBiQKBgQCiUFklQws1Ud+AqN5DDxRs2kVyKEhh9qoVFnz+ Hz4c9vsy3B8ElwTJlkmIt2cB3yifB6zePd+6WYpf57Crwre7YqPkiXM31F6z3YjX H+1BPNbCxNWYvyrnSyVYDbFj8o0Xyqog8ACDfVL2JBWrPNBYy7imq/K9soDBbAs6 5hZqqwIDAQABoEcwRQYJKoZIhvcNAQkOMTgwNjAOBgNVHQ8BAf8EBAMCB4AwJAYD VR0RAQH/BBowGIIWdHAxLmVuZ2xhYi5qdW5pcGVyLm5ldDANBgkqhkiG9w0BAQQF AAOBgQBc2rq1v5SOQXH7LCb/FdqAL8ZM6GoaN5d6cGwq4bB6a7UQFgtoH406gQ3G 3iH0Zfz4xMIBpJYuGd1dkqgvcDoH3AgTsLkfn7Wi3x5H2qeQVs9bvL4P5nvEZLND EIMUHwteolZCiZ70fO9Fer9cXWHSQs1UtXtgPqQJy2xIeImLgw== -----END CERTIFICATE REQUEST----- Fingerprint: 0d:90:b8:d2:56:74:fc:84:59:62:b9:78:71:9c:e4:9c:54:ba:16:97 (sha1) 1b:08:d4:f7:90:f1:c4:39:08:c9:de:76:00:86:62:b8 (md5)
受信任的 CA 会对本地证书进行数字签名并将其返回给您。将证书文件复制到路由器并加载证书:
user@host> request security pki local-certificate load filename /tmp/router2-cert certificate-id local-entrust2 Local certificate local-entrust2 loaded successfully
CA 发送给您的文件的名称可能与证书标识符的名称不匹配。但是, certificate-id 名称必须始终与您为路由器生成的密钥对的名称匹配。
加载本地证书和 CA 证书后,可以在 IPsec 配置中引用证书。使用 AS 和多服务 PIC 中的默认值,无需配置 IPsec 提议或 IPsec 策略。但是,您必须配置指定使用数字证书的 IKE 提议,引用 IKE 提议并在 IKE 策略中查找证书,然后将 CA 配置文件应用于服务集。
配置路由器证书的自动重新注册
使用该 auto-re-enrollment 语句可在指定的现有路由器证书到期日期之前配置自动重新注册该证书。此函数会自动重新注册路由器证书。重新注册过程会请求 CA 颁发具有新到期日期的新路由器证书。自动重新注册的日期由以下参数确定:
re-enroll-trigger-time- 路由器证书开始日期/时间(证书生成时间)与有效期之间差值的百分比。re-enroll-trigger-time用于指定在到期前应启动自动重新注册的时间。validity-period—路由器证书在生成证书时设置的签发后过期的天数。
默认情况下,除非显式配置,否则不会启用此功能。这意味着,未配置自动重新注册的证书将在其正常到期日期过期。
该 ca-profile 语句指定将联系哪个 CA 以重新注册即将过期的证书。这是颁发原始路由器证书的 CA。
该 challenge-password 语句向颁发 CA 提供路由器证书的密码,该密码由管理员设置,通常从 CA 的 SCEP 注册网页获取。密码长度为 16 个字符。
或者,可以使用 re-generate-keypair 语句重新生成路由器证书密钥对。
要配置自动重新注册属性,请在 [edit security pki] 层次结构级别包含以下语句:
[edit security pki] auto-re-enrollment { certificate-id { ca-profile ca-profile-name; challenge-password password; re-enroll-trigger-time-percentage percentage; re-generate-keypair; validity-period days; } }
percentage 是重新注册触发时间的百分比。范围可以从 1% 到 99%。
days 是有效期的天数。范围可以从 1 到 4095。
配置证书自动重新注册的任务包括:
指定证书 ID
certificate-id使用语句指定要配置为自动重新注册的路由器证书的名称。要指定证书 ID,请在[edit security pki auto-re-enrollment]层次结构级别包含语句:
[edit security pki auto-re-enrollment] certificate-id certificate-name;
指定 CA 配置文件
ca-profile使用语句指定先前由证书 ID 指定的路由器证书中的 CA 配置文件的名称。要指定 CA 配置文件,请在[edit security pki auto-re-enrollment certificate-id certificate-name]层次结构级别包含语句:
[edit security pki auto-re-enrollment certificate-id certificate-name] ca-profile ca-profile-name;
引用 ca-profile 的内容必须在层次结构级别上配置 [edit security pki ca-profile ca-profile-name enrollment url] 注册 URL。
指定质询密码
质询密码由 PKI 证书 ID 指定的 CA 用于重新注册和撤销。要指定质询密码,请在 [edit security pki auto-re-enrollment certificate-id certificate-name] 层次结构级别包含以下语句:
[edit security pki auto-re-enrollment certificate-id certificate-name] challenge-password password;
指定重新注册触发时间
使用语 re-enroll-trigger-time 句设置重新注册的到期前有效期的百分比。要指定重新注册触发时间,请在 [edit security pki auto-re-enrollment certificate-id certificate-name] 层次结构级别包含以下语句:
[edit security pki auto-re-enrollment certificate-id certificate-name] re-enroll-trigger-time percentage;
percentage 是重新注册触发时间的百分比。范围可以从 1% 到 99%。
指定 Regenerate 密钥对
配置重新生成密钥对时,将在重新注册过程中生成新的密钥对。成功重新注册后,新密钥对和新证书将替换旧证书和密钥对。要生成新的密钥对,请在 [edit security pki auto-re-enrollment certificate-id certificate-name] 层次结构级别包含以下语句:
[edit security pki auto-re-enrollment certificate-id certificate-name] re-generate-keypair;
指定有效期
语 validity-period 句指定指定的路由器证书保持有效的路由器证书有效期(以天为单位)。要指定有效期,请在 [edit security pki auto-re-enrollment certificate-id certificate-name] 层次结构级别包含语句:
[edit security pki auto-re-enrollment certificate-id certificate-name] validity-period days;
days 是有效期的天数。范围可以从 1 到 4095。
使用 SCEP 注册 CA 证书
使用 SCEP 在线注册 CA 证书
开始之前:
生成公钥和私钥对。
创建 CA 配置文件。
要在线注册 CA 证书,请执行以下作:
使用 SCEP 联机检索 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 配置文件。请参阅 示例:配置 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 管理员为证书注册和重新注册提供的质询密码。
该RFC8894规定,当现有证书对续订请求进行签名时,质询密码是可选的。质询密码不是强制性的。即使没有质询密码,也可以提交配置。
至少满足以下值之一:
用于在 IKE 协商中标识证书所有者的域名,例如
qqq.example.net。用于与电子邮件语句进行 IKE 协商的证书所有者的身份,例如
qqq@example.net。如果设备配置了静态 IP 地址,则为 IP 地址,例如
10.10.10.10.
用引号指定 DN 格式的主题名称,包括域组件 (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 版开始,当您尝试使用带有 SCEP 的 ECDSA 密钥注册本地证书时,会显示一条警告消息 ECDSA Keypair not supported with SCEP for cert_id <certificate id> ,因为 SCEP 不支持 ECDSA 密钥。
验证
要验证配置是否工作正常,请输入 show security pki 命令。
示例:使用 SCEP 自动续订本地证书
可以使用 CMPv2 或 SCEP 注册数字证书。此示例说明如何使用 SCEP 自动续订本地证书。
要求
开始之前:
在线或手动获取证书。请参阅 数字证书。
获取本地证书。请参阅 示例:使用 SCEP 联机注册本地证书。
概述
您可以让设备自动续订通过在线注册获得的证书或手动加载的证书。自动证书续订使您不必在证书到期前记住在设备上续订证书,并帮助始终保持证书有效。
默认情况下,自动证书续订处于禁用状态。您可以启用自动证书续订功能,并将设备配置为在证书过期前自动发出重新注册证书的请求。您可以指定何时发送证书重新注册请求;重新注册的触发器是证书在到期前剩余的生存期的百分比。例如,如果要在证书的剩余生存期为 10% 时发送续订请求,则为重新注册触发器配置 10。
要使自动证书续订正常工作,请确保设备能够访问 CA 服务器,并且证书在续订过程中仍保留在设备上。此外,您还必须确保颁发证书的 CA 可以返回相同的 DN。CA 不得修改新证书中的使用者名称或备用使用者名称扩展名。
您可以为所有 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 在线注册 CA 证书
命令 request security pki local-certificate enroll cmpv2 使用 CMPv2 联机注册本地数字证书。此命令根据 CA 服务器配置加载终端实体证书和 CA 证书。您必须在注册 CA 证书之前创建 CA 配置文件,因为注册 URL 是从 CA 配置文件中提取的。
本主题介绍使用 CMPv2 协议注册证书。
证书注册和重新注册消息
CMPv2协议主要涉及证书注册和重新注册作。证书注册过程包括初始化请求和初始化响应消息,而证书重新注册包括密钥更新请求和密钥更新响应消息。
CMPv2 服务器使用初始化响应 (IP) 进行响应。响应包含 EE 证书以及可选的 CA 证书。您可以根据 RFC 4210 使用共享密钥信息验证消息完整性和消息真实性初始化响应。您还可以使用颁发者 CA 公钥验证初始化响应。重新注册 EE 证书之前,必须在设备上注册有效的 CA 证书。
初始化响应或密钥更新响应消息可以包含颁发者 CA 证书或 CA 证书链。响应中收到的 CA 证书将被视为受信任的 CA 证书,如果受信任的 CA 存储,则存储在接收设备中。这些 CA 证书稍后将用于 EE 证书验证。
我们不支持重新注册 CA 证书。如果 CA 证书过期,则必须取消注册当前 CA 证书,然后重新注册。
带有颁发者 CA 证书的 EE 证书
在简单情景中,初始化响应消息可能仅包含 EE 证书,在这种情况下,CA 信息将单独提供。证书存储在 EE 证书存储中。
初始化响应消息可以包含 EE 证书以及自签名颁发者 CA 证书。EE 证书首先存储在证书存储中,然后检查 CA 证书。如果找到 CA 证书,并且初始化响应消息中 CA 证书的使用者 DN 与 EE 证书的颁发者 DN 匹配,则 CA 证书将存储在 CMPv2 证书注册命令中指定的 CA 配置文件名称的 CA 证书存储中。如果 CA 证书存储中已存在 CA 证书,则不执行任何作。
带 CA 证书链的 EE 证书
在许多部署中,EE 证书由证书链中的中间 CA 颁发。在这种情况下,初始化响应消息可以包含 EE 证书以及链中的 CA 证书列表。验证 EE 证书都需要中间 CA 证书和自签名根 CA 证书。可能还需要 CA 链来验证从具有类似层次结构的对等设备接收的证书。以下部分介绍如何存储 CA 链中的证书。
在 图 1 中,初始化响应消息包括证书链中的 EE 证书和三个 CA 证书。
的最终实体证书
在上图中,EE 证书存储在 EE 证书存储中。每个 CA 证书都需要一个 CA 配置文件。主题为 DN Sub11-CA 的 CA 证书是链中的第一个 CA,是 EE 证书的颁发者。它存储在使用 CMPv2 certificate enrollment 命令指定的 CA 配置文件中。
设备检查 CA 存储的链中是否存在每个剩余的 CA 证书。如果 CA 存储中不存在 CA 证书,则会保存该证书并为其创建 CA 配置文件。新的 CA 配置文件名称是使用 CA 证书序列号的最低有效 16 位数字创建的。如果序列号长度超过 16 位,则超过 16 位的最有效数字将被截断。如果序列号短于 16 位,则其余最高有效数字用 0s 填充。例如,如果序列号为 11111000100010001000,则 CA 配置文件名称为 1000100010001000。如果序列号为 10001000,则 CA 配置文件名称为 0000000010001000。
多个证书序列号可能具有相同的最低有效 16 位数字。在这种情况下, -00 附加到配置文件名称以创建唯一的 CA 配置文件名称;通过将附加的数字从 -01 最大递增到 -99来创建其他 CA 配置文件名称。例如,CA 配置文件名称可以是 1000100010001000、 1000100010001000-00和 1000100010001000-01。
在路由器上安装数字证书
数字证书是一种通过可信第三方(称为 CA)验证身份的电子方式。或者,您可以使用自签名证书来证明您的身份。您使用的 CA 服务器可以由独立的 CA 或您自己的组织拥有和运营,在这种情况下,您将成为自己的 CA。如果您使用独立 CA,则必须与他们联系,以获取其 CA 和 CRL 服务器的地址(用于获取证书和 CRL),以及他们在提交个人证书请求时所需的信息。当您是自己的 CA 时,您可以自己确定此信息。PKI 提供用于数字证书管理的基础架构。
手动申请数字证书
要手动获取数字证书,您必须配置 CA 配置文件,生成私钥-公钥对,创建本地证书,然后在路由器上加载证书。加载证书后,可以在 IPsec–VPN 配置中引用这些证书。
以下过程显示如何配置 CA 配置文件:
了解 ACME 协议
了解 ACME 协议以及如何注册证书。
什么是ACME协议
自动化证书管理环境 (ACME) 协议是多个 PKI 服务器(如 Let's Encrypt)使用的新 PKI 注册标准。Let's 加密证书允许在防火墙中免费使用 Web 服务器证书,这可以在瞻博网络安全连接和 J-Web 中使用。Junos OS 每 25 天出现一次,就会自动重新注册 Let's Encrypt 证书。
ACME 协议允许从 Let's Encrypt 服务器或启用 ACME 的服务器注册证书。防火墙从 Let's Encrypt 服务器注册证书,瞻博网络安全连接验证证书,而无需复制和下载任何 CA 证书。
使用 Let's Encrypt 时,请确保 Let's Encrypt 服务器能够将域名解析为防火墙接口的 IP 地址,如 图 2 所示。Let's Encrypt 服务器必须能够访问 TCP 端口 80 上的防火墙接口。在证书注册期间,防火墙会暂时自动启用此传入请求。如果防火墙或中间设备或路由器阻止了 TCP 端口 80,则证书注册将失败。
防火墙使用端口 443 与 Let's Encrypt Server 进行出站通信。确保您的网络安全策略允许此类出站流量。来自防火墙的出站连接不支持通过端口 80 与 Let's Encrypt 服务器的通信。
的名称解析
局限性
-
不支持 dns-01 和外部帐户绑定。
-
当 J-Web 侦听端口 80 时,无法使用 ACME
-
不支持通配符证书,如
*.mydomain.com;相反,您可以注册多个 DNS 名称。
使用 Let's Encrypt Server 注册本地证书
此示例说明如何使用 Let's Encrypt 注册本地证书。
-
指定 CA 配置文件。ACME 注册过程不包括 CRL 验证。
[edit] user@host# set security pki ca-profile ISRG_Root_X1 ca-identity ISRG_Root_X1 user@host# set security pki ca-profile ISRG_Root_X1 revocation-check disable user@host# set security pki ca-profile Lets_Encrypt ca-identity Lets_Encrypt user@host# set security pki ca-profile Lets_Encrypt enrollment url https://acme-v02.api.letsencrypt.org/directory
-
提交配置。
[edit] user@host# commit
-
加载 CA 证书。
[edit] user@host> request security pki ca-certificate load ca-profile ISRG_Root_X1 filename ISRG_Root_X1.pem
要下载 ISRG_Root_X1.pem 证书,请参阅 KB84991。
-
创建 ACME 密钥 ID。
[edit] user@host> request security pki generate-key-pair size 2048 type rsa acme-key-id mydomain
-
准备本地证书的注册。
[edit] user@host> request security pki generate-key-pair size 2048 type rsa certificate-id service-mydomain
-
使用一个域名注册证书。
使用 Let's Encrypt 时,请确保 Let's Encrypt 服务器能够将域名解析为防火墙接口的 IP 地址,如 图 2 所示。Let's Encrypt 服务器必须能够访问 TCP 端口 80 上的防火墙接口。在证书注册期间,防火墙会暂时自动启用此传入请求。如果防火墙或中间设备或路由器阻止了 TCP 端口 80,则证书注册将失败。
防火墙使用端口 443 与 Let's Encrypt Server 进行出站通信。确保您的网络安全策略允许此类出站流量。来自防火墙的出站连接不支持通过端口 80 与 Let's Encrypt 服务器的通信。
[edit] user@host> request security pki local-certificate enroll acme acme-key-id mydoamin certificate-id service-mydomain ca-profile Lets_Encrypt domain-name jweb.mydomain.com email jweb@acmejnpr.net letsencrypt-enrollment yes terms-of-service agree
注册具有多个域名的证书。
[edit] user@host> request security pki local-certificate enroll acme acme-key-id mydomain certificate-id service-mydomain ca-profile Lets_Encrypt domain-name jweb.mydomain.com,remote-acess.mydomain.com email jweb@acmejnpr.net letsencrypt-enrollment yes terms-of-service agree
-
注册完成后,颁发的证书将加载到 certificate-id service-mydomian 中。
手动重新注册本地证书
要在线重新注册本地证书,请执行以下作:
-
发起重新注册请求。
[edit] user@host> request security pki local-certificate re-enroll acme acme-key-id mydomain certificate-id serice-mydomain ca-profile Lets_Encrypt re-generate-keypair
-
重新注册完成后,颁发的证书将加载到证书 ID service-mydomian 中。
删除 ACME 帐户
要删除 ACME 帐户,请执行以下步骤:
-
发出以下命令。
[edit] user@host> clear security pki acme account acme-key-id mydomain ca-profile Lets_Encrypt
仅当 ACME 由注册激活或创建时,才能删除 ACME 帐户密钥。