15-PKI配置
本章节下载: 15-PKI配置 (791.43 KB)
目 录
1.4.8 配置注册受理机构服务器和CRL发布点所属的VPN实例
1.21.1 PKI实体向CA申请证书配置举例(采用RSA Keon CA服务器)
1.21.2 PKI实体向CA申请证书配置举例(采用Windows 2003 Server CA服务器)
1.21.3 PKI实体向CA申请证书配置举例(采用OpenCA服务器)
1.21.4 使用RSA数字签名方法进行IKE协商认证配置举例(采用Windows 2003 Server CA服务器)
PKI(Public Key Infrastructure,公钥基础设施)是一个利用公钥理论和技术来实现并提供信息安全服务的具有通用性的安全基础设施。
PKI系统以数字证书的形式分发和使用公钥。数字证书是用户的身份和用户所持有的公钥的结合。基于数字证书的PKI系统,能够为网络通信和网络交易(例如电子政务和电子商务)提供各种安全服务。有关公钥的详细介绍请参见“安全配置指导”中的“公钥管理”。
数字证书是经CA(Certificate Authority,证书颁发机构)签名的、包含公钥及相关的用户身份信息的文件,它建立了用户身份信息与用户公钥的关联。CA对数字证书的签名保证了证书是可信任的。数字证书的格式遵循ITU-T X.509国际标准,目前最常用的为X.509 V3标准。数字证书中包含多个字段,包括证书签发者的名称、被签发者的名称(或者称为主题)、公钥信息、CA对证书的数字签名、证书的有效期等。
本手册中涉及四类证书:CA证书、RA(Registration Authority,证书注册机构)证书、本地证书和对端证书。
· CA证书是CA持有的证书。若PKI系统中存在多个CA,则会形成一个CA层次结构,最上层的CA是根CA,它持有一个自签名的证书(即根CA对自己的证书签名),下一级CA证书分别由上一级CA签发。这样,从根CA开始逐级签发的证书就会形成多个可信任的链状结构,每一条路径称为一个证书链。
· RA证书是RA持有的证书,由CA签发。RA受CA委托,可以为CA分担部分管理工作。RA在PKI系统中是可选的。
· 本地证书是本设备持有的证书,根据签发者的不同分为如下两种:
¡ 由CA签发的本地证书。
¡ 由设备签发的本地证书,即自签名证书。自签名证书的颁发者和拥有者相同。在设备无法向CA申请本地证书时,可以由设备代替CA签发生成自签名证书,实现简单的证书颁发功能。当设备上的业务模块使用自签名证书与对端通信时,无需从CA获取数字证书,配置相对简单,但此方式存在安全风险,仅适用于对安全性要求不高的场景。
· 对端证书是其它设备持有的证书,由CA签发。
CA根证书的指纹,即根证书内容的散列值,该值对于每一个证书都是唯一的。
由于用户名称的改变、私钥泄漏或业务中止等原因,需要存在一种方法将现行的证书吊销,即废除公钥及相关的用户身份信息的绑定关系。在PKI中,可以通过发布CRL的方式来公开证书的吊销信息。当一个或若干个证书被吊销以后,CA签发CRL来声明这些证书是无效的,CRL中会列出所有被吊销的证书的序列号。因此,CRL提供了一种检验证书有效性的方式。
CA策略是指CA在受理证书请求、颁发证书、吊销证书和发布CRL时所采用的一套标准。通常,CA以一种叫做CPS(Certification Practice Statement,证书惯例声明)的文档发布其策略。CA策略可以通过带外(如电话、磁盘、电子邮件等)或其它方式获取。由于不同的CA使用不同的策略,所以在选择信任的CA进行证书申请之前,必须理解CA策略。
一个PKI体系由终端PKI实体、CA、RA和证书/CRL发布点四类实体共同组成,如下图1-1。
图1-1 PKI体系结构图
终端PKI实体是PKI服务的最终使用者,可以是个人、组织、设备(如路由器、交换机)或计算机中运行的进程,后文简称为PKI实体。
CA是一个用于签发并管理数字证书的可信PKI实体。其作用包括:签发证书、规定证书的有效期和发布CRL。
RA是一个受CA委托来完成PKI实体注册的机构,它接收用户的注册申请,审查用户的申请资格,并决定是否同意CA给其签发数字证书,用于减轻CA的负担。建议在部署PKI系统时,RA与CA安装在不同的设备上,减少CA与外界的直接交互,以保护CA的私钥。
证书/CRL发布点用于对用户证书和CRL进行存储和管理,并提供查询功能。通常,证书/CRL发布点位于一个目录服务器上,该服务器可以采用LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)协议、HTTP等协议工作。其中,较为常用的是LDAP协议,它提供了一种访问发布点的方式。LDAP服务器负责将CA/RA服务器传输过来的数字证书或CRL进行存储,并提供目录浏览服务。用户通过访问LDAP服务器获取自己和其他用户的数字证书或者CRL。
下面是一个PKI实体申请、使用和维护本地证书的典型工作过程,其中由RA来完成PKI实体的注册:
(1) PKI实体生成密钥对。
(2) PKI实体向RA提出证书申请;
(3) RA审核PKI实体身份,将PKI实体身份信息和公钥以数字签名的方式发送给CA;
(4) CA验证数字签名,同意PKI实体的申请,并颁发证书;
(5) RA接收CA返回的证书,将其发布到LDAP服务器(或其它形式的发布点)上以提供目录浏览服务,并通知PKI实体证书发布成功;
(6) PKI实体通过SCEP(Simple Certificate Enrollment Protocol,简单证书注册协议)从RA处获取证书,利用该证书可以与其它PKI实体使用加密、数字签名进行安全通信。
(7) 两个PKI实体互相发送自己的本地证书给对端以互相验证对端身份的合法性。
(8) 若两个PKI实体均验证对端证书为合法,则两端互相信任,可以建立数据连接;否则,两端互不信任,不能建立数据连接。
(9) 当用户的私钥泄漏或证书即将到期时,可删除本地证书再重新申请新的证书。
PKI技术能满足人们对网络交易安全保障的需求。PKI的应用范围非常广泛,并且在不断发展之中,下面给出几个应用实例。
VPN是一种构建在公用通信基础设施上的专用数据通信网络,它可以利用网络层安全协议(如IPsec)和建立在PKI上的加密与数字签名技术来获得完整性保护。
电子邮件的安全也要求机密性、完整性、数据源认证和不可抵赖。目前发展很快的安全电子邮件协议S/MIME(Secure/Multipurpose Internet Mail Extensions,安全/多用途Internet邮件扩充协议),是一个允许发送加密和有签名邮件的协议。该协议的实现需要依赖于PKI技术。
为了透明地解决Web的安全问题,在浏览器和服务器之间进行通信之前,先要建立SSL连接。SSL协议允许在浏览器和服务器之间进行加密通信,并且利用PKI技术对服务器和浏览器端进行身份验证。
目前,H3C的PKI特性可为安全协议IPsec(IP Security,IP安全)、SSL(Secure Sockets Layer,安全套接字层)提供证书管理机制。
实际组网应用中,某企业的各分支机构属于不同的VPN,且各VPN之间的业务相互隔离。如果各分支机构的用户要通过位于总部VPN中的服务器申请证书,则需要PKI证书申请支持VPN多实例。
如图1-2所示,连接客户端PKI entity的PE设备,通过VPN多实例将私网客户端PKI entity的证书申请报文透传给网络另一端的CA server,CA server接收并处理证书申请信息,连接服务器端的PE设备将CA server签发的证书也通过VPN多实例透传回PKI entity,满足了私网VPN业务隔离情况下的证书申请。
(1) 配置PKI实体
(2) 配置PKI域
(3) (可选)配置证书和CRL的存储路径
(4) 申请本地证书
请至少选择以下一项任务进行配置。
¡ 离线申请本地证书
(5) (可选)申请国密双证书
(6) (可选)停止证书申请过程
(7) (可选)手工获取证书
将CA签发的与PKI实体所在PKI域有关的证书保存到本地,以提高证书的查询效率,减少向PKI证书发布点查询的次数。
(8) (可选)配置证书验证
(9) (可选)导出证书
(10) (可选)删除证书
(11) (可选)配置证书访问控制策略
通过配置证书访问控制策略,对用户访问权限进行控制,保证服务器端的安全性。
(12) (可选)开启本地证书到期提醒功能
(13) (可选)开启设备信任导入的本地证书功能
(14) (可选)Smart Token绑定功能
(15) (可选)获取CRL
(16) (可选)配置CRL提前更新功能
(17) (可选)开启PKI告警功能
PKI实体的参数是PKI实体的身份信息,CA根据PKI实体提供的身份信息来唯一标识证书申请者。
一个有效的PKI实体参数中必须至少包括以下参数之一:
· DN(Distinguished Name,识别名),包含以下参数:
¡ 实体通用名。对于DN参数,实体的通用名必须配置。
¡ 实体所属国家代码,用标准的两字符代码表示。例如,“CN”是中国的合法国家代码,“US”是美国的合法国家代码
¡ 实体所在地理区域名称
¡ 实体所属组织名称
¡ 实体所属组织部门名称
¡ 实体所属州省
· FQDN(Fully Qualified Domain Name,完全合格域名),是PKI实体在网络中的唯一标识
· IP地址
PKI实体的配置必须与CA证书颁发策略相匹配,因此建议根据CA证书颁发策略来配置PKI实体,如哪些PKI实体参数为必选配置,哪些为可选配置。申请者的身份信息必须符合CA证书颁发策略,否则证书申请可能会失败。
Windows 2000 CA服务器的SCEP插件对证书申请的数据长度有一定的限制。PKI实体配置项超过一定数据长度时,CA将不会响应PKI实体的证书申请。这种情况下如果通过离线方式提交申请,Windows 2000 CA服务器可以完成签发。其它CA服务器(例如RSA服务器和OpenCA服务器)目前没有这种限制。
PKI实体配置任务如下:
(1) 配置PKI实体DN属性
(2) 配置PKI实体的FQDN
(3) 配置PKI实体的IP地址
(4) 配置PKI实体的头衔
subject-dn命令配置的识别名优先级高于通过common-name、country、locality、organization、organization-unit和state命令单独配置的识别名。
(1) 进入系统视图。
system-view
(2) 创建一个PKI实体,并进入该PKI实体视图。
pki entity entity-name
(3) 配置PKI实体的通用名。
common-name common-name-sting
缺省情况下,未配置PKI实体的通用名。
(4) 配置PKI实体所属国家代码。
country country-code-string
缺省情况下,未配置PKI实体所属国家代码。
(5) 配置PKI实体所在地理区域名称。
locality locality-name
缺省情况下,未配置PKI实体所在地理区域名称。
(6) 配置PKI实体所属组织名称。
organization org-name
缺省情况下,未配置PKI实体所属组织名称。
(7) 配置PKI实体所属组织部门名称。
organization-unit org-unit-name
缺省情况下,未配置PKI实体所属组织部门名称。
(8) 配置PKI实体所属州或省的名称。
state state-name
缺省情况下,未配置PKI实体所属州或省的名称。
(1) 进入系统视图。
system-view
(2) 创建一个PKI实体,并进入该PKI实体视图。
pki entity entity-name
(3) 配置PKI实体的识别名,包括通用名、国家代码、地理区域名称、组织名称、组织部门名称和省份名称参数。
subject-dn dn-string
缺省情况下,未配置PKI实体的识别名。
(1) 进入系统视图。
system-view
(2) 创建一个PKI实体,并进入该PKI实体视图。
pki entity entity-name
(3) 配置PKI实体的FQDN。
fqdn fqdn-name-string
缺省情况下,未配置PKI实体的FQDN。
(1) 进入系统视图。
system-view
(2) 创建一个PKI实体,并进入该PKI实体视图。
pki entity entity-name
(3) 配置PKI实体的IP地址。
ip { ip-address | interface interface-type interface-number }
缺省情况下,未配置PKI实体的IP地址。
(1) 进入系统视图。
system-view
(2) 创建一个PKI实体,并进入该PKI实体视图。
pki entity entity-name
(3) 配置PKI实体的头衔。
title title
缺省情况下,未配置PKI实体的头衔。
PKI实体在进行PKI证书申请操作之前需要配置一些注册信息来配合完成申请的过程。这些信息的集合就是一个PKI域。
PKI域是一个本地概念,创建PKI域的目的是便于其它应用(比如IKE、SSL)引用PKI的配置。
PKI域配置任务如下:
(1) 创建PKI域
(2) 配置设备信任的CA名称
(3) 指定用户申请证书的PKI实体名称
(4) 配置证书申请的注册受理机构
(5) 配置注册受理机构服务器的URL
(6) (可选)配置注册受理机构服务器和CRL发布点所属的VPN实例
(7) (可选)配置证书申请状态查询的周期和最大次数
(8) 指定LDAP服务器
在如下情况下,此配置必选:
¡ 需要通过LDAP协议获取证书。
¡ 需要通过LDAP协议获取CRL时,如果CRL的URL中未包含发布点地址信息。
(9) 配置验证CA根证书时使用的指纹
¡ 当证书申请方式为自动方式时,此配置必选。
¡ 当证书申请方式为手工方式时,此配置可选,若不配置,需要用户自行验证根证书指纹。
(10) 指定证书申请时使用的密钥对
(11) (可选)指定证书的扩展用途
(12) (可选)指定PKI操作产生的协议报文使用的源IP地址
(13) (可选)指定PKSCS#7证书使用的加密算法类型
(1) 进入系统视图。
system-view
(2) 创建一个PKI域,并进入PKI域视图。
pki domain domain-name
获取本地证书之前,若当前的PKI域中没有CA证书,则需要首先获取CA证书。获取CA证书之前,必须配置信任的CA名称。
如果在同一台服务器主机上配置了两个CA,且它们的URL是相同的,则需要在PKI域中指定的信任的CA名称来区分它们。设备信任的CA的名称只是在获取CA证书时使用,申请本地证书时不会用到。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 配置设备信任的CA名称。
ca identifier name
缺省情况下,未配置信任的CA名称。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 指定用于申请证书的PKI实体名称。
certificate request entity entity-name
缺省情况下,未指定用于申请证书的PKI实体名称。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 配置证书申请的注册受理机构。
certificate request from { ca | ra }
缺省情况下,未指定证书申请的注册受理机构。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 配置注册受理机构服务器的URL。
certificate request url url-string
缺省情况下,未指定注册受理机构服务器的URL。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 配置注册受理机构服务器的URL所属的VPN实例。
vpn-instance vpn-instance-name
缺省情况下,注册受理机构服务器和CRL发布点属于公网。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 配置证书申请状态查询的周期和最大次数。
certificate request polling { count count | interval interval }
缺省情况下,证书申请查询间隔为20分钟,最多查询50次。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 指定LDAP服务器。
ldap-server host hostname [ port port-number ] [ vpn-instance vpn-instance-name ]
缺省情况下,未指定LDAP服务器。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 配置验证CA根证书时使用的指纹。
root-certificate fingerprint { md5 | sha1 } string
缺省情况下,未指定验证根证书时使用的指纹。
证书申请过程使用了一对主机密钥:私钥和公钥。私钥由用户保留,公钥和其它信息则交由CA进行签名,从而产生证书。在PKI域中可以引用以下算法的密钥对:
· DSA密钥对
· ECDSA密钥对
· RSA密钥对
· SM2密钥对
有关DSA、ECDSA、RSA和SM2密钥对的具体配置请参见“安全配置指导”中的“公钥管理”。
申请证书前必须指定使用的密钥对,但该密钥对不必已经存在。申请过程中,如果指定的密钥对不存在,PKI实体可以根据指定的名字、算法和密钥模数长度生成相应的密钥对。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 指定证书申请时使用的密钥对。请选择其中一项进行配置。
¡ 指定RSA密钥对。
public-key rsa { { encryption name encryption-key-name [ length key-length ] | signature name signature-key-name [ length key-length ] } * | general name key-name [ length key-length ] }
¡ 指定ECDSA密钥对。
public-key ecdsa name key-name [ secp192r1 | secp256r1 | secp384r1 | secp521r1 ]
¡ 指定DSA密钥对。
public-key dsa name key-name [ length key-length ]
¡ 指定SM2密钥对。
public-key sm2 { { encryption name encryption-key-name | signature name signature-key-name } * | general name key-name }
缺省情况下,未指定所使用的密钥对。
证书申请中会带有指定的证书扩展用途,但最终签发的证书中带有哪些扩展用途,由CA自己的策略决定,可能与PKI域中指定的配置不完全一致。应用程序(例如IKE,SSL)认证过程中是否会使用这些用途,由应用程序的策略决定。
目前支持以下证书扩展用途:
· 证书扩展用途为IKE,即IKE对等体使用的证书。
· 证书扩展用途为SSL客户端,即SSL客户端使用的证书。
· 证书扩展用途为SSL服务器端,即SSL服务器端使用的证书。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 指定证书的扩展用途。
usage { ike | ssl-client | ssl-server } *
缺省情况下,证书可用于所有用途。
如果希望PKI实体操作产生的PKI协议报文的源IP地址是一个特定的地址,例如当CA服务器上的策略要求仅接受来自指定地址或网段的证书申请时,则需要通过配置指定该地址。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 指定PKI操作产生的协议报文使用的源IP地址。
(IPv4网络)
source ip { ip-address | interface interface-type interface-number }
(IPv6网络)
source ipv6 { ipv6-address | interface interface-type interface-number }
缺省情况下,PKI操作产生的协议报文的源IP地址为系统根据路由查找到的出接口的地址。
证书在线申请过程中需要生成PKCS#7证书,该证书的封装与解封使用的加密算法类型需要与CA服务器支持的对称加密算法类型保持一致。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 指定PKSCS#7证书使用的加密算法类型。
pkcs7-encryption-algorithm { 3des-cbc | aes-cbc-128 | des-cbc | sm4-cbc }
undo pkcs7-encryption-algorithm
缺省情况下,PKCS#7证书使用的加密算法为des-cbc。
获取到本地的证书和CRL有默认存储路径,但同时也允许用户根据自己的需要修改证书文件和CRL文件的存储路径。证书和CRL的存储路径可以指定为不同的路径。
修改了证书或CRL的存储目录后,原存储路径下的证书文件(以.cer和.p12为后缀的文件)和CRL文件(以.crl为后缀的文件)将被移动到新路径下保存。
重新配置了证书或CRL的存储路径后为了防止证书或CRL文件的丢失,重启或关闭设备前一定要保存配置。
(1) 进入系统视图。
system-view
(2) 配置证书和CRL的存储路径。
pki storage { certificates | crls } dir-path
缺省情况下,证书和CRL的存储路径为设备存储介质上的PKI目录。
申请证书的过程就是PKI实体向CA自我介绍的过程。PKI实体向CA提供身份信息,以及相应的公钥,这些信息将成为颁发给该PKI实体证书的主要组成部分。
PKI实体向CA提出证书申请,有离线和在线两种方式。
· 离线申请方式下,CA允许申请方通过带外方式(如电话、磁盘、电子邮件等)向CA提供申请信息。
· 在线申请方式下,实体通过SCEP协议向CA提交申请信息。在线申请有自动申请和手工申请两种方式。下文将详细介绍这两种方式的具体配置。
在线申请本地证书需要遵循以下配置限制和指导:
· 本地证书已存在的情况下,为保证密钥对与现存证书的一致性,不建议执行命令public-key local create或public-key local destroy创建或删除与现存证书使用的密钥对相同名称的密钥对,否则会导致现存证书不可用。有关公钥相关命令的详细介绍,请参见“安全命令参考”中的“公钥管理”。
· 若要重新申请本地证书,请先使用pki delete-certificate命令删除本地证书,然后再执行public-key local create命令生成新的密钥对。
· 一个PKI域中,只能存在DSA、ECDSA、RSA或SM2中一种密钥算法类型的本地证书。采用DSA和ECDSA算法时,一个PKI域中最多只能同时申请和存在一个本地证书;采用RSA或SM2算法时,一个PKI域中最多只能同时申请和存在一个用途为签名的RSA或SM2算法本地证书和一个用途为加密的RSA或SM2算法本地证书。
申请证书之前必须保证设备的系统时钟与CA的时钟同步,否则设备可能会错误地认为证书不在有效期内,导致申请证书失败。调整系统时钟的方法请参见“基础配置指导”中的“设备管理”。
配置证书申请方式为自动方式后,当有应用协议与PKI联动时,如果应用协议中的PKI实体无本地证书(例如,IKE协商采用数字签名方法进行身份认证,但在协商过程中没有发现本地证书),则PKI实体自动通过SCEP协议向CA发起证书申请,并在申请成功后将本地证书获取到本地保存。在证书申请之前,若当前的PKI域中没有CA证书,也会首先自动获取CA证书。
证书自动续签是指,系统在证书有效期到达之前自动申请新的证书,申请成功后新证书立即替换原有证书。
对于系统自动申请到的证书,当它们即将过期时或正式过期后,系统不会自动向CA发起重新申请。这种情况下,可能会由于证书过期造成应用协议的业务中断。
为避免由于证书过期造成业务中断,请在选择自动方式申请证书时配置证书自动续签功能。
由于某些CA服务器不支持PKI实体使用相同的通用名多次申请证书,为了保证自动续签证书成功,请配置automatic-append common-name参数使设备每次都使用新的通用名为PKI实体申请新的证书。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 配置证书申请为自动方式。
certificate request mode auto [ password { cipher | simple } string | renew-before-expire days [ reuse-public-key ] [ automatic-append common-name ] ] *
缺省情况下,证书申请为手工方式。
证书申请为自动方式时,可以指定吊销证书时使用的密码,是否需要指定密码是由CA服务器的策略决定的。
配置证书申请方式为手工方式后,需要手工执行申请本地证书的操作。手工申请成功后,设备将把申请到的本地证书自动获取到本地保存。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 配置证书申请为手工方式。
certificate request mode manual
缺省情况下,证书申请为手工方式。
(4) 退回系统视图。
quit
(5) 手工获取CA证书。
如果PKI域中不存在CA证书,需要手工获取CA证书。CA证书用来验证获取到的本地证书的真实性和合法性。
(6) 手工申请本地证书。
pki request-certificate domain domain-name [ password password ]
此命令不会被保存在配置文件中。
手工申请本地证书时,可以指定吊销证书时使用的密码,是否需要指定密码是由CA服务器的策略决定的。
当无法通过SCEP协议向CA在线申请证书时,可以采用此方式申请本地证书。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 配置证书申请为手工方式。
certificate request mode manual
缺省情况下,证书申请为手工方式。
(4) 退回系统视图。
quit
(5) 手工获取CA证书。
如果PKI域中不存在CA证书,需要手工获取CA证书。CA证书用来验证获取到的本地证书的真实性和合法性。
(6) 手工申请本地证书或生成PKCS#10证书申请。
pki request-certificate domain domain-name pkcs10 [ filename filename ]
此命令不会被保存在配置文件中。
(7) 通过带外方式将本地证书申请信息发送给CA。
(8) 通过带外方式将本地证书获取到本地。
(9) 将本地证书导入指定的PKI域中。
pki import domain domain-name { der local filename filename | p12 local filename filename | pem local [ filename filename ] }
国密标准使用签名证书和加密证书的双证书体系,签名证书关联的私钥由设备生成,加密证书关联的私钥由CA服务器分发。在导入加密证书之前,需要导入数字信封保护的加密私钥。导入签名和加密证书的流程,请参见“1.6.6 离线申请本地证书”。
密钥对导入之前:
· 需要通过FTP、TFTP等协议将密钥对文件传送到设备的存储介质中。如果设备所处的环境不允许使用FTP、TFTP等协议,则可以直接在终端上粘贴密钥对的内容。
· 导入加密证书关联的密钥对时指定的PKI域下的签名密钥对,必须是生成证书请求的签名密钥对。
(1) 进入系统视图。
system-view
(2) 加密证书关联的密钥对导入到指定的PKI域。
pki import domain domain-name gbt35276-2017 encryption-keypair [ filename filename ]
用户可以通过此配置停止正在进行中的证书申请过程。用户在证书申请时,可能由于某种原因需要改变证书申请的一些参数,比如通用名、国家代码、FQDN等,而此时证书申请过程正在进行,为了新的申请不与之前的申请发生冲突,建议先停止之前的申请,再进行新的申请。可以通过display pki certificate request-status命令查询正在进行中的证书申请过程。
另外,删除PKI域也可以停止对应的证书申请过程。
(1) 进入系统视图。
system-view
(2) 停止证书申请过程。
pki abort-certificate-request domain domain-name
此命令不会被保存在配置文件中。
获取证书的目的是:将CA签发的与PKI实体所在PKI域有关的证书存放到本地,以提高证书的查询效率,减少向PKI证书发布点查询的次数。
用户通过此配置可以将已存在的CA证书、本地证书或者外部PKI实体证书获取至本地保存。获取证书有两种方式:离线导入方式和在线方式。
· 离线导入方式:通过带外方式(如FTP、磁盘、电子邮件等)取得证书,然后将其导入至本地。如果设备所处的环境中没有证书的发布点、CA服务器不支持通过SCEP协议与设备交互、或者证书对应的密钥对由CA服务器生成,则可采用此方式获取证书。
· 在线方式:从证书发布服务器上在线获取证书并下载至本地,包括通过SCEP协议获取CA证书和通过LDAP协议获取本地或对端证书。
如果本地已有CA证书存在,则不允许执行在线方式获取CA证书的操作。若想重新获取,请先使用pki delete-certificate命令删除CA证书与本地证书后,再执行获取CA证书的命令。
如果PKI域中已经有本地证书或对端证书,仍然允许执行在线方式获取本地证书或对端证书,获取到的证书直接覆盖已有证书。但对于RSA算法的证书而言,一个PKI域中可以存在一个签名用途的证书和一个加密用途的证书,不同用途的证书不会相互覆盖。
如果使能了CRL检查,手工获取证书时会触发CRL检查,如果CRL检查时发现待获取的证书已经吊销,则获取证书失败。
设备根据自身的系统时间来判断当前的证书是否还在其有效期内,设备系统时间不准确可能导致设备对于证书有效期的判断出现误差或错误,例如认为实际还在有效期内证书已过期,因此请确保设备系统时间的准确性。
获取本地证书或对端证书之前必须完成以下操作:
· 在线获取本地证书和对端证书是通过LDAP协议进行的,因此在线获取本地证书或对端证书之前必须完成PKI域中指定LDAP服务器的配置。
· 离线导入证书之前,需要通过FTP、TFTP等协议将证书文件传送到设备的存储介质中。如果设备所处的环境不允许使用FTP、TFTP等协议,则可以直接采用在终端上粘贴证书内容的方式导入,但是粘贴的证书必须是PEM(Privacy Enhanced Mail,增强保密邮件)格式的,因为只有PEM格式的证书内容为可打印字符。
· 只有存在签发本地证书的CA证书链才能成功导入本地证书,这里的CA证书链可以是保存在PKI域中的,也可以是本地证书中携带的。若设备和本地证书中都没有CA证书链,则需要预先获取到CA证书链。导入对端证书时,需要满足的条件与导入本地证书相同。
· 离线导入含有被加密的密钥对的本地证书时,需要输入加密口令。请提前联系CA服务器管理员取得该口令。
(1) 进入系统视图。
system-view
(2) 手工获取证书。
¡ 离线导入方式
pki import domain domain-name { der { ca | local | peer } filename filename | p12 local filename filename | pem { ca | local | peer } [ filename filename ] }
¡ 在线方式
pki retrieve-certificate domain domain-name { ca | local | peer entity-name }
pki retrieve-certificate命令不会被保存在配置文件中。
在使用每一个证书之前,必须对证书进行验证。证书验证包括检查本地、CA证书是否由可信的CA签发,证书是否在有效期内,证书是否未被吊销。申请证书、获取证书以及应用程序使用PKI功能时,都会自动对证书进行验证,因此一般不需要使用命令行手工进行证书验证。如果用户希望在没有任何前述操作的情况下单独执行证书的验证,可以手工执行证书验证。
配置证书验证时可以设置是否必须进行CRL检查。CRL检查的目的是查看PKI实体的证书是否被CA吊销,若检查结果表明PKI实体的证书已经被吊销,那么该证书就不再被其它PKI实体信任。
· 如果配置为开启CRL检查,则需要首先从CRL发布点获取CRL。PKI域中未配置CRL发布点的URL时,从该待验证的证书中获取发布点信息:优先获取待验证的证书中记录的发布点,如果待验证的证书中没有记录发布点,则获取CA证书中记录的发布点(若待验证的证书为CA证书,则获取上一级CA证书中记录的发布点)。如果无法通过任何途径得到发布点,则通过SCEP协议获取CRL。由于设备通过SCEP获取CRL是在获取到CA证书和本地证书之后进行,因此该方式下必须保证设备已经获取到CA证书和本地证书。开启了CRL检查的情况下,如果PKI域中不存在相应的CRL、CRL获取失败、或者CRL检查时发现待获取的证书已经吊销,则手动申请证书、获取证书的操作将会失败。
· 如果配置为关闭CRL检查,则不需要获取CRL。
验证一个PKI域中的CA证书时,系统会逐级验证本域CA证书链上的所有CA证书的有效性,因此需要保证设备上存在该CA证书链上的所有上级CA证书所属的PKI域。验证某一级CA证书时,系统会根据该CA证书的签发者名(IssuerName)查找对应的上一级CA证书,以及上一级CA证书所属的(一个或多个)PKI域。若查找到了相应的PKI域,且该PKI域中开启了CRL检查,则根据该PKI域中的配置对待验证的CA证书进行吊销检查,否则不检查待验证的CA证书是否被吊销。检查CA证书链中的CA(根CA除外)是否被吊销后,从根CA逐级验证CA证书链的签发关系。
用户可以通过配置来灵活选择检查证书吊销情况的方法:
· 进行CRL检查。
· 忽略证书吊销检查。
如果同时指定了两种方法,则先进行CRL检查,当从CRL发布点所在服务器上获取不到CRL时,则忽略证书吊销检查。
指定了crl方法,必须保证CRL检查功能处于开启状态(通过crl check enable命令配置)。如果CRL检查功能处于关闭状态,则不进行CRL检查,认为本PKI域内所有证书可信。
指定了none方法,则忽略检查认为所有证书可信,CRL检查功能不生效。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 指定证书吊销情况检查的方法。
¡ 采用CRL检查。
revocation-check method crl [ none ]
¡ 忽略证书吊销检查。
revocation-check method none
缺省情况下,使用CRL方法检查证书吊销情况。
如果指定证书吊销情况检查的方法为none方式,则CRL检查功能不生效。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) (可选)配置CRL发布点的URL。
crl url url-string
缺省情况下,未指定CRL发布点的URL。
(4) (可选)配置注册受理机构服务器的URL。
vpn-instance vpn-instance-name
缺省情况下,注册受理机构服务器和CRL发布点属于公网。
(5) 开启CRL检查。
crl check enable
缺省情况下,CRL检查处于开启状态。
(6) 退回系统视图。
quit
(7) 获取CA证书。
在进行本地证书验证操作之前必须首先获取CA证书。
(8) (可选)获取CRL并下载至本地。
请参见“获取CRL”。
验证非根CA证书和本地证书时,如果PKI域中没有CRL,系统会自动获取CRL再进行验证;如果PKI域已经存在CRL,则可以继续获取CRL,获取到的新CRL会覆盖已有CRL。
获取到的CRL不一定是本域CA签发的,但肯定是本域CA证书链上的一个CA证书签发的。
(9) 验证证书的有效性。
pki validate-certificate domain domain-name { ca | local }
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 关闭CRL检查。
undo crl check enable
缺省情况下,CRL检查处于开启状态。
(4) 退回系统视图。
quit
(5) 获取CA证书。
在进行本地证书验证操作之前必须首先获取CA证书。
(6) 验证证书的有效性。
pki validate-certificate domain domain-name { ca | local }
此命令不会被保存在配置文件中。
PKI域中已存在的CA证书、本地证书可以导出到文件中保存或导出到终端上显示,导出的证书可以用于证书备份或供其它设备使用。
以PKCS12格式导出所有证书时,PKI域中必须有本地证书,否则会导出失败。
导出证书时若不指定文件名,则表示要将证书导出到终端上显示,这种方式仅PEM格式的证书才支持。
导出证书时若指定文件名,则表示证书将导出到指定文件中保存。导出RSA算法类型的本地证书时,设备上实际保存证书的证书文件名称并不一定是用户指定的名称,它与本地证书的密钥对用途相关,具体的命名规则请参见PKI命令手册。
(1) 进入系统视图。
system-view
(2) 导出证书。
¡ 导出DER格式的证书。
pki export domain domain-name der { all | ca | local } filename filename
¡ 导出PKCS12格式的证书。
pki export domain domain-name p12 { all | local } passphrase p12-key filename filename
¡ 导出PEM格式的证书。
pki export domain domain-name pem { { all | local } [ { 3des-cbc | aes-128-cbc | aes-192-cbc | aes-256-cbc | des-cbc } pem-key ] | ca } [ filename filename ]
由CA颁发的证书都会设置有效期,证书生命周期的长短由签发证书的CA来确定。当用户的私钥被泄漏或证书的有效期快到时,应该重新申请新的证书。以下情况需要删除证书:
· 证书过期时,可以通过此配置删除已经存在的本地证书、CA证书或对端证书。
· 用户的私钥被泄漏或希望重新申请证书时,可以通过此配置删除已经存在的本地证书。
删除CA证书时将同时删除所在PKI域中的本地证书、所有对端证书以及CRL。
重新申请证书之前,应该先使用命令public-key local destroy删除旧的密钥对,再使用public-key local create生成新的密钥对。相关命令的详细介绍可参考“安全命令参考”中的“公钥管理”。
(1) 进入系统视图。
system-view
(2) 删除证书。
pki delete-certificate domain domain-name { ca | local | peer [ serial serial-num ] }
如果未指定序列号,则删除所有对端证书。
通过配置证书的访问控制策略,可以对安全应用中的用户访问权限进行进一步的控制,保证了与之通信的服务器端的安全性。例如,在HTTPS(Hypertext Transfer Protocol Secure,超文本传输协议的安全版本)应用中,HTTPS服务器可以通过引用证书访问控制策略,根据自身的安全需要对客户端的证书合法性进行检测。
一个证书访问控制策略中可以定义多个证书属性的访问控制规则(通过rule命令配置),每一个访问控制规则都与一个证书属性组关联。一个证书属性组是一系列属性规则(通过attribute命令配置)的集合,这些属性规则是对证书的颁发者名、主题名以及备用主题名进行过滤的匹配条件。
如果一个证书中的相应属性能够满足一条访问控制规则所关联的证书属性组中所有属性规则的要求,则认为该证书和该规则匹配。如果一个证书访问控制策略中有多个规则,则按照规则编号从小到大的顺序遍历所有规则,一旦证书与某一个规则匹配,则立即结束检测,不再继续匹配其它规则。
规则的匹配结果决定了证书的有效性,具体如下:
· 如果证书匹配到的规则中指定了permit关键字,则该证书将被认为通过了访问控制策略的检测且有效。
· 如果证书匹配到的规则中指定了deny关键字,则该证书将被认为未通过访问控制策略的检测且无效。
· 若遍历完所有规则后,证书没有与任何规则匹配,则该证书将因不能通过访问控制策略的检测而被认为无效。
· 若证书访问控制策略下某访问控制规则关联的证书属性组不存在,或者该证书属性组没有配置任何属性,则认为被检测的证书都能够与此规则匹配。
· 若安全应用(如HTTPS)引用的证书访问控制策略不存在,则认为该应用中被检测的证书有效。
(1) 进入系统视图。
system-view
(2) 创建证书属性组,并进入证书属性组视图。
pki certificate attribute-group group-name
(3) 配置证书颁发者名、证书主题名及备用主题名的属性规则。
attribute id { alt-subject-name { fqdn | ip } | { issuer-name | subject-name } { dn | fqdn | ip } } { ctn | equ | nctn | nequ} attribute-value
缺省情况下,对证书颁发者名、证书主题名及备用主题名没有限制。
(4) 退回系统视图。
quit
(5) 创建证书访问控制策略,并进入证书访问控制策略视图。
pki certificate access-control-policy policy-name
(6) 配置证书属性的访问控制规则。
rule [ id ] { deny | permit } group-name
缺省情况下,未配置证书属性的访问控制规则,认为所有证书都可以通过该控制策略的过滤。
一个证书访问控制策略中可配置多个访问控制规则。
由于证书都会设置有效期,当需要检查PKI域下的本地证书是否到期时,可以开启本地证书到期提醒功能,每隔1小时,将会对证书做一次检查。在距离本地证书到期30天内(含30天)或证书已经到期时,系统会打印本地证书到期提醒日志,且每隔一天打印一次。
(1) 进入系统视图。
system-view
(2) 开启本地证书到期提醒功能。
pki certificate logging { local-will-expire | local-has-expired } enable
缺省情况下,本地证书到期提醒功能处于关闭状态。
缺省情况下,为了确保所导入本地证书是合法和可信的,在导入本地证书时,设备会用CA证书对导入的本地证书进行校验,即设备上必须存在签发本地证书的CA证书才能成功导入本地证书。当用户完全信任所要导入的本地证书但设备上不存在CA证书时,会导致本地证书导入失败。通过开启设备信任导入的本地证书功能,可以解决此问题。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 开启设备信任导入的本地证书功能。
trust-local-cert enable
缺省情况下,设备信任导入的本地证书功能处于关闭状态。
本命令的支持情况与设备型号有关,请以设备的实际情况为准。
F1000系列 |
型号 |
说明 |
F1000-X-G5系列 |
F1000-A-G5、F1000-S-G5 |
不支持 |
F1000-C-G5、F1000-C-G5-LI |
不支持 |
|
F1000-E-G5、F1000-H-G5 |
不支持 |
|
F1000-X-XI系列 |
F1000-D-XI、F1000-E-XI |
不支持 |
F100系列 |
型号 |
说明 |
F100-X-G5系列 |
F100-A-G5、F100-E-G5 |
不支持 |
F100-C-G5、F100-M-G5、F100-S-G5 |
不支持 |
|
F100-C-A系列 |
F100-C-A2、F100-C-A1 |
支持 |
F100-X-XI系列 |
F100-C-XI、F100-S-XI |
不支持 |
F100-A-XI |
支持 |
Smart Token(智能密码钥匙)是指符合GM/T 0016-2012标准的第三方硬件设备,通过它能实现数字证书的带外加载。使用本功能将指定的Smart Token绑定到PKI域之后,使用该PKI域的业务(比如SSL或IKE)可以直接使用该Smart Token中携带的本地证书,无需设备向CA申请本地证书。
若该PKI域中原先存在本地证书,不支持将Smart Token绑定到该PKI域。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 将Smart Token绑定到PKI域。
bind smart-token
缺省情况下,Smart Token未绑定到PKI域。
设备插入Smart Token后,当需要使用Smart Token中携带的本地证书进行加解密或签名操作时,会校验设备上配置的用户PIN是否与Smart Token中的PIN一致,若不一致无法使用该Smart Token中携带的数字证书。
一台设备只能为Smart Token配置一个它所使用的用户PIN。
配置Smart Token使用的用户PIN前,需要联系Smart Token管理员获取用户PIN。
(1) 进入系统视图。
system-view
(2) 为Smart Token配置使用的用户PIN。
pki smart-token user-pin { cipher | simple } string
缺省情况下,未为Smart Token配置使用的用户PIN。
获取CRL即设备通过HTTP协议、LDAP协议或者SCEP协议从CRL发布点获取最新CRL的过程。
CRL获取有手工获取CRL和自动获取CRL两种方式:
· 手工获取CRL:通过在设备上执行手工获取CRL的命令,按需获取最新CRL。配置后,设备立即连接CRL发布点来获取CRL。获取CRL成功后,设备把获取到的CRL保存到本地。
· 自动获取CRL:由设备按照配置的CRL更新周期,自动获取最新CRL。到达指定的更新周期后,设备会自动连接CRL发布点来获取CRL,获取成功后将CRL保存到本地。如果本地有CRL,则会替换原先的CRL。此种方式适用于对证书检查要求比较严格,需要及时更新CRL以便获取最新的证书吊销情况的场景下(例如银行系统)。
获取到的CRL可以是本域CA签发的,也可以不是本域CA签发的,但必须是本域CA证书链上的一个CA证书对应的CA签发的。
配置自动获取CRL后,由于设备是根据配置的更新周期来自动获取CRL的,因此当CRL即将过期或正式过期后,设备不一定正好处于自动获取CRL的时间节点,导致由于CRL过期造成不能过滤掉已吊销的证书。因此建议将自动获取CRL的更新周期调整为合适的值,以防止本地CRL不能及时更新。
获取CRL前,必须完成以下操作:
(1) 通过ca identifier命令指定设备信任的CA名称。
(2) PKI域中存在CA证书。如果不存在,请通过pki retrieve-certificate domain domain-name ca命令获取CA证书。
(3) 保证设备的系统时钟与CA的时钟同步,否则设备可能会错误地认为CRL不在有效期内,导致获取CRL失败。调整系统时钟的方法请参见“基础配置指导”中的“设备管理”。
(1) 进入系统视图。
system-view
(2) (可选)依次执行如下步骤,配置CRL发布点的URL。
a. 进入PKI域视图。
pki domain domain-name
b. 配置CRL发布点的URL。
crl url url-string
c. 退回系统视图。
quit
如果不配置CRL发布点URL,则需保证CA证书或本地证书中包含CRL发布点信息。
(3) 配置手工获取CRL。
pki retrieve-crl domain domain-name
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) (可选)配置CRL发布点的URL。
crl url url-string
如果不配置CRL发布点URL,则需保证CA证书或本地证书中包含CRL发布点信息。
(4) 配置自动获取CRL的更新周期。
crl update-period hours
缺省情况下,不自动更新CRL。
配置管理员在对多台设备进行统一配置管理时,会在多台设备上使用同一个配置文件下发CRL的更新设置。此时,CRL的过期时间为相同的时间,当过期时间到达时,多台设备会同时向CRL发布点请求新的CRL。为了减轻CRL发布点的并发负载,可以通过本命令配置CRL提前更新时间并指定为随机模式,将不同设备向CRL发布点请求新的CRL的时间分散在CRL过期前的某一时间段内。
建议通过本命令开启CRL提前更新功能,避免CRL过期造成使用证书的业务震荡。同时根据CRL发布点的发布周期,灵活配置CRL提前更新时间。
当CRL提前更新时间指定为0或者1分钟时,不支持同时指定为随机模式。
(1) 进入系统视图。
system-view
(2) 进入PKI域视图。
pki domain domain-name
(3) 配置CRL提前更新功能并设置CRL的提前更新时间。
crl update-prefetch minutes [ random ]
缺省情况下,CRL提前更新功能处于关闭状态。
开启了PKI的告警功能之后,PKI会生成告警信息,以向网管软件报告本模块的重要事件。该信息将发送至SNMP模块,通过设置SNMP中告警信息的发送参数,来决定告警信息输出的相关属性。有关告警信息的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
如果希望生成并输出某种类型的PKI告警信息,则需要保证PKI的全局告警功能以及相应类型的告警功能均处于开启状态。如果希望取消生成指定类型的PKI告警信息,只需要保证相应类型的告警功能被关闭即可。
(1) 进入系统视图。
system-view
(2) 开启PKI模块的告警功能。
snmp-agent trap enable pki [ ca-cert-invalid | ca-cert-valid | crl-http-failure | crl-http-success | crl-invalid | crl-ldap-failure | crl-ldap-success | crl-scep-failure | crl-scep-success | crl-valid | global | local-cert-has-expired | local-cert-invalid | local-cert-ldap-failure| local-cert-ldap-success | local-cert-nearly-expired | local-cert-scep-failure | local-cert-scep-success | local-cert-valid ] *
缺省情况下,PKI模块的告警功能处于关闭状态。
在完成上述配置后,在任意视图下执行display命令可以显示配置后PKI的运行情况,通过查看显示信息验证配置的效果。
表1-1 PKI显示和维护
操作 |
命令 |
显示证书访问控制策略的配置信息 |
display pki certificate access-control-policy [ policy-name ] |
显示证书属性组的配置信息 |
display pki certificate attribute-group [ group-name ] |
显示证书内容 |
display pki certificate domain domain-name { ca | local | peer [ serial serial-num ] } |
显示PKI域的证书续签状态 |
display pki certificate renew-status [ domain domain-name ] |
显示证书申请状态 |
display pki certificate request-status [ domain domain-name ] |
显示存储在本地的CRL |
display pki crl domain domain-name |
显示设备上的Smart Token信息 |
display pki smart-token |
· 当采用Windows Server作为CA时,需要安装SCEP插件。在这种情况下,配置PKI域时,需要使用certificate request from ra命令指定PKI实体从RA注册申请证书。
· 当采用RSA Keon软件时,不需要安装SCEP插件。在这种情况下,配置PKI域时,需要使用certificate request from ca命令指定PKI实体从CA注册申请证书。
· 当采用OpenCA软件时,需要启用SCEP功能,在这种情况下,配置PKI域时,需要使用certificate requeset from ra命令指定PKI实体从RA注册申请证书。
配置PKI实体Device向RSA Keon CA服务器申请本地证书。
图1-3 PKI实体向RSA Keon CA申请证书配置组网图
(1) 创建CA服务器myca
在本例中,CA服务器上首先需要进行基本属性Nickname和Subject DN的配置。其它属性选择缺省值。其中,Nickname为可信任的CA名称(本例中为myca),Subject DN为CA的DN属性,包括CN、OU、O和C。
(2) 配置扩展属性
基本属性配置完毕之后,还需要在生成的CA服务器管理页面上对“Jurisdiction Configuration”进行配置,主要内容包括:根据需要选择合适的扩展选项;启动自动颁发证书功能;添加可以自动颁发证书的地址范围。
以上配置完成之后,还需要保证设备的系统时钟与CA的时钟同步才可以正常使用设备来申请证书和获取CRL。
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 2.2.2.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
(2) 配置静态路由
本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为2.2.2.2,实际使用中请以具体组网情况为准,具体配置步骤如下。
[Device] ip route-static 3.3.3.1 24 2.2.2.2
(3) 配置接口加入安全域
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
(4) 配置安全策略放行Untrust与Local安全域之间的流量
# 配置名称为pkilocalout的安全策规则,使Device 可以向RSA Keon CA Server发送报文,具体配置步骤如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name pkilocalout
[Device-security-policy-ip-1-pkilocalout] source-zone local
[Device-security-policy-ip-1-pkilocalout] destination-zone untrust
[Device-security-policy-ip-1-pkilocalout] source-ip-host 2.2.2.1
[Device-security-policy-ip-1-pkilocalout] destination-ip-host 3.3.3.1
[Device-security-policy-ip-1-pkilocalout] action pass
[Device-security-policy-ip-1-pkilocalout] quit
# 配置名称为pkilocalin的安全策略规则,使Device可以接收和处理来自RSA Keon CA CA Server的报文,具体配置步骤如下。
[Device-security-policy-ip] rule name pkilocalin
[Device-security-policy-ip-2-pkilocalin] source-zone untrust
[Device-security-policy-ip-2-pkilocalin] destination-zone local
[Device-security-policy-ip-2-pkilocalin] source-ip-host 3.3.3.1
[Device-security-policy-ip-2-pkilocalin] destination-ip-host 2.2.3.1
[Device-security-policy-ip-2-pkilocalin] action pass
[Device-security-policy-ip-2-pkilocalin] quit
(5) 配置PKI实体,设置PKI实体的身份信息
[Device] pki entity aaa
[Device-pki-entity-aaa] common-name Device
[Device-pki-entity-aaa] quit
(6) 配置PKI域,约定PKI证书申请的相关信息
[Device] pki domain torsa
[Device-pki-domain-torsa] ca identifier myca
[Device-pki-domain-torsa] certificate request url http://1.1.2.22:446/80f6214aa8865301d07929ae481c7ceed99f95bd
[Device-pki-domain-torsa] certificate request from ca
[Device-pki-domain-torsa] certificate request entity aaa
[Device-pki-domain-torsa] crl url ldap://1.1.2.22:389/CN=myca
[Device-pki-domain-torsa] public-key rsa general name abc length 1024
[Device-pki-domain-torsa] quit
(7) 生成RSA算法的本地密钥对
[Device] public-key local create rsa name abc
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512,it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..........................++++++
.....................................++++++
Create the key pair successfully.
(8) 证书申请
# 获取CA证书并下载至本地。
[Device] pki retrieve-certificate domain torsa ca
The trusted CA's finger print is:
MD5 fingerprint:EDE9 0394 A273 B61A F1B3 0072 A0B1 F9AB
SHA1 fingerprint: 77F9 A077 2FB8 088C 550B A33C 2410 D354 23B2 73A8
Is the finger print correct?(Y/N):y
Retrieved the certificates successfully.
# 手工申请本地证书。(采用RSA Keon CA服务器申请证书时,必须指定password参数)
[Device] pki request-certificate domain torsa password 1111
Start to request general certificate ...
……
Certificate requested successfully.
# 通过以下显示命令可以查看申请到的本地证书信息。
[Device] display pki certificate domain torsa local
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
15:79:75:ec:d2:33:af:5e:46:35:83:bc:bd:6e:e3:b8
Signature Algorithm: sha1WithRSAEncryption
Issuer: CN=myca
Validity
Not Before: Jan 6 03:10:58 2013 GMT
Not After : Jan 6 03:10:58 2014 GMT
Subject: CN=Device
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
00:ab:45:64:a8:6c:10:70:3b:b9:46:34:8d:eb:1a:
a1:b3:64:b2:37:27:37:9d:15:bd:1a:69:1d:22:0f:
3a:5a:64:0c:8f:93:e5:f0:70:67:dc:cd:c1:6f:7a:
0c:b1:57:48:55:81:35:d7:36:d5:3c:37:1f:ce:16:
7e:f8:18:30:f6:6b:00:d6:50:48:23:5c:8c:05:30:
6f:35:04:37:1a:95:56:96:21:95:85:53:6f:f2:5a:
dc:f8:ec:42:4a:6d:5c:c8:43:08:bb:f1:f7:46:d5:
f1:9c:22:be:f3:1b:37:73:44:f5:2d:2c:5e:8f:40:
3e:36:36:0d:c8:33:90:f3:9b
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 CRL Distribution Points:
Full Name:
DirName: CN = myca
Signature Algorithm: sha1WithRSAEncryption
b0:9d:d9:ac:a0:9b:83:99:bf:9d:0a:ca:12:99:58:60:d8:aa:
73:54:61:4b:a2:4c:09:bb:9f:f9:70:c7:f8:81:82:f5:6c:af:
25:64:a5:99:d1:f6:ec:4f:22:e8:6a:96:58:6c:c9:47:46:8c:
f1:ba:89:b8:af:fa:63:c6:c9:77:10:45:0d:8f:a6:7f:b9:e8:
25:90:4a:8e:c6:cc:b8:1a:f8:e0:bc:17:e0:6a:11:ae:e7:36:
87:c4:b0:49:83:1c:79:ce:e2:a3:4b:15:40:dd:fe:e0:35:52:
ed:6d:83:31:2c:c2:de:7c:e0:a7:92:61:bc:03:ab:40:bd:69:
1b:f5
关于获取到的CA证书的详细信息可以通过相应的显示命令来查看,此处略。具体内容请参考命令display pki certificate domain。
配置PKI实体Device向Windows 2003 Server CA服务器申请本地证书。
图1-4 PKI实体向Windows 2003 Server CA申请证书配置组网图
(1) 安装证书服务器组件
打开[控制面板]/[添加/删除程序],选择[添加/删除Windows组件]中的“证书服务”进行安装。安装过程中设置CA的名称,该名称为信任的CA的名称(本例中为myca)。
(2) 安装SCEP插件
由于Windows 2003 server作为CA服务器时,缺省情况下不支持SCEP,所以需要安装SCEP插件,才能使设备具备证书自动注册、获取等功能。插件安装完毕后,弹出提示框,提示框中的URL地址即为设备上配置的注册服务器地址。
(3) 修改证书服务的属性
完成上述配置后,打开[控制面板/管理工具]中的[证书颁发机构],如果安装成功,在[颁发的证书]中将存在两个CA颁发给RA的证书。选择[CA server 属性]中的“策略模块”的属性为“如果可以的话,按照证书模板中的设置。否则,将自动颁发证书(F)。”
(4) 修改IIS服务的属性
打开[控制面板/管理工具]中的[Internet 信息服务(IIS)管理器],将[默认网站 属性]中“主目录”的本地路径修改为证书服务保存的路径。另外,为了避免与已有的服务冲突,建议修改默认网站的TCP端口号为未使用的端口号(本例中为8080)。
以上配置完成之后,还需要保证设备的系统时钟与CA的时钟同步才可以正常使用设备来申请证书。
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 2.2.2.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
(2) 配置静态路由
本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为2.2.2.2,实际使用中请以具体组网情况为准,具体配置步骤如下。
[Device] ip route-static 3.3.3.1 24 2.2.2.2
(3) 配置接口加入安全域
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
(4) 配置安全策略放行Untrust与Local安全域之间的流量
# 配置名称为pkilocalout的安全策规则,使Device 可以向Windows 2003 CA Server发送报文,具体配置步骤如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name pkilocalout
[Device-security-policy-ip-1-pkilocalout] source-zone local
[Device-security-policy-ip-1-pkilocalout] destination-zone untrust
[Device-security-policy-ip-1-pkilocalout] source-ip-host 2.2.2.1
[Device-security-policy-ip-1-pkilocalout] destination-ip-host 3.3.3.1
[Device-security-policy-ip-1-pkilocalout] action pass
[Device-security-policy-ip-1-pkilocalout] quit
# 配置名称为pkilocalin的安全策略规则,使Device可以接收和处理来自Windows 2003 CA Server的报文,具体配置步骤如下。
[Device-security-policy-ip] rule name pkilocalin
[Device-security-policy-ip-2-pkilocalin] source-zone untrust
[Device-security-policy-ip-2-pkilocalin] destination-zone local
[Device-security-policy-ip-2-pkilocalin] source-ip-host 3.3.3.1
[Device-security-policy-ip-2-pkilocalin] destination-ip-host 2.2.3.1
[Device-security-policy-ip-2-pkilocalin] action pass
[Device-security-policy-ip-2-pkilocalin] quit
(5) 配置PKI实体,设置PKI实体的身份信息
[Device] pki entity aaa
[Device-pki-entity-aaa] common-name test
[Device-pki-entity-aaa] country CN
[Device-pki-entity-aaa] locality pukras
[Device-pki-entity-aaa] organization abc
[Device-pki-entity-aaa] quit
(6) 配置PKI域,约定PKI证书申请的相关信息
[Device] pki domain winserver
[Device-pki-domain-winserver] ca identifier myca
[Device-pki-domain-winserver] certificate request url http://4.4.4.1:8080/certsrv/mscep/mscep.dll
[Device-pki-domain-winserver] certificate request from ra
[Device-pki-domain-winserver] certificate request entity aaa
[Device-pki-domain-winserver] public-key rsa general name abc length 1024
[Device-pki-domain-winserver] quit
(7) 生成RSA算法的本地密钥对
[Device] public-key local create rsa name abc
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512,it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..........................++++++
.....................................++++++
Create the key pair successfully.
(8) 证书申请
# 获取CA证书并下载至本地。
[Device] pki retrieve-certificate domain winserver ca
The trusted CA's finger print is:
MD5 fingerprint:766C D2C8 9E46 845B 4DCE 439C 1C1F 83AB
SHA1 fingerprint:97E5 DDED AB39 3141 75FB DB5C E7F8 D7D7 7C9B 97B4
Is the finger print correct?(Y/N):y
Retrieved the certificates successfully.
# 手工申请本地证书。
[Device] pki request-certificate domain winserver
Start to request general certificate ...
……
Certificate requested successfully.
# 通过以下显示命令可以查看申请到的本地证书信息。
[Device] display pki certificate domain winserver local
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
(Negative)01:03:99:ff:ff:ff:ff:fd:11
Signature Algorithm: sha1WithRSAEncryption
Issuer: CN=sec
Validity
Not Before: Dec 24 07:09:42 2012 GMT
Not After : Dec 24 07:19:42 2013 GMT
Subject: C=CN, L=pukras, O=abc, CN=test
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:c3:b5:23:a0:2d:46:0b:68:2f:71:d2:14:e1:5a:
55:6e:c5:5e:26:86:c1:5a:d6:24:68:02:bf:29:ac:
dc:31:41:3f:5d:5b:36:9e:53:dc:3a:bc:0d:11:fb:
d6:7d:4f:94:3c:c1:90:4a:50:ce:db:54:e0:b3:27:
a9:6a:8e:97:fb:20:c7:44:70:8f:f0:b9:ca:5b:94:
f0:56:a5:2b:87:ac:80:c5:cc:04:07:65:02:39:fc:
db:61:f7:07:c6:65:4c:e4:5c:57:30:35:b4:2e:ed:
9c:ca:0b:c1:5e:8d:2e:91:89:2f:11:e3:1e:12:8a:
f8:dd:f8:a7:2a:94:58:d9:c7:f8:1a:78:bd:f5:42:
51:3b:31:5d:ac:3e:c3:af:fa:33:2c:fc:c2:ed:b9:
ee:60:83:b3:d3:e5:8e:e5:02:cf:b0:c8:f0:3a:a4:
b7:ac:a0:2c:4d:47:5f:39:4b:2c:87:f2:ee:ea:d0:
c3:d0:8e:2c:80:83:6f:39:86:92:98:1f:d2:56:3b:
d7:94:d2:22:f4:df:e3:f8:d1:b8:92:27:9c:50:57:
f3:a1:18:8b:1c:41:ba:db:69:07:52:c1:9a:3d:b1:
2d:78:ab:e3:97:47:e2:70:14:30:88:af:f8:8e:cb:
68:f9:6f:07:6e:34:b6:38:6a:a2:a8:29:47:91:0e:
25:39
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment, Data Encip
herment
X509v3 Subject Key Identifier:
C9:BB:D5:8B:02:1D:20:5B:40:94:15:EC:9C:16:E8:9D:6D:FD:9F:34
X509v3 Authority Key Identifier:
keyid:32:F1:40:BA:9E:F1:09:81:BD:A8:49:66:FF:F8:AB:99:4A:30:21:9
B
X509v3 CRL Distribution Points:
Full Name:
URI:file://\\g07904c\CertEnroll\sec.crl
Authority Information Access:
CA Issuers - URI:http://gc/CertEnroll/gc_sec.crt
CA Issuers - URI:file://\\gc\CertEnroll\gc_sec.crt
1.3.6.1.4.1.311.20.2:
.0.I.P.S.E.C.I.n.t.e.r.m.e.d.i.a.t.e.O.f.f.l.i.n.e
Signature Algorithm: sha1WithRSAEncryption
76:f0:6c:2c:4d:bc:22:59:a7:39:88:0b:5c:50:2e:7a:5c:9d:
6c:28:3c:c0:32:07:5a:9c:4c:b6:31:32:62:a9:45:51:d5:f5:
36:8f:47:3d:47:ae:74:6c:54:92:f2:54:9f:1a:80:8a:3f:b2:
14:47:fa:dc:1e:4d:03:d5:d3:f5:9d:ad:9b:8d:03:7f:be:1e:
29:28:87:f7:ad:88:1c:8f:98:41:9a:db:59:ba:0a:eb:33:ec:
cf:aa:9b:fc:0f:69:3a:70:f2:fa:73:ab:c1:3e:4d:12:fb:99:
31:51:ab:c2:84:c0:2f:e5:f6:a7:c3:20:3c:9a:b0:ce:5a:bc:
0f:d9:34:56:bc:1e:6f:ee:11:3f:7c:b2:52:f9:45:77:52:fb:
46:8a:ca:b7:9d:02:0d:4e:c3:19:8f:81:46:4e:03:1f:58:03:
bf:53:c6:c4:85:95:fb:32:70:e6:1b:f3:e4:10:ed:7f:93:27:
90:6b:30:e7:81:36:bb:e2:ec:f2:dd:2b:bb:b9:03:1c:54:0a:
00:3f:14:88:de:b8:92:63:1e:f5:b3:c2:cf:0a:d5:f4:80:47:
6f:fa:7e:2d:e3:a7:38:46:f6:9e:c7:57:9d:7f:82:c7:46:06:
7d:7c:39:c4:94:41:bd:9e:5c:97:86:c8:48:de:35:1e:80:14:
02:09:ad:08
关于获取到的CA证书的详细信息可以通过相应的显示命令来查看,此处略。具体内容请参考命令display pki certificate domain。
配置PKI实体Device向OpenCA服务器申请本地证书。
图1-5 PKI实体向OpenCA申请证书配置组网图
配置过程略,具体请参考Open CA服务器的相关手册。
需要注意的是:
· 使用OpenCA最新版本的rpm包进行安装,OpenCA有多个版本,但只有0.9.2以后的版本才支持SCEP,至少要安装0.9.2以后的版本。
· OpenCA服务器配置完成之后,还需要保证设备的系统时钟与CA的时钟同步才可以正常使用设备来申请证书。
(1) 配置接口IP地址
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 2.2.2.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
(2) 配置静态路由
本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为2.2.2.2,实际使用中请以具体组网情况为准,具体配置步骤如下。
[Device] ip route-static 3.3.3.1 24 2.2.2.2
(3) 配置接口加入安全域
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
(4) 配置安全策略放行Untrust与Local安全域之间的流量
# 配置名称为pkilocalout的安全策规则,使Device 可以向OpenCA server发送报文,具体配置步骤如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name pkilocalout
[Device-security-policy-ip-1-pkilocalout] source-zone local
[Device-security-policy-ip-1-pkilocalout] destination-zone untrust
[Device-security-policy-ip-1-pkilocalout] source-ip-host 2.2.2.1
[Device-security-policy-ip-1-pkilocalout] destination-ip-host 3.3.3.1
[Device-security-policy-ip-1-pkilocalout] action pass
[Device-security-policy-ip-1-pkilocalout] quit
# 配置名称为pkilocalin的安全策略规则,使Device可以接收和处理来自OpenCA server的报文,具体配置步骤如下。
[Device-security-policy-ip] rule name pkilocalin
[Device-security-policy-ip-2-pkilocalin] source-zone untrust
[Device-security-policy-ip-2-pkilocalin] destination-zone local
[Device-security-policy-ip-2-pkilocalin] source-ip-host 3.3.3.1
[Device-security-policy-ip-2-pkilocalin] destination-ip-host 2.2.3.1
[Device-security-policy-ip-2-pkilocalin] action pass
[Device-security-policy-ip-2-pkilocalin] quit
(5) 配置PKI实体,设置PKI实体的身份信息
[Device] pki entity aaa
[Device-pki-entity-aaa] common-name rnd
[Device-pki-entity-aaa] country CN
[Device-pki-entity-aaa] organization test
[Device-pki-entity-aaa] organization-unit software
[Device-pki-entity-aaa] quit
(6) 配置PKI域,约定PKI证书申请的相关信息
[Device] pki domain openca
[Device-pki-domain-openca] ca identifier myca
[Device-pki-domain-openca] certificate request url http://192.168.222.218/cgi-bin/pki/scep
[Device-pki-domain-openca] certificate request from ra
[Device-pki-domain-openca] certificate request entity aaa
[Device-pki-domain-openca] public-key rsa general name abc length 1024
[Device-pki-domain-openca] quit
(7) 生成RSA算法的本地密钥对
[Device] public-key local create rsa name abc
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512,it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..........................++++++
.....................................++++++
Create the key pair successfully.
(8) 证书申请
# 获取CA证书并下载至本地。
[Device] pki retrieve-certificate domain openca ca
The trusted CA's finger print is:
MD5 fingerprint:5AA3 DEFD 7B23 2A25 16A3 14F4 C81C C0FA
SHA1 fingerprint:9668 4E63 D742 4B09 90E0 4C78 E213 F15F DC8E 9122
Is the finger print correct?(Y/N):y
Retrieved the certificates successfully.
# 手工申请本地证书。
[Device] pki request-certificate domain openca
Start to request general certificate ...
……
Certificate requested successfully.
# 通过以下显示命令可以查看申请到的本地证书信息。
[Device] display pki certificate domain openca local
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
21:1d:b8:d2:e4:a9:21:28:e4:de
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=CN, L=shangdi, ST=pukras, O=OpenCA Labs, OU=mysubUnit, CN=sub-ca, DC=pki-subdomain, DC=mydomain-sub, DC=com
Validity
Not Before: Jun 30 09:09:09 2011 GMT
Not After : May 1 09:09:09 2012 GMT
Subject: CN=rnd, O=test, OU=software, C=CN
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
00:b8:7a:9a:b8:59:eb:fc:70:3e:bf:19:54:0c:7e:
c3:90:a5:d3:fd:ee:ff:c6:28:c6:32:fb:04:6e:9c:
d6:5a:4f:aa:bb:50:c4:10:5c:eb:97:1d:a7:9e:7d:
53:d5:31:ff:99:ab:b6:41:f7:6d:71:61:58:97:84:
37:98:c7:7c:79:02:ac:a6:85:f3:21:4d:3c:8e:63:
8d:f8:71:7d:28:a1:15:23:99:ed:f9:a1:c3:be:74:
0d:f7:64:cf:0a:dd:39:49:d7:3f:25:35:18:f4:1c:
59:46:2b:ec:0d:21:1d:00:05:8a:bf:ee:ac:61:03:
6c:1f:35:b5:b4:cd:86:9f:45
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Cert Type:
SSL Client, S/MIME
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Client Authentication, E-mail Protection, Microsoft Smartcardlogin
Netscape Comment:
User Certificate of OpenCA Labs
X509v3 Subject Key Identifier:
24:71:C9:B8:AD:E1:FE:54:9A:EA:E9:14:1B:CD:D9:45:F4:B2:7A:1B
X509v3 Authority Key Identifier:
keyid:85:EB:D5:F7:C9:97:2F:4B:7A:6D:DD:1B:4D:DD:00:EE:53:CF:FD:5B
X509v3 Issuer Alternative Name:
DNS:[email protected], DNS:, IP Address:192.168.154.145, IP Address:192.168.154.138
Authority Information Access:
CA Issuers - URI:http://192.168.222.218/pki/pub/cacert/cacert.crt
OCSP - URI:http://192.168.222.218:2560/
1.3.6.1.5.5.7.48.12 - URI:http://192.168.222.218:830/
X509v3 CRL Distribution Points:
Full Name:
URI:http://192.168.222.218/pki/pub/crl/cacrl.crl
Signature Algorithm: sha256WithRSAEncryption
5c:4c:ba:d0:a1:35:79:e6:e5:98:69:91:f6:66:2a:4f:7f:8b:
0e:80:de:79:45:b9:d9:12:5e:13:28:17:36:42:d5:ae:fc:4e:
ba:b9:61:f1:0a:76:42:e7:a6:34:43:3e:2d:02:5e:c7:32:f7:
6b:64:bb:2d:f5:10:6c:68:4d:e7:69:f7:47:25:f5:dc:97:af:
ae:33:40:44:f3:ab:e4:5a:a0:06:8f:af:22:a9:05:74:43:b6:
e4:96:a5:d4:52:32:c2:a8:53:37:58:c7:2f:75:cf:3e:8e:ed:
46:c9:5a:24:b1:f5:51:1d:0f:5a:07:e6:15:7a:02:31:05:8c:
03:72:52:7c:ff:28:37:1e:7e:14:97:80:0b:4e:b9:51:2d:50:
98:f2:e4:5a:60:be:25:06:f6:ea:7c:aa:df:7b:8d:59:79:57:
8f:d4:3e:4f:51:c1:34:e6:c1:1e:71:b5:0d:85:86:a5:ed:63:
1e:08:7f:d2:50:ac:a0:a3:9e:88:48:10:0b:4a:7d:ed:c1:03:
9f:87:97:a3:5e:7d:75:1d:ac:7b:6f:bb:43:4d:12:17:9a:76:
b0:bf:2f:6a:cc:4b:cd:3d:a1:dd:e0:dc:5a:f3:7c:fb:c3:29:
b0:12:49:5c:12:4c:51:6e:62:43:8b:73:b9:26:2a:f9:3d:a4:
81:99:31:89
关于获取到的CA证书的详细信息可以通过相应的显示命令来查看,此处略。具体内容请参考命令display pki certificate domain。
· 在Device A和Device B之间建立一条IPsec安全隧道对子网10.1.1.0/24上的主机A与子网11.1.1.0/24上的主机B之间的数据流进行安全保护。
· 在Device A和Device B之间使用IKE自动协商建立安全通信,IKE认证策略采用RSA数字签名方法进行身份认证。
· Device A和Device B使用相同的CA。
图1-6 使用RSA数字签名方法进行IKE协商认证配置组网图
本例CA server采用Windows 2003 Server CA服务器,CA服务器配置参见“1.21.2 3. 配置CA服务器”。
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 2.2.2.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
# 请根据组网图中规划的信息,配置静态路由,本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。本举例假设下一跳IP地址为2.2.2.2,实际使用中请以具体组网情况为准,具体配置步骤如下。
[DeviceA] ip route-static 11.1.1.0 24 2.2.2.2
[DeviceA] ip route-static 3.3.3.1 24 2.2.2.2
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
# 配置名称为pkilocalout的安全策规则,使Device A可以向Device B发送IPsec隧道协商报文,具体配置步骤如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name pkilocalout
[DeviceA-security-policy-ip-1-pkilocalout] source-zone local
[DeviceA-security-policy-ip-1-pkilocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-pkilocalout] source-ip-host 2.2.2.1
[DeviceA-security-policy-ip-1-pkilocalout] destination-ip-host 3.3.3.1
[DeviceA-security-policy-ip-1-pkilocalout] action pass
[DeviceA-security-policy-ip-1-pkilocalout] quit
# 配置名称为pkilocalin的安全策略规则,使Device A可以接收和处理来自Device B的IPsec隧道协商报文,具体配置步骤如下。
[DeviceA-security-policy-ip] rule name pkilocalin
[DeviceA-security-policy-ip-2-pkilocalin] source-zone untrust
[DeviceA-security-policy-ip-2-pkilocalin] destination-zone local
[DeviceA-security-policy-ip-2-pkilocalin] source-ip-host 3.3.3.1
[DeviceA-security-policy-ip-2-pkilocalin] destination-ip-host 2.2.2.1
[DeviceA-security-policy-ip-2-pkilocalin] action pass
[DeviceA-security-policy-ip-2-pkilocalin] quit
# 配置名称为trust-untrust的安全策略规则,使Host A访问Host B的报文可通,具体配置步骤如下。
[DeviceA-security-policy-ip] rule 3 name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 11.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名称为untrust-trust的安全策略规则,使Host B访问Host A的报文可通,具体配置步骤如下。
[DeviceA-security-policy-ip] rule 4 name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 11.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
# 配置PKI实体,设置PKI实体的身份信息。
[DeviceA] pki entity en
[DeviceA-pki-entity-en] ip 2.2.2.1
[DeviceA-pki-entity-en] common-name devicea
[DeviceA-pki-entity-en] country CN
[DeviceA-pki-entity-en] locality pukras
[DeviceA-pki-entity-en] organization abc
[DeviceA-pki-entity-en] quit
# 配置PKI域,约定PKI证书申请的相关信息。
[DeviceA] pki domain 1
[DeviceA-pki-domain-1] ca identifier CA1
[DeviceA-pki-domain-1] certificate request url http://1.1.1.100/certsrv/mscep/mscep.dll
[DeviceA-pki-domain-1] certificate request entity en
[DeviceA-pki-domain-1] ldap-server host 1.1.1.102
# 配置通过RA注册申请证书。
[DeviceA-pki-domain-1] certificate request from ra
# 指定证书申请使用的RSA密钥对,用途为通用,名称为abc,密钥长度为1024比特。
[DeviceA-pki-domain-1] public-key rsa general name abc length 1024
[DeviceA-pki-domain-1] quit
# 生成RSA算法的本地密钥对。
[DeviceA] public-key local create rsa name abc
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512,it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..........................++++++
.....................................++++++
Create the key pair successfully.
# 获取CA证书并下载至本地。
[DeviceA] pki retrieve-certificate domain 1 ca
# 手工申请本地证书。
[DeviceA] pki request-certificate domain 1
# 配置IKE提议1,使用数字签名(rsa-signature)方法为身份认证策略。
[DeviceA] ike proposal 1
[DeviceA-ike-proposal-1] authentication-method rsa-signature
[DeviceA-ike-proposal-1] quit
# 在IKE profile 1中指定IKE协商使用的PKI域。
[DeviceA] ike profile peer
[DeviceA-ike-profile-peer] certificate domain 1
[DeviceA-ike-profile-peer] quit
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<DeviceB> system-view
[DeviceB] interface GigabitEthernet1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 3.3.3.1 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。
# 请根据组网图中规划的信息,配置静态路由,本举例假设下一跳IP地址为3.3.3.2,实际使用中请以具体组网情况为准,具体配置步骤如下。
[DeviceB] ip route-static 10.1.1.0 24 3.3.3.2
[DeviceB] ip route-static 2.2.2.1 24 3.3.3.2
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
# 配置名称为pkilocalout的安全策规则,使Device B可以向Device A发送IPsec隧道协商报文,具体配置步骤如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name pkilocalout
[DeviceB-security-policy-ip-1-pkilocalout] source-zone local
[DeviceB-security-policy-ip-1-pkilocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-pkilocalout] source-ip-host 3.3.3.1
[DeviceB-security-policy-ip-1-pkilocalout] destination-ip-host 2.2.2.1
[DeviceB-security-policy-ip-1-pkilocalout] action pass
[DeviceB-security-policy-ip-1-pkilocalout] quit
# 配置名称为pkilocalin的安全策略规则,使Device B可以接收和处理来自Device A的IPsec隧道协商报文,具体配置步骤如下。
[DeviceB-security-policy-ip] rule name pkilocalin
[DeviceB-security-policy-ip-2-pkilocalin] source-zone untrust
[DeviceB-security-policy-ip-2-pkilocalin] destination-zone local
[DeviceB-security-policy-ip-2-pkilocalin] source-ip-host 2.2.2.1
[DeviceB-security-policy-ip-2-pkilocalin] destination-ip-host 3.3.3.1
[DeviceB-security-policy-ip-2-pkilocalin] action pass
[DeviceB-security-policy-ip-2-pkilocalin] quit
# 配置名称为trust-untrust的安全策略规则,使Host B访问Host A的报文可通,具体配置步骤如下。
[DeviceB-security-policy-ip] rule 3 name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 11.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名称为untrust-trust的安全策略规则,使Host A访问Host B的报文可通,具体配置步骤如下。
[DeviceB-security-policy-ip] rule 4 name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 11.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
# 配置PKI实体。
[DeviceB] pki entity en
[DeviceB-pki-entity-en] ip 3.3.3.1
[DeviceB-pki-entity-en] common-name deviceb
[DeviceB-pki-entity-en] quit
# 配置PKI域参数。(证书申请的注册机构服务器的URL根据所使用的CA服务器的不同而有所不同,这里的配置只作为示例,请根据具体情况配置。)
[DeviceB] pki domain 1
[DeviceB-pki-domain-1] ca identifier CA1
[DeviceB-pki-domain-1] certificate request url http://1.1.1.100/certsrv/mscep/mscep.dll
[DeviceB-pki-domain-1] certificate request entity en
[DeviceB-pki-domain-1] ldap-server host 1.1.1.102
# 配置通过RA注册申请证书。
[DeviceB-pki-domain-1] certificate request from ra
# 指定证书申请使用的RSA密钥对,用途为通用,名称为abc,密钥长度为1024比特。
[DeviceB-pki-domain-1] public-key rsa general name abc length 1024
[DeviceB-pki-domain-1] quit
# 生成RSA算法的本地密钥对。
[DeviceB] public-key local create rsa name abc
The range of public key modulus is (512 ~ 2048).
If the key modulus is greater than 512,it will take a few minutes.
Press CTRL+C to abort.
Input the modulus length [default = 1024]:
Generating Keys...
..........................++++++
.....................................++++++
Create the key pair successfully.
# 获取CA证书并下载至本地。
[DeviceB] pki retrieve-certificate domain 1 ca
The trusted CA's finger print is:
MD5 fingerprint:5C41 E657 A0D6 ECB4 6BD6 1823 7473 AABC
SHA1 fingerprint:1616 E7A5 D89A 2A99 9419 1C12 D696 8228 87BC C266
Is the finger print correct?(Y/N):y
Retrieved the certificates successfully.
# 手工申请本地证书。
[DeviceB] pki request-certificate domain 1
Start to request general certificate ...
...
Certificate requested successfully.
# 配置IKE提议1,使用rsa-signature方法为身份认证策略。
[DeviceB] ike proposal 1
[DeviceB-ike-proposal-1] authentication-method rsa-signature
[DeviceB-ike-proposal-1] quit
# 在IKE profile 1中指定IKE协商使用的PKI域。
[DeviceB] ike profile peer
[DeviceB-ike-profile-peer] certificate domain 1
[DeviceB-ike-profile-peer] quit
以上是对IKE协商采用RSA数字签名认证方法的配置,若希望建立IPsec安全通道进行安全通信,还需要进行IPsec的相应配置,具体内容请参见“VPN配置指导”中“IPsec”。
· 客户端通过HTTPS协议远程访问设备(HTTPS服务器)。
· 通过SSL协议保证合法客户端安全登录HTTPS服务器。
· HTTPS服务器要求对客户端进行身份验证,并通过制定证书访问控制策略,对客户端的证书合法性进行检测。
图1-7 证书属性的访问控制策略配置组网图
· SSL策略所引用的PKI域domain1必须首先创建。
· Device上也需要申请一个本地证书作为SSL服务器端证书。
(1) 配置HTTPS服务器
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 3.3.3.1 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
# 请根据组网图中规划的信息,配置静态路由,本举例仅以静态路由方式配置路由信息。实际组网中,请根据具体情况选择相应的路由配置方式。本举例假设下一跳IP地址为3.3.3.2,实际使用中请以具体组网情况为准,具体配置步骤如下。
[DeviceA] ip route-static 2.2.2.1 24 3.3.3.2
# 配置安全策略放行Untrust与Local安全域之间的流量,使得Host可以向Device 发送报文
[Device-security-policy-ip] rule name pkilocalin
[Device-security-policy-ip-1-pkilocalin] source-zone untrust
[Device-security-policy-ip-1-pkilocalin] destination-zone local
[Device-security-policy-ip-1-pkilocalin] source-ip-host 2.2.2.1
[Device-security-policy-ip-1-pkilocalin] destination-ip-host 3.3.3.1
[Device-security-policy-ip-1-pkilocalin] action pass
[Device-security-policy-ip-1-pkilocalin] quit
# 配置安全策略放行Local与Untrust安全域之间的流量,使得Device 可以向Host发送报文
[Device-security-policy-ip] rule name pkilocalout
[Device-security-policy-ip-2-pkilocalout] source-zone local
[Device-security-policy-ip-2-pkilocalout] destination-zone untrust
[Device-security-policy-ip-2-pkilocalout] source-ip-host 3.3.3.1
[Device-security-policy-ip-2-pkilocalout] destination-ip-host 2.2.2.1
[Device-security-policy-ip-2-pkilocalout] action pass
[Device-security-policy-ip-2-pkilocalout] quit
# 配置HTTPS服务器使用的SSL策略。
[Device] ssl server-policy abc
[Device-ssl-server-policy-abc] pki-domain domain1
[Device-ssl-server-policy-abc] client-verify enable
[Device-ssl-server-policy-abc] quit
# 设置HTTPS服务使用的SSL服务器端策略为abc
[Device] ip https ssl-server-policy abc
# 开启HTTPS服务。
[Device] ip https enable
(2) 配置证书属性组
# 配置证书属性组mygroup1,并创建两个属性规则。规则1定义证书主题名的DN包含字符串aabbcc;规则2定义证书颁发者名中的IP地址等于10.0.0.1。
[Device] pki certificate attribute-group mygroup1
[Device-pki-cert-attribute-group-mygroup1] attribute 1 subject-name dn ctn aabbcc
[Device-pki-cert-attribute-group-mygroup1] attribute 2 issuer-name ip equ 10.0.0.1
[Device-pki-cert-attribute-group-mygroup1] quit
# 配置证书属性组mygroup2,并创建两个属性规则。规则1定义证书备用主题名中的FQDN不包含字符串apple;规则2定义证书颁发者名的DN包含字符串aabbcc。
[Device] pki certificate attribute-group mygroup2
[Device-pki-cert-attribute-group-mygroup2] attribute 1 alt-subject-name fqdn nctn apple
[Device-pki-cert-attribute-group-mygroup2] attribute 2 issuer-name dn ctn aabbcc
[Device-pki-cert-attribute-group-mygroup2] quit
(3) 配置证书访问控制策略
# 创建访问控制策略myacp,并定义两个访问控制规则。
[Device] pki certificate access-control-policy myacp
# 规则1定义,当证书的属性与属性组mygroup1里定义的属性匹配时,认为该证书无效,不能通过访问控制策略的检测。
[Device-pki-cert-acp-myacp] rule 1 deny mygroup1
# 规则2定义,当证书的属性与属性组mygroup2里定义的属性匹配时,认为该证书有效,可以通过访问控制策略的检测。
[Device-pki-cert-acp-myacp] rule 2 permit mygroup2
[Device-pki-cert-acp-myacp] quit
# 设置HTTPS服务使用的证书属性访问控制策略为myacp。
[Device] ip https certificate access-control-policy myacp
当客户端通过浏览器访问HTTPS服务器时,服务器端首先根据配置的证书访问控制策略检测客户端证书的有效性。已知该客户端证书的主题名的DN为aabbcc,颁发者名中的IP地址为1.1.1.1,备用主题名中的FQDN名为banaba,由以上配置可判断匹配结果为:
· 本地证书的主题名和属性组mygroup1中的属性1匹配、颁发者名和属性组mygroup1中的属性2不匹配,因此该证书和证书属性组mygroup1不匹配。
· 本地证书的备用主题名属性和属性组mygroup2中的属性1匹配,颁发者名属性和属性组mygroup2中的属性2匹配,因此该证书和证书属性组mygroup2匹配。
该客户端的证书与访问控制策略myacp的规则1所引用的证书属性组mygroup1不匹配,因此规则1不生效;本地证书与访问控制策略myacp的规则2所引用的证书属性组mygroup2匹配,因此规则2生效,该证书可以通过访问控制策略myacp的检测。
通过以上检测后的合法客户端可以成功访问HTTPS服务器提供的网页。
某网络中的Device A将要被Device B替换,Device A上的PKI域exportdomain中保存了两个携带私钥的本地证书和一个CA证书。为保证替换后的证书可用,需要将原来Device A上的证书复制到Device B上去。具体要求如下:
· 从Device A上导出本地证书时,将对应的私钥数据采用3DES_CBC算法进行加密,加密口令为111111。
· 来自Device A的证书以PEM编码的格式保存于Device B上的PKI域importdomain中。
图1-8 导出、导入证书配置组网图
(1) 从Device A上导出本地证书到指定文件
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 192.168.0.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Trust] quit
# 配置安全策略放行Trust与Local安全域之间的流量,使得Host可以向Device A发送报文
[DeviceA-security-policy-ip] rule name pkilocalin
[DeviceA-security-policy-ip-1-pkilocalin] source-zone trust
[DeviceA-security-policy-ip-1-pkilocalin] destination-zone local
[DeviceA-security-policy-ip-1-pkilocalin] source-ip-host 192.168.0.2
[DeviceA-security-policy-ip-1-pkilocalin] destination-ip-host 192.168.0.1
[DeviceA-security-policy-ip-1-pkilocalin] action pass
[DeviceA-security-policy-ip-1-pkilocalin] quit
# 配置安全策略放行Local与Trust安全域之间的流量,使得Device A可以向Host发送报文
[DeviceA-security-policy-ip] rule name pkilocalout
[DeviceA-security-policy-ip-2-pkilocalout] source-zone local
[DeviceA-security-policy-ip-2-pkilocalout] destination-zone trust
[DeviceA-security-policy-ip-2-pkilocalout] source-ip-host 192.168.0.1
[DeviceA-security-policy-ip-2-pkilocalout] destination-ip-host 192.168.0.2
[DeviceA-security-policy-ip-2-pkilocalout] action pass
[DeviceA-security-policy-ip-2-pkilocalout] quit
# 将PKI域中的CA证书导出到PEM格式的文件中,文件名为pkicachain.pem。
[DeviceA] pki export domain exportdomain pem ca filename pkicachain.pem
# 将PKI域中的本地证书导出到PEM格式的文件中,文件名为pkilocal.pem。导出时对本地证书对应的私钥数据采用3DES_CBC算法进行加密,加密口令为111111。
[DeviceA] pki export domain exportdomain pem local 3des-cbc 111111 filename pkilocal.pem
以上过程完成后,系统中将会生成三个PEM格式的证书文件,它们分别是:CA证书文件pkicachain.pem,带有私钥的本地签名证书文件pkilocal.pem-signature和带有私钥的本地加密证书文件pkilocal.pem-encryption。
# 查看PEM格式的带有私钥的本地签名证书文件pkilocal.pem-signature。
[DeviceA] quit
<DeviceA> more pkilocal.pem-signature
Bag Attributes
friendlyName:
localKeyID: 90 C6 DC 1D 20 49 4F 24 70 F5 17 17 20 2B 9E AC 20 F3 99 89
subject=/C=CN/O=OpenCA Labs/OU=Users/CN=subsign 11
issuer=/C=CN/L=shangdi/ST=pukras/O=OpenCA Labs/OU=docm/CN=subca1
-----BEGIN CERTIFICATE-----
MIIEgjCCA2qgAwIBAgILAJgsebpejZc5UwAwDQYJKoZIhvcNAQELBQAwZjELMAkG
…… (略)
-----END CERTIFICATE-----
Bag Attributes
friendlyName:
localKeyID: 90 C6 DC 1D 20 49 4F 24 70 F5 17 17 20 2B 9E AC 20 F3 99 89
Key Attributes: <No Attributes>
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIZtjSjfslJCoCAggA
…… (略)
-----END ENCRYPTED PRIVATE KEY-----
# 查看PEM格式的带有私钥的本地加密证书文件pkilocal.pem-encryption。
<DeviceA> more pkilocal.pem-encryption
Bag Attributes
friendlyName:
localKeyID: D5 DF 29 28 C8 B9 D9 49 6C B5 44 4B C2 BC 66 75 FE D6 6C C8
subject=/C=CN/O=OpenCA Labs/OU=Users/CN=subencr 11
issuer=/C=CN/L=shangdi/ST=pukras/O=OpenCA Labs/OU=docm/CN=subca1
-----BEGIN CERTIFICATE-----
MIIEUDCCAzigAwIBAgIKCHxnAVyzWhIPLzANBgkqhkiG9w0BAQsFADBmMQswCQYD
…… (略)
-----END CERTIFICATE-----
Bag Attributes
friendlyName:
localKeyID: D5 DF 29 28 C8 B9 D9 49 6C B5 44 4B C2 BC 66 75 FE D6 6C C8
Key Attributes: <No Attributes>
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIICxjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQI7H0mb4O7/GACAggA
…… (略)
-----END ENCRYPTED PRIVATE KEY-----
(2) 将Device A的证书文件下载到Host
通过FTP将证书文件pkicachain.pem、pkilocal.pem-signature和pkilocal.pem-encryption下载到Host上,具体过程略。
(3) 将Host上的证书文件上传到Device B
通过FTP将证书文件pkicachain.pem、pkilocal.pem-signature、pkilocal.pem-encryption上传到Device B的文件系统中,具体过程略。
(4) 在设备Device B上导入证书文件
# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 192.168.0.6 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
# 请根据组网图中规划的信息,将接口加入对应的安全域,具体配置步骤如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Trust] quit
# 配置安全策略放行Trust与Local安全域之间的流量,使得Host可以向Device B发送报文
[DeviceB-security-policy-ip] rule name pkilocalin
[DeviceB-security-policy-ip-1-pkilocalin] source-zone trust
[DeviceB-security-policy-ip-1-pkilocalin] destination-zone local
[DeviceB-security-policy-ip-1-pkilocalin] source-ip-host 192.168.0.5
[DeviceB-security-policy-ip-1-pkilocalin] destination-ip-host 192.168.0.6
[DeviceB-security-policy-ip-1-pkilocalin] action pass
[DeviceB-security-policy-ip-1-pkilocalin] quit
# 配置安全策略放行Local与Trust安全域之间的流量,使得Device B可以向Host发送报文
[DeviceB-security-policy-ip] rule name pkilocalout
[DeviceB-security-policy-ip-2-pkilocalout] source-zone local
[DeviceB-security-policy-ip-2-pkilocalout] destination-zone trust
[DeviceB-security-policy-ip-2-pkilocalout] source-ip-host 192.168.0.6
[DeviceB-security-policy-ip-2-pkilocalout] destination-ip-host 192.168.0.5
[DeviceB-security-policy-ip-2-pkilocalout] action pass
[DeviceB-security-policy-ip-2-pkilocalout] quit
# 关闭CRL检查。(是否进行CRL检查,请以实际的使用需求为准,此处仅为示例)
[DeviceB] pki domain importdomain
[DeviceB-pki-domain-importdomain] undo crl check enable
# 指定证书申请使用的签名RSA密钥对名称为sign,加密RSA密钥对名称为encr。
[DeviceB-pki-domain-importdomain] public-key rsa signature name sign encryption name encr
[DeviceB-pki-domain-importdomain] quit
# 向PKI域中导入CA证书,证书文件格式为PEM编码,证书文件名称为pkicachain.pem。
[DeviceB] pki import domain importdomain pem ca filename pkicachain.pem
# 向PKI域中导入本地证书,证书文件格式为PEM编码,证书文件名称为pkilocal.pem-signature,证书文件中包含了密钥对。
[DeviceB] pki import domain importdomain pem local filename pkilocal.pem-signature
Please input the password:
# 向PKI域中导入本地证书,证书文件格式为PEM编码,证书文件名称为pkilocal.pem-encryption,证书文件中包含了密钥对。
[DeviceB] pki import domain importdomain pem local filename pkilocal.pem-encryption
Please input the password:
# 通过以下显示命令可以查看导入到Device B的本地证书信息。
[DeviceB] display pki certificate domain importdomain local
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
98:2c:79:ba:5e:8d:97:39:53:00
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=CN, L=shangdi, ST=pukras, O=OpenCA Labs, OU=docm, CN=subca1
Validity
Not Before: May 26 05:56:49 2011 GMT
Not After : Nov 22 05:56:49 2012 GMT
Subject: C=CN, O=OpenCA Labs, OU=Users, CN=subsign 11
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
00:9f:6e:2f:f6:cb:3d:08:19:9a:4a:ac:b4:ac:63:
ce:8d:6a:4c:3a:30:19:3c:14:ff:a9:50:04:f5:00:
ee:a3:aa:03:cb:b3:49:c4:f8:ae:55:ee:43:93:69:
6c:bf:0d:8c:f4:4e:ca:69:e5:3f:37:5c:83:ea:83:
ad:16:b8:99:37:cb:86:10:6b:a0:4d:03:95:06:42:
ef:ef:0d:4e:53:08:0a:c9:29:dd:94:28:02:6e:e2:
9b:87:c1:38:2d:a4:90:a2:13:5f:a4:e3:24:d3:2c:
bf:98:db:a7:c2:36:e2:86:90:55:c7:8c:c5:ea:12:
01:31:69:bf:e3:91:71:ec:21
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Cert Type:
SSL Client, S/MIME
X509v3 Key Usage:
Digital Signature, Non Repudiation
X509v3 Extended Key Usage:
TLS Web Client Authentication, E-mail Protection, Microsoft Smartcardlogin
Netscape Comment:
User Certificate of OpenCA Labs
X509v3 Subject Key Identifier:
AA:45:54:29:5A:50:2B:89:AB:06:E5:BD:0D:07:8C:D9:79:35:B1:F5
X509v3 Authority Key Identifier:
keyid:70:54:40:61:71:31:02:06:8C:62:11:0A:CC:A5:DB:0E:7E:74:DE:DD
X509v3 Subject Alternative Name:
email:[email protected]
X509v3 Issuer Alternative Name:
DNS:[email protected], DNS:, IP Address:1.1.2.2, IP Address:2.2.1.1
Authority Information Access:
CA Issuers - URI:http://titan/pki/pub/cacert/cacert.crt
OCSP - URI:http://titan:2560/
1.3.6.1.5.5.7.48.12 - URI:http://titan:830/
X509v3 CRL Distribution Points:
Full Name:
URI:http://192.168.40.130/pki/pub/crl/cacrl.crl
Signature Algorithm: sha256WithRSAEncryption
18:e7:39:9a:ad:84:64:7b:a3:85:62:49:e5:c9:12:56:a6:d2:
46:91:53:8e:84:ba:4a:0a:6f:28:b9:43:bc:e7:b0:ca:9e:d4:
1f:d2:6f:48:c4:b9:ba:c5:69:4d:90:f3:15:c4:4e:4b:1e:ef:
2b:1b:2d:cb:47:1e:60:a9:0f:81:dc:f2:65:6b:5f:7a:e2:36:
29:5d:d4:52:32:ef:87:50:7c:9f:30:4a:83:de:98:8b:6a:c9:
3e:9d:54:ee:61:a4:26:f3:9a:40:8f:a6:6b:2b:06:53:df:b6:
5f:67:5e:34:c8:c3:b5:9b:30:ee:01:b5:a9:51:f9:b1:29:37:
02:1a:05:02:e7:cc:1c:fe:73:d3:3e:fa:7e:91:63:da:1d:f1:
db:28:6b:6c:94:84:ad:fc:63:1b:ba:53:af:b3:5d:eb:08:b3:
5b:d7:22:3a:86:c3:97:ef:ac:25:eb:4a:60:f8:2b:a3:3b:da:
5d:6f:a5:cf:cb:5a:0b:c5:2b:45:b7:3e:6e:39:e9:d9:66:6d:
ef:d3:a0:f6:2a:2d:86:a3:01:c4:94:09:c0:99:ce:22:19:84:
2b:f0:db:3e:1e:18:fb:df:56:cb:6f:a2:56:35:0d:39:94:34:
6d:19:1d:46:d7:bf:1a:86:22:78:87:3e:67:fe:4b:ed:37:3d:
d6:0a:1c:0b
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
08:7c:67:01:5c:b3:5a:12:0f:2f
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=CN, L=shangdi, ST=pukras, O=OpenCA Labs, OU=docm, CN=subca1
Validity
Not Before: May 26 05:58:26 2011 GMT
Not After : Nov 22 05:58:26 2012 GMT
Subject: C=CN, O=OpenCA Labs, OU=Users, CN=subencr 11
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
00:db:26:13:d3:d1:a4:af:11:f3:6d:37:cf:d0:d4:
48:50:4e:0f:7d:54:76:ed:50:28:c6:71:d4:48:ae:
4d:e7:3d:23:78:70:63:18:33:f6:94:98:aa:fa:f6:
62:ed:8a:50:c6:fd:2e:f4:20:0c:14:f7:54:88:36:
2f:e6:e2:88:3f:c2:88:1d:bf:8d:9f:45:6c:5a:f5:
94:71:f3:10:e9:ec:81:00:28:60:a9:02:bb:35:8b:
bf:85:75:6f:24:ab:26:de:47:6c:ba:1d:ee:0d:35:
75:58:10:e5:e8:55:d1:43:ae:85:f8:ff:75:81:03:
8c:2e:00:d1:e9:a4:5b:18:39
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Cert Type:
SSL Server
X509v3 Key Usage:
Key Encipherment, Data Encipherment
Netscape Comment:
VPN Server of OpenCA Labs
X509v3 Subject Key Identifier:
CC:96:03:2F:FC:74:74:45:61:38:1F:48:C0:E8:AA:18:24:F0:2B:AB
X509v3 Authority Key Identifier:
keyid:70:54:40:61:71:31:02:06:8C:62:11:0A:CC:A5:DB:0E:7E:74:DE:DD
X509v3 Subject Alternative Name:
email:[email protected]
X509v3 Issuer Alternative Name:
DNS:[email protected], DNS:, IP Address:1.1.2.2, IP Address:2.2.1.1
Authority Information Access:
CA Issuers - URI:http://titan/pki/pub/cacert/cacert.crt
OCSP - URI:http://titan:2560/
1.3.6.1.5.5.7.48.12 - URI:http://titan:830/
X509v3 CRL Distribution Points:
Full Name:
URI:http://192.168.40.130/pki/pub/crl/cacrl.crl
Signature Algorithm: sha256WithRSAEncryption
53:69:66:5f:93:f0:2f:8c:54:24:8f:a2:f2:f1:29:fa:15:16:
90:71:e2:98:e3:5c:c6:e3:d4:5f:7a:f6:a9:4f:a2:7f:ca:af:
c4:c8:c7:2c:c0:51:0a:45:d4:56:e2:81:30:41:be:9f:67:a1:
23:a6:09:50:99:a1:40:5f:44:6f:be:ff:00:67:9d:64:98:fb:
72:77:9e:fd:f2:4c:3a:b2:43:d8:50:5c:48:08:e7:77:df:fb:
25:9f:4a:ea:de:37:1e:fb:bc:42:12:0a:98:11:f2:d9:5b:60:
bc:59:72:04:48:59:cc:50:39:a5:40:12:ff:9d:d0:69:3a:5e:
3a:09:5a:79:e0:54:67:a0:32:df:bf:72:a0:74:63:f9:05:6f:
5e:28:d2:e8:65:49:e6:c7:b5:48:7d:95:47:46:c1:61:5a:29:
90:65:45:4a:88:96:e4:88:bd:59:25:44:3f:61:c6:b1:08:5b:
86:d2:4f:61:4c:20:38:1c:f4:a1:0b:ea:65:87:7d:1c:22:be:
b6:17:17:8a:5a:0f:35:4c:b8:b3:73:03:03:63:b1:fc:c4:f5:
e9:6e:7c:11:e8:17:5a:fb:39:e7:33:93:5b:2b:54:72:57:72:
5e:78:d6:97:ef:b8:d8:6d:0c:05:28:ea:81:3a:06:a0:2e:c3:
79:05:cd:c3
关于导入的CA证书的详细信息可以通过相应的显示命令来查看,此处略。具体内容请参考命令display pki certificate domain。
获取CA证书失败。
可能有以下原因:
· 网络连接故障,如网线折断,接口松动;
· 没有设置信任的CA名称;
· 证书申请的注册受理机构服务器URL位置不正确或未配置;
· 设备的系统时钟与CA的时钟不同步;
· 未指定CA服务器可接受的PKI协议报文的源IP地址,或者指定的地址不正确;
· 指纹信息不合法。
· 排除物理连接故障;
· 查看各必配项是否都正确配置;
· 可通过ping命令测试注册服务器是否连接正常;
· 保持系统时钟与CA同步;
· 与CA服务器管理员联系,并保证配置正确的源IP地址;
· 在证书服务器上查看指纹信息是否合法。
获取本地证书失败。
可能有以下原因:
· 网络连接故障;
· 执行获取操作之前PKI域中没有CA证书;
· 没有配置LDAP服务器或者配置错误;
· PKI域没有指定申请使用的密钥对,或者指定的密钥对与待获取的本地证书不匹配;
· PKI域中没有引用PKI实体配置,或PKI实体配置不正确;
· 开启了CRL检查,但是本地没有CRL且无法获取到CRL;
· 未指定CA服务器可接受的PKI协议报文的源IP地址,或者指定的地址不正确;
· 设备时钟与CA服务器的时钟不同步。
· 排除物理连接故障;
· 获取或者导入CA证书;
· 配置正确的LDAP服务器;
· 在PKI域中指定申请使用的密钥对,生成指定的密钥对,并使其与待获取的本地证书匹配;
· PKI域中引用正确的PKI实体,并正确配置该PKI实体;
· 获取CRL;
· 与CA服务器管理员联系,并保证配置正确的源IP地址;
· 保持系统时钟与CA一致。
手工申请证书失败。
可能有以下原因:
· 网络连接故障,如网线折断,接口松动;
· 执行申请操作之前PKI域中没有CA证书;
· 证书申请的注册受理机构服务器URL位置不正确或未配置;
· 没有配置证书申请注册受理机构或配置不正确;
· 没有配置PKI实体DN中必配参数或者配置参数不正确;
· PKI域中没有指定证书申请使用的密钥对,或者PKI中指定的密钥对在申请过程中已被修改;
· 当前PKI域中有互斥的证书申请程序正在运行;
· 未指定CA服务器可接受的PKI协议报文的源IP地址,或者指定的地址不正确;
· 设备时钟与CA服务器的时钟不同步。
· 排除物理连接故障;
· 获取或者导入CA证书;
· 可通过ping命令测试注册服务器是否连接正常;
· 配置正确的证书申请注册受理机构服务器URL;
· 查看CA/RA注册策略,并对相关的PKI实体DN属性进行正确配置;
· 在PKI域中指定证书申请使用的密钥对,或者删除设备上PKI域中指定的密钥对并重新申请本地证书;
· 使用pki abort-certificate- request domain命令停止正在运行的证书申请程序;
· 与CA服务器管理员联系,并保证配置正确的源IP地址;
· 保持系统时钟与CA一致。
获取CRL失败。
可能有以下原因:
· 网络连接故障,如网线折断,接口松动;
· 获取CRL之前未先取得CA证书;
· 未设置CRL发布点位置,且不能从PKI域中CA证书或本地证书中获得正确的发布点;
· 设置的CRL发布点位置不正确;
· 不能获取CRL发布点的情况下,通过SCEP协议获取CRL,但此时PKI域中不存在本地证书,或本地证书的密钥对已被修改,或PKI域中没有配置正确的证书申请URL;
· CRL发布点的URL配置中包含不完整的地址(没有主机名或主机地址)且PKI域中没有配置LDAP服务器或者配置不正确;
· 未指定CA服务器可接受的PKI协议报文的源IP地址,或者指定的地址不正确。
· 排除物理连接故障;
· 获取或导入CA证书;
· 设置正确CRL发布点位置:配置包含完整地址的CRL发布点的URL或在PKI域中配置正确的LDAP服务器;
· 在无法获取CRL发布点的情况下,配置正确的证书申请URL,并保证已经获取了本地证书,且本地保存的密钥对的公钥与本地证书的公钥匹配;
· 在CA上发布CRL;
· 与CA服务器管理员联系,并保证配置正确的源IP地址。
导入证书失败。
可能有以下原因:
· 开启了CRL检查,但是本地没有CRL且无法获取到CRL;
· 指定的导入格式与实际导入的文件格式不一致。
· 执行undo crl check enable命令,关闭CRL检查;
· 请确认导入的文件格式并选择正确的导入格式。
导入证书失败。
可能有以下原因:
· PKI域中没有CA证书且导入的本地证书中不含CA证书链;
· 开启了CRL检查,但是本地没有CRL且无法获取到CRL;
· 指定的导入格式与实际导入的文件格式不一致;
· 设备上和证书中都没有该本地证书对应的密钥对;
· 证书已经被吊销;
· 证书不在有效期;
· 系统时钟设置错误。
· 获取或者导入CA证书;
· 执行undo crl check enable命令,关闭CRL检查,或者先获取CRL;
· 请确认导入的文件格式并选择正确的导入格式;
· 请导入包含私钥内容的证书文件;
· 导入未被吊销的证书;
· 导入还在有效期内的证书;
· 请重新设置正确的系统时钟。
导出证书失败。
可能有以下原因:
· 以PKCS#12格式导出所有证书时PKI域中没有本地证书;
· 用户所设置的导出路径不存在;
· 用户所设置的导出路径不合法;
· 要导出的本地证书的公钥和它所属PKI域中的密钥对的公钥部分不匹配;
· 设备磁盘空间已满。
· 获取或申请本地证书;
· 用mkdir命令创建用户所需路径;
· 设置正确的导出路径;
· 在PKI域中配置匹配的密钥对;
· 清理设备磁盘空间。
设置证书或CRL存储路径失败。
可能有以下原因:
· 用户所设置的证书或CRL存储路径不存在;
· 用户所设置的证书或CRL存储路径不合法;
· 设备磁盘空间已满。
· 用mkdir命令创建用户所需路径;
· 设置正确的证书或CRL存储路径;
· 清理设备磁盘空间。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!