Certificados ​

Um certificado DAT representa em uma única string o intervalo de tempo, os algoritmos e as chaves necessários para emitir e verificar tokens.

cid
uint64
.
start
uint64
.
duration
uint64
.
ttl
uint64
.
sig-alg
name
.
crypto-alg
name
.
sig-key
Base64Url
.
crypto-key
Base64Url
Um certificado também contém campos ASCII separados por pontos em uma ordem fixa.
text
cid.start.duration.ttl.sig-alg.crypto-alg.sig-key.crypto-key

Intervalo de tempo ​

  • O certificado pode emitir DAT de start até start + duration, incluindo os dois horários.
  • Um DAT emitido permanece válido por ttl a partir do momento da emissão.
  • O certificado é necessário para verificação até start + duration + ttl. Ele também pode verificar exatamente nesse momento.

Se o certificado for removido assim que o período de emissão terminar, os DAT já emitidos não poderão ser verificados. O gerenciador e o CMS tratam separadamente a capacidade de emitir e a capacidade de verificar.

ID do certificado e rotação de chaves ​

cid é o contrato público que identifica as chaves e o intervalo de tempo. Nunca substitua as chaves de um cid existente por outras. Para rotacionar as chaves, crie um novo certificado e use um novo cid. Os serviços sincronizam o novo certificado antecipadamente e removem o anterior somente depois que todos os DAT emitidos com ele expirarem.

Algoritmos de assinatura ​

NomeUsoCertificado exclusivo para verificação
HMAC-SHA256-MFSHMAC SHA-256Não suportado
HMAC-SHA384-MFSHMAC SHA-384Não suportado
HMAC-SHA512-MFSHMAC SHA-512Não suportado
ECDSA-P256ECDSA P-256Suportado
ECDSA-P384ECDSA P-384Suportado
ECDSA-P521ECDSA P-521Suportado

O HMAC usa a mesma chave para assinar e verificar. Portanto, fornecer a chave a um servidor verificador também permite que ele emita. Em ambientes que precisam separar a permissão de emissão, use ECDSA e certificados exclusivos para verificação.

Algoritmos de criptografia ​

NomeChave
IV-AES128-GCMAES-128
IV-AES256-GCMAES-256

Os nomes dos algoritmos fazem parte do contrato wire. Não os substitua pelos aliases usados no JWT.

Certificados completos e exclusivos para verificação ​

Um certificado ECDSA completo contém a chave privada necessária para assinar. Um certificado exclusivo para verificação mantém apenas a chave pública ECDSA, mas conserva a chave AES necessária para descriptografar secure. Portanto, um serviço exclusivo para verificação pode conferir e descriptografar DAT, mas não pode emitir novos DAT.