Aparência
Rotação de certificados
Os certificados ICP-Brasil, as chaves e os segredos da plataforma ficam no cofre de segredos da nuvem da instituição (AWS Secrets Manager ou Azure Key Vault). O cluster os recebe pelo External Secrets Operator. Por isso, a troca é feita pela CLI e publicada por um deploy, e não direto no Kubernetes: uma alteração manual no cluster seria desfeita na próxima sincronização.
Quando trocar
- Antes do vencimento.
finnest opin directory certse ofinnest doctoravisam quando faltam 30 dias ou menos. - Imediatamente, se houver suspeita de comprometimento de uma chave.
- Quando o cadastro no Diretório de Participantes mudar.
Itens de material regulado
| Material | Itens |
|---|---|
| Certificado de transporte BRCAC (gateway mTLS) | brcac-tls-cert-pem, brcac-tls-key-pem |
| Certificado de assinatura BRSEAL | keycloak-brseal-certificate-pem, keycloak-brseal-private-key-pem |
| Cadeias de confiança ICP-Brasil | icp-brasil-ca-crt, icp-brasil-roots-pem, icp-brasil-intermediates-pem |
| Criptografia do request object | keycloak-opin-request-object-enc-private-key-pem, keycloak-opin-request-object-enc-certificate-pem |
| Receptora | opin-receiver-jwks-json, opin-receiver-jws-private-jwk-json, opin-receiver-jwe-private-jwk-json, opin-receiver-client-cert-pem, opin-receiver-client-key-pem |
Os itens exigidos dependem do papel da instituição. O Configuration Workspace mostra os que faltam para o seu papel.
Passo a passo
Grave o material novo. Os arquivos precisam pertencer ao operador e ter permissão
0600. Para um certificado e sua chave, grave o par de uma vez:bashENVIRONMENT=sandbox # ou: prod finnest secrets write brcac-tls-cert-pem --file ./brcac.crt --pair-file ./brcac.key --environment="$ENVIRONMENT" --yesPara os outros itens, use
--file, ou--stdinpara valores lidos da entrada padrão. Também é possível fazer tudo pelo Configuration Workspace:bashfinnest config workspace open --goal=applyConfira:
bashCLOUD=aws ENVIRONMENT=sandbox # ou: azure, prod finnest secrets list --scope regulatory --cloud="$CLOUD" --environment="$ENVIRONMENT" finnest doctor --cloud="$CLOUD" --environment="$ENVIRONMENT"O
doctorvalida a cadeia, o par certificado/chave, os nomes do certificado e o vencimento. Veja Material regulado.Publique com um deploy:
bashCLOUD=aws ENVIRONMENT=sandbox # ou: azure, prod finnest deploy --cloud="$CLOUD" --environment="$ENVIRONMENT" --preview finnest deploy --cloud="$CLOUD" --environment="$ENVIRONMENT" --apply --yesO deploy grava o material no cofre de segredos da nuvem, e o External Secrets Operator o leva ao cluster.
Atualize o Diretório de Participantes quando a troca envolver um certificado ou chave pública cadastrada lá, seguindo o processo do Diretório. Depois confira o cadastro com
finnest opin directory diffefinnest opin directory certs, informando as credenciais do Diretório (veja a referência definnest opin).Verifique com
finnest smokee, no Open Insurance,finnest opin verify.
Cuidados
- A chave de criptografia de dados da receptora não pode ser trocada enquanto existirem credenciais de gestão de DCR que dependam dela. A CLI recusa a troca nesse caso.
- Nunca grave chaves privadas em repositórios, tickets ou logs. A CLI não aceita valores secretos na linha de comando (
--value), só por arquivo ou pela entrada padrão. finnest secrets rotateainda não está disponível. Usesecrets writeseguido de deploy.