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