证书撤销列表
由CA颁发的证书通常在到期日之前一直有效。有时,CA会在过期日期之前撤销已颁发的证书。例如,当所有者的私钥被泄露时,公司或个人的名称会发生变化,或者主体与CA之间的关联会发生变化。
CRL (Certificate Revocation List)通过序列号和颁发者来标识无效的证书。
证书颁发机构定期颁发crl。您可以将Citrix ADC设备配置为使用CRL来阻止提供无效证书的客户端请求。
如果您已经拥有来自CA的CRL文件,请将其添加到Citrix ADC设备。您可以配置刷新选项。您还可以配置Citrix ADC以指定的时间间隔从web位置或LDAP位置自动同步CRL文件。该设备支持PEM或DER文件格式的crl。请确保指定要添加到Citrix ADC设备的CRL文件的文件格式。
如果使用ADC设备作为CA来创建SSL部署中使用的证书,则可以创建CRL来撤销特定的证书。例如,可以使用此特性确保在ADC上创建的自签名证书不会在生产环境中使用,也不会在特定日期之后使用。
注意:
默认情况下,crl存储在Citrix ADC设备的/var/netscaler/ssl目录中。
在ADC设备上创建CRL
由于您可以使用ADC设备充当CA并创建自签名证书,因此还可以撤销以下证书:
- 已创建的证书。
- 您拥有其CA证书的证书。
设备必须撤销无效的证书,然后才能为这些证书创建CRL。设备将已撤销证书的序列号存储在一个索引文件中,并在每次撤销证书时更新该文件。第一次吊销证书时,会自动创建索引文件。
该任务指导管理员通过CLI方式撤销证书或创建CRL
在命令提示符下,输入以下命令:
create ssl crl (-revoke | -genCRL )
例子:
create ssl crl Cert-CA-1 Key-CA-1 File-Index-1 -revoke invalidate -1 create ssl crl Cert-CA-1 Key-CA-1 File-Index-1 -genCRL crl -1
该任务指导管理员通过GUI方式撤销证书或创建CRL
- 导航到流量管理> SSL2 .在“入门”组中选择“CRL管理”。
- 输入证书详细信息,并在选择操作列表中,选择撤销证书,或CRL生成.
向ADC设备添加现有CRL
在Citrix ADC设备上配置CRL之前,请确保CRL文件存储在本地的Citrix ADC设备上。在HA设置中,CRL文件必须出现在两个Citrix ADC设备上,并且文件的目录路径在两个设备上必须相同。
使用CLI在ADC设备上添加CRL
在命令提示符下,键入以下命令在ADC设备上添加CRL并验证配置:
add ssl crl [-inform (DER | PEM)] show ssl crl []
例子:
> add ssl crl crl-one /var/ netscalers /ssl/ crl-one -inform PEM Done > show ssl crl crl-one名称:crl-one状态:有效,截止日期:29 crl路径:/var/ netscalers /ssl/ crl-one格式:PEM CAcert: samplecertkey刷新:DISABLED版本:1 Signature Algorithm: sha1WithRSAEncryption Issuer:颁发者C=US,ST=California,L=Santa Clara,O=NetScaler Inc,OU=SSL加速,CN=www.ns.com/emailAddress=support@Citrix ADC appliance.com Last_update: 6月15日10:53:53 2010 GMT Next_update: 7月15日10:53:53 2010 GMT 1)序列号:00撤销日期:6月15日10:51:16 2010 GMT完成
使用GUI在ADC设备上添加CRL
导航到交通管理>SSL>CRL,并添加CRL。
配置CRL刷新参数
CA定期生成并发布CRL,有时是在撤销特定证书后立即生成并发布CRL。Citrix建议您定期更新Citrix ADC设备上的crl,以防止客户端试图连接无效的证书。
Citrix ADC设备可以从web位置或LDAP目录刷新crl。当您指定了刷新参数和web位置或LDAP服务器时,执行该命令时CRL不需要存在于本地硬盘驱动器上。第一次刷新将副本存储在本地硬盘驱动器上,在CRL File参数指定的路径中。CRL的默认存放路径为“/var/netscaler/ssl”。
注意:在10.0及以后版本中,默认不包含刷新CRL的方法。显式地指定HTTP或LDAP方法。如果要从较早版本升级到10.0或更高版本,则必须添加一个方法并再次运行该命令。
通过CLI配置CRL自动刷新
在命令提示符下,输入以下命令配置CRL自动刷新并验证配置结果。
set ssl crl [-refresh (ENABLED | DISABLED)] [-CAcert ] [-url ] [-method HTTP | (LDAP [-baseDN ] [-bindDN ] [-scope (Base | One)] [-password ] [-binary (YES | NO)])] [-port ] [-interval ] show ssl crl []
例子:
设置CRL crl1刷新方法启用ldap通知DER -CAcert ca1 - server 10.102.192.192 - port 389范围基地basedn“cn = clnt_rsa4_multicert_der, ou = eng, o = ns, c =“- 00:01设置ssl CRL crl1刷新方法启用http -CAcert ca1 - port 80 - 00:10 URL http://10.102.192.192/crl/ca1.crl > sh CRL 1)名称:crl1状态:有效,天过期:355 CRL路径:/var/netscaler/ssl/crl1格式:PEM CAcert: ca1刷新:方法:启用http URL:http://10.102.192.192/crl/ca1.crl端口:80刷新时间:00:10最后更新:成功,日期:周二七月6日14:38:13 2010完成
通过GUI方式配置LDAP协议和HTTP协议自动刷新CRL
- 导航到流量管理> SSL > CRL.
- 打开CRL,选择启用CRL自动刷新.
请注意
属性指定的实际更新时间之前,在外部存储库中刷新了新的CRL最近更新时间字段,则需要执行以下操作:
立即刷新Citrix ADC设备上的CRL。
选中CRL前的复选框,单击,查看最近一次更新CRL的时间细节.
利用同步
Citrix ADC设备使用最新分发的CRL来阻止已撤销证书的客户端访问安全资源。
如果crl经常更新,Citrix ADC设备需要一种自动机制来从存储库获取最新的crl。您可以将设备配置为以指定的刷新间隔自动更新crl。
该设备维护一个需要定期更新的内部crl列表。在这些指定的时间间隔内,设备扫描列表以查找需要更新的crl。连接远端LDAP服务器或HTTP服务器,获取最新的CRL,并使用新的CRL更新本地CRL列表。
注意:
如果CA证书绑定虚拟服务器时设置了强制检查CRL,且首次刷新CRL失败,则会对连接执行如下操作:
与CRL相同的颁发者的所有客户端身份验证连接将被拒绝为吊销,直到CRL成功刷新。
可以指定刷新CRL的时间间隔。您还可以指定确切的时间。
通过命令行同步CRL自动刷新
在命令提示符下,输入以下命令:
set ssl crl [-interval ] [day ] [-time ]
例子:
set ssl crl crl -1 -refresh ENABLE -interval month -days 10 -time 12:00
GUI方式同步CRL刷新
- 导航到流量管理> SSL > CRL.
- 打开CRL,勾选“启用CRL自动刷新”,并指定时间间隔。
使用证书撤销列表执行客户端身份验证
如果Citrix ADC设备上存在证书撤销列表(CRL),则无论执行CRL检查是强制执行还是可选执行,都将执行CRL检查。
握手的成功或失败取决于以下因素的组合:
- CRL检查规则
- 客户端证书检查规则
- 为CA证书配置CRL的状态
下表列出了涉及已撤销证书的握手的可能组合的结果。
表1。使用已撤销的证书与客户端握手的结果
CRL检查规则 | 客户端证书检查规则 | CA证书的CRL状态 | 与已撤销的证书握手的结果 |
---|---|---|---|
可选 | 可选 | 失踪 | 成功 |
可选 | 强制性的 | 失踪 | 成功 |
可选 | 强制性的 | 现在 | 失败 |
强制性的 | 可选 | 失踪 | 成功 |
强制性的 | 强制性的 | 失踪 | 失败 |
强制性的 | 可选 | 现在 | 成功 |
强制性的 | 强制性的 | 现在 | 失败 |
可选/强制 | 可选 | 过期的 | 成功 |
可选/强制 | 强制性的 | 过期的 | 失败 |
注意:
CRL检查缺省为可选检查。若要从可选更改为强制或相反,必须首先从SSL虚拟服务器解除证书绑定,然后在更改选项后重新绑定。
的输出中
Sh SSL vserver
命令,OCSP check: optional表示CRL检查也是可选的。命令的回显信息中显示CRL检查的设置Sh SSL vserver
当CRL检查为强制检查时,才执行此命令。如果配置为可选,则不显示CRL检查的详细信息。
使用CLI方式配置CRL检查
在命令提示符下,输入以下命令:
bind ssl vserver -certkeyName [(-CA -crlCheck(必选|可选))]sh ssl vserver
例子:
bind ssl vs v1 -certkeyName ca -CA -crlCheck mandatory > sh ssl vs v1 VServer v1的高级ssl配置:DH: DISABLED DH私钥指数大小限制:DISABLED Ephemeral RSA: ENABLED刷新计数:0会话重用:ENABLED超时:120秒Cipher重定向:DISABLED SSLv2重定向:DISABLED ClearText端口:0客户端认证:ENABLED客户端证书Required: mandatory ssl重定向:DISABLED Non FIPS Ciphers: DISABLED SNI: DISABLED OCSP Stapling: DISABLED HSTS:DISABLED HSTS包括esubdomains: NO HSTS Max-Age: 0 SSLv2: DISABLED SSLv3: ENABLED TLSv1.0: ENABLED TLSv1.1: ENABLED TLSv1.2: ENABLED Push Encryption Trigger: Always Send Close-Notify: YES ECC Curve: P_256, P_384, P_224, P_521 1) CertKey Name: ca ca Certificate CRLCheck: Mandatory CA_Name Sent 1) Cipher Name: DEFAULT Description:预定义Cipher Alias Done
GUI方式配置CRL检查
- 导航到流量管理>负载均衡>虚拟服务器,打开SSL虚拟服务器。
- 请按证书部分。
- 选择证书,并在OCSP和CRL检查列表中,选择CRL强制性.
与已撤销证书或有效证书握手的结果
CRL检查规则 | 客户端证书检查规则 | 为CA证书配置CRL的状态 | 与已撤销证书握手的结果 | 与有效证书握手的结果 |
---|---|---|---|---|
强制性的 | 强制性的 | 现在 | 失败 | 成功 |
强制性的 | 强制性的 | 过期的 | 失败 | 失败 |
强制性的 | 强制性的 | 失踪 | 失败 | 失败 |
强制性的 | 强制性的 | 未定义的 | 失败 | 失败 |
可选 | 强制性的 | 现在 | 失败 | 成功 |
可选 | 强制性的 | 过期的 | 成功 | 成功 |
可选 | 强制性的 | 失踪 | 成功 | 成功 |
可选 | 强制性的 | 未定义的 | 成功 | 成功 |
强制性的 | 可选 | 现在 | 成功 | 成功 |
强制性的 | 可选 | 过期的 | 成功 | 成功 |
强制性的 | 可选 | 失踪 | 成功 | 成功 |
强制性的 | 可选 | 未定义的 | 成功 | 成功 |
可选 | 可选 | 现在 | 成功 | 成功 |
可选 | 可选 | 过期的 | 成功 | 成功 |
可选 | 可选 | 失踪 | 成功 | 成功 |
可选 | 可选 | 未定义的 | 成功 | 成功 |