SSL 证书日期的表达式
您可以通过配置包含以下前缀的表达式来确定 SSL 证书的有效期:
CLIENT.SSL.CLIENT_CERT
以下示例表达式将特定到期时间与证书中的信息匹配:
client.ssl.client_cert.valid_not_after.eq(GMT 2009)
下表描述了对 SSL 证书的基于时间的操作。要获取所需的表达式,请将第一列表达式中的证书替换为前缀表达式“Client.SSL.CENT_CERT”。
-
<certificate>.VALID_NOT_AFTER:
返回证书到期前的最后一天。返回格式是自 1970 年 1 月 1 日格林威治标准时间以来的秒数(0 小时,0 分钟,0 秒)。
-
<certificate>.VALID_NOT_AFTER.BETWEEN(<time1>, <time2>):
如果证书有效性介于 <time1> 和 <time2> 参数之间,则返回布尔值 TRUE。<time1> 和 <time2> 必须完全指定。下面是示例:
GMT 1995 Jan 是完全指定的。
GMT Jan 未完全指定
GMT 1995 20 未完全指定。
GMT Jan Mon_2 未完全指定。
<time1>和 <time2> 参数必须同时为 GMT 或同时为本地,并且 <time2> 必须大于 <time1>。
例如,如果时间为 GMT 2005 May 1 10h 15m 30s,并且是该月的第一个星期天,您可以指定以下内容(评估结果在括号中)。
- . . .between(GMT 2004, GMT 2006) (TRUE)
- . . .between(GMT 2004 Jan, GMT 2006 Nov) (TRUE)
- . . .between(GMT 2004 Jan, GMT 2006) (TRUE)
- . . .between(GMT 2005 May Sun_1, GMT 2005 May Sun_3) (TRUE)
- . . .between(GMT 2005 May 1, GMT May 2005 1) (TRUE)
- . . .between(LOCAL 2005 May 1, LOCAL May 2005 1) (TRUE 或 FALSE,具体取决于 Citrix ADC 系统时区)
-
<certificate>.VALID_NOT_AFTER.DAY:
提取证书有效的月份的最后一天,并根据日期返回 1 到 31 之间的数字。
-
<certificate>.VALID_NOT_AFTER.EQ(<time>):
如果时间等于 <time> 参数,则返回布尔值 TRUE。
例如,如果当前时间是 GMT 2005 May 1 10h 15m 30s,并且是该月的第一个星期天,您可以指定以下内容(此示例的评估结果在括号中):
- . . .eq(GMT 2005) (TRUE)
- . . .eq(GMT 2005 Dec) (FALSE)
- . . .eq(LOCAL 2005 May)(TRUE 或 FALSE,具体取决于当前时区)
- . . .eq(GMT 10h) (TRUE)
- . . .eq(GMT 10h 30s) (TRUE)
- . . .eq(GMT May 10h) (TRUE)
- . . .eq(GMT Sun) (TRUE)
- . . .eq(GMT May Sun_1) (TRUE)
-
<certificate>.VALID_NOT_AFTER.GE(<time>):
如果时间值大于或等于参数,则返回布尔值 TRUE <time>。
例如,如果时间值是 GMT 2005 May 1 10h 15m 30s,并且它是 2005 年 5 月的第一个星期日,您可以指定以下内容(此示例的评估结果在括号中):
- . . .ge(GMT 2004) (TRUE)
- . . .ge(GMT 2005 Jan) (TRUE)
- . . .ge(LOCAL 2005 May) (TRUE 或 FALSE, 具体取决于当前时区。)
- . . .ge(GMT 8h) (TRUE)
- . . .ge(GMT 30m) (FALSE)
- . . .ge(GMT May 10h) (TRUE)
- . . .ge(GMT May 10h 0m) (TRUE)
- . . .ge(GMT Sun) (TRUE)
- . . .ge(GMT May Sun_1) (TRUE)
-
<certificate>.VALID_NOT_AFTER.GT(<time>):
如果时间值大于参数,则返回布尔值 TRUE <time>。
例如,如果时间值是 GMT 2005 May 1 10h 15m 30s,并且它是 2005 年 5 月的第一个星期日,您可以指定以下内容(此示例的评估结果在括号中):
- . . .gt(GMT 2004) (TRUE)
- . . .gt(GMT 2005 Jan) (TRUE)
- . . .gt(LOCAL 2005 May) (TRUE 或 FALSE, 具体取决于当前时区。)
- . . .gt(GMT 8h) (TRUE)
- . . .gt(GMT 30m) (FALSE)
- . . .gt(GMT May 10h) (FALSE)
- . . .gt(GMT Sun) (FALSE)
- . . .gt(GMT May Sun_1) (FALSE)
-
<certificate>.VALID_NOT_AFTER.HOURS:
提取证书有效的最后一小时,并以 0 到 23 的整数形式返回该值。
-
<certificate>.VALID_NOT_AFTER.LE(<time>):
如果时间在 <time> 参数之前或等于参数,则返回布尔值 TRUE。
例如,如果时间值是 GMT 2005 May 1 10h 15m 30s,并且它是 2005 年 5 月的第一个星期日,您可以指定以下内容(此示例的评估结果在括号中):
- . . .le(GMT 2006) (TRUE)
- . . .le(GMT 2005 Dec) (TRUE)
- . . .le(LOCAL 2005 May) (TRUE 或 FALSE, 具体取决于当前时区。)
- . . .le(GMT 8h) (FALSE)
- . . .le(GMT 30m) (TRUE)
- . . .le(GMT May 10h) (TRUE)
- . . .le(GMT Jun 11h) (TRUE)
- . . .le(GMT Wed) (TRUE)
- . . .le(GMT May Sun_1) (TRUE)
-
<certificate>.VALID_NOT_AFTER.LT(<time>):
如果时间在 <time> 参数之前,则返回布尔值 TRUE。
例如,如果当前时间为 GMT 2005 May 1 10h 15m 30s,并且是该月的第一个星期天,您可以指定以下内容:
- . . .lt(GMT 2006) (TRUE)
- . . .lt(GMT 2005 Dec) (TRUE)
- . . .lt(LOCAL 2005 May) (TRUE 或 FALSE, 具体取决于当前时区。)
- . . .lt(GMT 8h) (FALSE)
- . . .lt(GMT 30m) (TRUE)
- . . .lt(GMT May 10h) (FALSE)
- . . .lt(GMT Jun 11h) (TRUE)
- . . .lt(GMT Wed) (TRUE)
- . . .lt(GMT May Sun_1) (FALSE)
-
<certificate>.VALID_NOT_AFTER.MINUTES:
提取证书有效的最后一分钟,并以 0 到 59 的整数形式返回该值。
-
<certificate>.VALID_NOT_AFTER.MONTH:
提取证书有效的最后一个月,并以 1(1 月)到 12(12 月)的整数形式返回该值。
-
<certificate>.VALID_NOT_AFTER.RELATIVE_BOOT:
计算与前一次或计划重新启动最接近的秒数,并返回一个整数。如果最接近的启动时间是过去,则整数为负数。如果在未来,则整数为正数。
-
<certificate>.VALID_NOT_AFTER.RELATIVE_NOW;
计算当前系统时间与指定时间之间的秒数,并返回整数。如果时间在过去,则整数为负数;如果将来是整数,则整数为正数。
-
<certificate>.VALID_NOT_AFTER.SECONDS:
提取证书有效的最后一秒,并以 0 到 59 的整数形式返回该值。
-
<certificate>.VALID_NOT_AFTER.WEEKDAY:
提取证书有效的最后一个工作日。返回一个介于 0(星期日)和 6(星期六)之间的数字,以在时间值中给出工作日。
-
<certificate>.VALID_NOT_AFTER.WITHIN(<time1>, <time2>):
如果时间位于 <time1> 和中元素定义的所有范围内,则返回布尔值 TRUE <time2>。
如果省略某个时间元素 <time1>,则假定该元素在其范围内具有最低值。如果省略某个元素 <time2>,则假定它具有其范围的最高值。如果您在 <time1> 中指定年份,则必须在 <time2> 中指定该年份。
时间元素的范围如下:月 1-12、日 1-31、平日 0-6、小时 0-23、分钟 0-59 和秒 0-59。要使结果为 TRUE,时间中的每个元素必须存在于您在中指定的相应范围内 <time1> <time2>。
例如,如果时间为 GMT 2005 May 10 10h 15m 30s,并且是该月的第二个星期二,则可以指定以下内容(评估结果在括号中):
- . . .within(GMT 2004, GMT 2006) (TRUE)
- . . .within(GMT 2004 Jan, GMT 2006 Mar) (FALSE, May is not in the range of January to March.)
- . . .within(GMT Feb, GMT)(TRUE, 5 月在 2 月到 12 月范围内。)
- . . .within(GMT Sun_1, GMT Sun_3)(TRUE,第二个星期二在第一个星期日到第三个星期日的范围内)
- . . .within(GMT 2005 May 1 10h, GMT May 2005 1 17h) (TRUE)
- . . .within(LOCAL 2005 May 1, LOCAL May 2005 1) (TRUE 或 FALSE,具体取决于 Citrix ADC 系统时区)
-
<certificate>.VALID_NOT_AFTER.YEAR:
提取证书有效的最后一年,并返回四位数整数。
-
<certificate>.VALID_NOT_BEFORE:
返回客户端证书的有效日期。
返回格式是自 1970 年 1 月 1 日格林威治标准时间以来的秒数(0 小时,0 分钟,0 秒)。
-
<certificate>.VALID_NOT_BEFORE.BETWEEN(<time1>, <time2>):
如果时间值介于两个时间参数之间,则返回布尔值 TRUE。<time1> 和 <time2> 参数完全指定。
下面是示例:
GMT 1995 Jan 是完全指定的。 GMT Jan 未完全指定。 GMT 1995 20 未完全指定。 GMT Jan Mon_2 未完全指定。 时间参数必须同时为 GMT 或同时为本地,并且 <time2> 必须大于 <time1>。
例如,如果时间值是 GMT 2005 May 1 10h 15m 30s,并且它是 2005 年 5 月的第一个星期日,您可以指定以下内容(此示例的评估结果在括号中):
- . . .between(GMT 2004, GMT 2006) (TRUE)
- . . .between(GMT 2004 Jan, GMT 2006 Nov) (TRUE)
- . . .between(GMT 2004 Jan, GMT 2006) (TRUE)
- . . .between(GMT 2005 May Sun_1, GMT 2005 May Sun_3) (TRUE)
- . . .between(GMT 2005 May 1, GMT May 2005 1) (TRUE)
- . . .between(LOCAL 2005 May 1, LOCAL May 2005 1) (TRUE 或 FALSE,具体取决于 Citrix ADC 系统时区)
-
<certificate>.VALID_NOT_BEFORE.DAY:
提取证书有效的月份最后一天,并将该值作为从 1 到 31 表示该日期的数字返回。
-
<certificate>.VALID_NOT_BEFORE.EQ(<time>):
如果时间等于 <time> 参数,则返回布尔值 TRUE。
例如,如果时间值是 GMT 2005 May 1 10h 15m 30s,并且它是 2005 年 5 月的第一个星期日,您可以指定以下内容(此示例的评估结果在括号中):
- . . .eq(GMT 2005) (TRUE)
- . . .eq(GMT 2005 Dec) (FALSE)
- . . .eq(LOCAL 2005 May)(TRUE 或 FALSE,具体取决于当前时区)
- . . .eq(GMT 10h) (TRUE)
- . . .eq(GMT 10h 30s) (TRUE)
- . . .eq(GMT May 10h) (TRUE)
- . . .eq(GMT Sun) (TRUE)
- . . .eq(GMT May Sun_1) (TRUE)
-
<certificate>.VALID_NOT_BEFORE.GE(<time>):
如果时间大于(之后)或等于 <time> 参数,则返回布尔值 TRUE。
例如,如果时间值是 GMT 2005 May 1 10h 15m 30s,并且它是 2005 年 5 月的第一个星期日,您可以指定以下内容(评估结果在括号中):
- . . .ge(GMT 2004) (TRUE)
- . . .ge(GMT 2005 Jan) (TRUE)
- . . .ge(LOCAL 2005 May) (TRUE 或 FALSE, 具体取决于当前时区。)
- . . .ge(GMT 8h) (TRUE)
- . . .ge(GMT 30m) (FALSE)
- . . .ge(GMT May 10h) (TRUE)
- . . .ge(GMT May 10h 0m) (TRUE)
- . . .ge(GMT Sun) (TRUE)
- . . .ge(GMT May Sun_1) (TRUE)
-
<certificate>.VALID_NOT_BEFORE.GT(<time>):
如果时间发生在 <time> 参数之后,则返回布尔值 TRUE。
例如,如果时间值是 GMT 2005 May 1 10h 15m 30s,并且它是 2005 年 5 月的第一个星期日,您可以指定以下内容(评估结果在括号中):
- . . .gt(GMT 2004) (TRUE)
- . . .gt(GMT 2005 Jan) (TRUE)
- . . .gt(LOCAL 2005 May) (TRUE 或 FALSE, 具体取决于当前时区。)
- . . .gt(GMT 8h) (TRUE)
- . . .gt(GMT 30m) (FALSE)
- . . .gt(GMT May 10h) (FALSE)
- . . .ge(GMT May 10h 0m) (TRUE)
- . . .gt(GMT Sun) (FALSE)
- . . .gt(GMT May Sun_1) (FALSE)
-
<certificate>.VALID_NOT_BEFORE.HOURS:
提取证书有效的最后一小时,并以 0 到 23 的整数形式返回该值。
-
**<certificate>.VALID_NOT_BEFORE.LE (<time>)
如果时间在 <time> 参数之前或等于参数,则返回布尔值 TRUE。
例如,如果时间值是 GMT 2005 May 1 10h 15m 30s,并且它是 2005 年 5 月的第一个星期日,您可以指定以下内容(此示例的评估结果在括号中):
- . . .le(GMT 2006) (TRUE)
- . . .le(GMT 2005 Dec) (TRUE)
- . . .le(LOCAL 2005 May) (TRUE 或 FALSE, 具体取决于当前时区。)
- . . .le(GMT 8h) (FALSE) . - . .le(GMT 30m) (TRUE)
- . . .le(GMT May 10h) (TRUE)
- . . .le(GMT Jun 11h) (TRUE)
- . . .le(GMT Wed) (TRUE)
- . . .le(GMT May Sun_1) (TRUE)
-
<certificate>.VALID_NOT_BEFORE.LT(<time>):
如果时间在 <time> 参数之前,则返回布尔值 TRUE。
例如,如果时间值是 GMT 2005 May 1 10h 15m 30s,并且它是 2005 年 5 月的第一个星期日,您可以指定以下内容(此示例的评估结果在括号中):
- . . .lt(GMT 2006) (TRUE)
- . . .lt(GMT 2005 Dec) (TRUE)
- . . .lt(LOCAL 2005 May) (TRUE 或 FALSE, 具体取决于当前时区。)
- . . .lt(GMT 8h) (FALSE)
- . . .lt(GMT 30m) (TRUE)
- . . .lt(GMT May 10h) (FALSE)
- . . .lt(GMT Jun 11h) (TRUE)
- . . .lt(GMT Wed) (TRUE)
- . . .lt(GMT May Sun_1) (FALSE)
-
<certificate>.VALID_NOT_BEFORE.MINUTES:
提取证书有效的最后一分钟。以 0 到 59 的整数形式返回当前分钟。
-
<certificate>.VALID_NOT_BEFORE.MONTH:
提取证书有效的最后一个月。返回从 1(1 月)到 12(12 月)的当前月份的整数。
-
<certificate>.VALID_NOT_BEFORE.RELATIVE_BOOT:
计算与之前或计划的 Citrix ADC 重新启动最接近的秒数,并返回整数。如果最接近的启动时间是过去,则整数为负;如果将来是,则整数为正数。
-
<certificate>.VALID_NOT_BEFORE.RELATIVE_NOW:
以整数形式返回当前 Citrix ADC 系统时间与指定时间之间的秒数。如果指定的时间是过去的,则整数为负数。如果在未来,则整数为正数。
-
<certificate>.VALID_NOT_BEFORE.SECONDS:
提取证书有效的最后一秒。以 0 到 59 的整数形式返回当前秒。
-
<certificate>.VALID_NOT_BEFORE.WEEKDAY:
提取证书有效的最后一个工作日。以 0(星期日)和 6(星期六)之间的数字形式返回工作日。
-
<certificate>.VALID_NOT_BEFORE.WITHIN(<time1>, <time2>):
如果每个时间元素都存在于 <time1>, <time2> 参数中定义的范围内,则返回布尔值 TRUE。
如果省略某个时间元素 <time1>,则假定该元素在其范围内具有最低值。如果省略某个时间元素 <time2>,则假定该元素在其范围内具有最高值。如果您在 <time1> 中指定年份,则必须在 <time2> 中指定该年份。时间元素的范围如下:月 1-12、日 1-31、平日 0-6、小时 0-23、分钟 0-59 和秒 0-59。
例如,如果时间为 GMT 2005 May 10 10h 15m 30s,并且是该月的第二个星期二,则可以指定以下内容(评估结果在括号中):
- . . .within(GMT 2004, GMT 2006) (TRUE)
- . . .within(GMT 2004 Jan, GMT 2006 Mar) (FALSE, May is not in the range of January to March.)
- . . .within(GMT Feb, GMT)(TRUE, 5 月在 2 月到 12 月范围内。)
- . . .within(GMT Sun_1, GMT Sun_3)(TRUE,第二个星期二介于第一个星期日和第三个星期日之间。)
- . . .within(GMT 2005 May 1 10h, GMT May 2005 1 17h) (TRUE)
- . . .within(LOCAL 2005 May 1, LOCAL May 2005 1) (TRUE 或 FALSE,具体取决于 Citrix ADC 系统时区)
-
<certificate>.VALID_NOT_BEFORE.YEAR:
提取证书有效的最后一年。以四位数整数形式返回当前年份。