# Tipos de Chave JWK: RSA, EC, OKP e oct

> Toda JSON Web Key declara um kty, e esse único campo decide quais parâmetros a chave carrega. Quatro tipos cobrem quase tudo o que você encontrará: RSA, curva elíptica, as curvas de Edwards e Montgomery, e a sequência de octetos simétrica. A divisão crucial em todos eles é público versus privado.

Source: https://ronutz.com/pt-BR/learn/jwk-key-types  
Updated: 2026-06-29  
Related tools: https://ronutz.com/pt-BR/tools/jwks-explainer

---

O parâmetro `kty` (tipo de chave) é a primeira coisa a ler em qualquer JSON Web Key, porque ele determina todos os outros parâmetros que a chave pode ter. A RFC 7518 e a RFC 8037 definem quatro tipos que você verá na prática.

## Os quatro tipos

**RSA** (`kty` igual a `RSA`) é o tipo clássico de chave pública. Sua metade pública é o módulo `n` e o expoente público `e` (quase sempre `AQAB`, que é 65537). Sua metade privada adiciona `d` e os fatores primos `p` e `q`, junto com os pré-computados `dp`, `dq` e `qi`. O tamanho da chave é o comprimento em bits de `n`, e 2048 bits é o piso moderno.

**EC** (`kty` igual a `EC`) é uma chave de curva elíptica em uma curva nomeada dada por `crv`, como `P-256`, `P-384` ou `P-521`. A metade pública são as coordenadas do ponto `x` e `y`; a metade privada adiciona o escalar `d`. Chaves EC são muito menores que chaves RSA para força equivalente, e é por isso que `ES256` é popular.

**OKP** (`kty` igual a `OKP`, da RFC 8037) é o par de chaves de octetos, usado para as curvas modernas de Edwards e Montgomery. `Ed25519` e `Ed448` são curvas de assinatura usadas pelo `EdDSA`; `X25519` e `X448` são curvas de acordo de chaves. A metade pública é apenas `x`; a metade privada adiciona `d`.

**oct** (`kty` igual a `oct`) é uma chave simétrica: um único segredo compartilhado `k`. O mesmo segredo cria e verifica uma assinatura, como com `HS256`. Como não há divisão entre público e privado, uma chave oct é sensível em sua totalidade.

## Público versus privado é a linha de segurança

O hábito mais importante ao ler uma JWK é verificar se ela contém material privado. Para RSA isso significa `d`, `p` ou `q`; para EC e OKP significa `d`; para oct a chave inteira `k` é secreta. Um JWKS é feito para ser buscado por qualquer um, então deve conter apenas chaves públicas. Se você algum dia vir um `d` ou um `k` em um conjunto servido publicamente, a chave privada correspondente deve ser considerada exposta e rotacionada imediatamente. O [explicador de JWKS](https://ronutz.com/pt-BR/tools/jwks-explainer) marca cada parâmetro privado que encontra e avisa quando um conjunto publicado nunca deveria tê-lo contido.

## Lendo-os num relance

O explicador lista o tipo, o uso, o algoritmo e o tamanho de cada chave, e separa os parâmetros públicos dos privados para você. Para de onde essas chaves vêm e como rotacionam, veja [JWKS e rotação de chaves](https://ronutz.com/pt-BR/learn/jwks-and-key-rotation); para como uma delas é escolhida para verificar um token, veja [verificando um JWT com um JWKS](https://ronutz.com/pt-BR/learn/verifying-a-jwt-with-jwks).
