---
title: "Filtros de certificados"
description: "Como filtrar os certificados exibidos pelo Web PKI passando um filtro para listCertificates(), e por que é recomendado exibir todos e validar o certificado escolhido."
canonical: "https://docs.lacunasoftware.com/articles/web-pki/filters"
locale: "pt-BR"
product: "Web PKI"
last_updated: "2026-10-12"
---

# Filtros de certificados

É possível filtrar os certificados exibidos na seleção de certificados da sua página passando um filtro para a função `listCertificates()`.

> **Aviso**
>
> Filtrar certificados pode gerar chamados de suporte indesejados. Os usuários podem esperar ver certos certificados que estão sendo
> filtrados e supor, equivocadamente, que eles não aparecem por causa de um bug e, por isso, procurar o suporte. Isso vale especialmente quando
> se aplica um filtro baseado na data de expiração, já que um certificado pode aparecer em um dia e "sumir" no dia seguinte. Por isso,
> **RECOMENDAMOS FORTEMENTE** que você **NÃO USE ESTA FUNCIONALIDADE**. Em vez disso, exiba todos os certificados e [valide o certificado escolhido](https://docs.lacunasoftware.com/articles/web-pki/cert-validation).

Se, por algum motivo, você ainda quiser usar esta funcionalidade apesar do aviso acima, continue lendo.

Para exibir apenas certificados dentro do prazo de validade:

```js
pki.listCertificates({
	filter: pki.isWithinValidity
}).success(...);
```

Para exibir apenas certificados que tenham um CPF:

```js
pki.listCertificates({
	filter: pki.hasPkiBrazilCpf
}).success(...);
```

> **Dica**
>
> Isso equivale, de forma aproximada, a "exibir apenas certificados ICP-Brasil", já que todo certificado ICP-Brasil tem um CPF (mesmo os certificados de empresa).

> **Observação**
>
> Observe que o fato de um certificado ter um CPF não significa, de fato, que ele seja confiável como um certificado válido emitido no âmbito da
> infraestrutura de chaves públicas ICP-Brasil, já que há uma série de validações que precisam ser feitas
> (veja [Login com certificado digital](https://docs.lacunasoftware.com/articles/pki-guide/cert-auth) para mais detalhes).

Para exibir apenas certificados que tenham um determinado CPF:

```js
pki.listCertificates({
	filter: pki.pkiBrazilCpfEquals('11111111111')
}).success(...);
```

Você também pode combinar filtros, exigindo que os certificados atendam a **todos** os critérios informados:

```js
pki.listCertificates({
	filter: pki.filters.all(pki.isWithinValidity, pki.hasPkiBrazilCpf)
}).success(...);
```

Ou a **qualquer um** dos critérios informados:

```js
pki.listCertificates({
	filter: pki.filters.any(pki.hasPkiBrazilCpf, pki.hasPkiItalyCodiceFiscale)
}).success(...);
```

Você também pode escrever o seu próprio filtro:

```js
pki.listCertificates({
	filter: function (cert) {
		var now = new Date();
		return (cert.validityStart <= now && now <= cert.validityEnd);
	}
}).success(...);
```

Como dito acima, **recomendamos fortemente que você não use esta funcionalidade**, para evitar gerar chamados de suporte desnecessários.
Em vez disso, recomendamos exibir todos os certificados e [validar o certificado escolhido](https://docs.lacunasoftware.com/articles/web-pki/cert-select#validation).
