Classificar e filtrar certificados

Nesta página, descrevemos como classificar e filtrar os certificados retornados pela chamada de API ListCertificates no Certificate Authority Service.

Suporte à classificação

Por padrão, a chamada de API ListCertificates retorna os certificados ordenados pelo campo create_time. Os certificados mais recentes são listados primeiro. Nenhuma outra ordem de classificação pode ser especificada.

Suporte a filtragem

Os campos a seguir podem ser usados para filtrar os certificados retornados pela chamada de API ListCertificates:

Nome do campo Tipo de campo Operadores compatíveis
create_time timestamp <, >, <=, >=, =, !=
update_time timestamp <, >, <=, >=, =, !=
certificate_description.subject_description.not_after_time timestamp <, >, <=, >=, =, !=
certificate_description.subject_description.not_before_time timestamp <, >, <=, >=, =, !=
certificate_description.cert_fingerprint.sha256_hash string =, !=
certificate_description.subject_description.hex_serial_number string =, !=
certificate_description.subject_description.subject.common_name string =, !=
certificate_description.subject_description.subject.country_code string =, !=
certificate_description.subject_description.subject.organization string =, !=
certificate_description.subject_description.subject.organizational_unit string =, !=
certificate_description.subject_description.subject.locality string =, !=
certificate_description.subject_description.subject.province string =, !=
certificate_description.subject_description.subject.street_address string =, !=
certificate_description.subject_description.subject.postal_code string =, !=
certificate_description.subject_description.subject_alt_name.dns_names string : (operador HAS)
certificate_description.x509_description.key_usage.extended_key_usage.client_auth bool =, !=
certificate_description.x509_description.key_usage.extended_key_usage.server_auth bool =, !=
labels mapa : (operador HAS)
certificate_template string =, !=

(https://google.aip.dev/160#has-operator)

Observação: os campos certificate_description.x509_description.key_usage.extended_key_usage.client_auth e certificate_description.x509_description.key_usage.extended_key_usage.server_auth são booleanos que indicam se os respectivos usos estendidos de chaves estão presentes.

Sintaxe de filtragem

A sintaxe de filtragem segue as orientações de filtragem da API definidas no AIP 160 com as seguintes limitações:

  • apenas operadores AND de nível superior são compatíveis. Todo o resto não é (por exemplo, OR, NOT, operadores aninhados ou qualquer combinação desses operadores).

    • Válido: o filtro usa apenas o operador AND de nível superior:

      create_time>"2020-08-21T11:30:00.11-05:00" AND certificate_description.x509_description.key_usage.extended_key_usage.server_auth=true
      
    • Inválido: o filtro usa o operador OR:

       create_time>"2020-08-21T11:30:00.11-05:00" OR certificate_description.x509_description.key_usage.extended_key_usage.server_auth=true
      
    • Inválido: o filtro usa operadores aninhados:

       (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"
      
  • A correspondência de caractere curinga (usando *) não é aceita, exceto no campo certificate_description.subject_description.subject_alt_name.dns_names, que aceita a correspondência de sufixos para os rótulos DNS.

    • Válido: o filtro compara uma correspondência de sufixo de caractere curinga:

      certificate_description.subject_description.subject_alt_name.dns_names:"*.foo.com"
      
    • Inválido: o filtro é comparado com uma correspondência de prefixo de caractere curinga:

      certificate_description.subject_description.subject_alt_name.dns_names:"foo.*"
      
    • Inválido: o filtro é comparado com um caractere curinga para um campo não compatível:

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

A seguir