对证书进行排序和过滤

本页面介绍了如何对返回的证书进行排序和过滤 由ListCertificates提供 Certificate Authority Service 中的 API 调用。

如需了解如何列出和查看已颁发的证书,请参阅 查看已颁发的证书

排序支持

默认情况下,ListCertificates API 调用会返回按 create_time 字段排序的证书,最新证书列在最前面。不能指定其他排序顺序。

过滤支持

以下字段可用于过滤 ListCertificates API 调用返回的证书:

字段名称 字段类型 支持的运算符
create_time 时间戳 <, >, <=, >=, =, !=
update_time 时间戳 <, >, <=, >=, =, !=
certificate_description.subject_description.not_after_time 时间戳 <, >, <=, >=, =, !=
certificate_description.subject_description.not_before_time 时间戳 <, >, <=, >=, =, !=
certificate_description.cert_fingerprint.sha256_hash 字符串 =, !=
certificate_description.subject_description.hex_serial_number 字符串 =, !=
certificate_description.subject_description.subject.common_name 字符串 =, !=
certificate_description.subject_description.subject.country_code 字符串 =, !=
certificate_description.subject_description.subject.organization 字符串 =, !=
certificate_description.subject_description.subject.organizational_unit 字符串 =, !=
certificate_description.subject_description.subject.locality 字符串 =, !=
certificate_description.subject_description.subject.province 字符串 =, !=
certificate_description.subject_description.subject.street_address 字符串 =, !=
certificate_description.subject_description.subject.postal_code 字符串 =, !=
certificate_description.subject_description.subject_alt_name.dns_names 字符串 :(HAS 运算符)
certificate_description.x509_description.key_usage.extended_key_usage.client_auth 布尔值 =, !=
certificate_description.x509_description.key_usage.extended_key_usage.server_auth 布尔值 =, !=
labels 地图 :(HAS 运算符)
certificate_template 字符串 =, !=:(HAS 运算符)

注意:字段 certificate_description.x509_description.key_usage.extended_key_usage.client_authcertificate_description.x509_description.key_usage.extended_key_usage.server_auth 是布尔值,用于表示是否存在相应的扩展密钥用途。

过滤语法

过滤语法遵循 AIP 160 中设置的 API 过滤指南,但存在以下限制:

  • 仅支持顶级 AND 运算符。其他元素都不是(例如,ORNOT、嵌套运算符或这些运算符的任意组合)。

    • 有效:过滤条件仅使用顶级 AND 运算符:

      create_time>"2020-08-21T11:30:00.11-05:00" AND certificate_description.x509_description.key_usage.extended_key_usage.server_auth=true
      
    • 无效:过滤条件使用 OR 运算符:

       create_time>"2020-08-21T11:30:00.11-05:00" OR certificate_description.x509_description.key_usage.extended_key_usage.server_auth=true
      
    • 无效:过滤条件使用了嵌套运算符:

       (create_time>"2020-08-21T11:30:00.11-05:00" AND certificate_description.x509_description.key_usage.extended_key_usage.server_auth=true) AND certificate_description.subject_description.subject.common_name="foo.com"
      
  • 不支持通配符匹配(使用 *),但 certificate_description.subject_description.subject_alt_name.dns_names 字段除外,该字段支持 DNS 标签的后缀匹配。

    • 有效:过滤器比较通配符后缀匹配:

      certificate_description.subject_description.subject_alt_name.dns_names:"*.foo.com"
      
    • 无效:过滤条件与通配符前缀匹配进行比较:

      certificate_description.subject_description.subject_alt_name.dns_names:"foo.*"
      
    • 无效:过滤条件针对不受支持的字段与通配符进行比较:

      "certificate_description.subject_description.hex_serial_number"="*3d3"
      

后续步骤