/
Configurando Certificados

ESTE É UM CONTEÚDO EM DESENVOLVIMENTO E NÃO DEVE SER CONSIDERADO COMO VERSÃO FINAL!
Clique aqui para maiores informações

Configurando Certificados

No Open Finance Brasil foi definido que a comunicação entre o servidor Kafka e seus clientes seria exclusivamente utilizando mTLS, portanto a geração de certificado do servidor Kafka e a configuração da truststore para permitir a utilização de certificados BRCAC(também conhecidos como certificado de transporte ou aplicação) para os clientes (consumers) é parte fundamental deste processo.

Ainda não foi definido se o certificado do servidor Kafka precisa ser um certificado ICP Brasil (assim como é para os authorization servers), portanto neste exemplo utilizamos certificados auto-assinados para o servidor Kafka e para os produtores (producers). Os clients (consumers) precisarão apresentar um certificado BRCAC emitido por uma das autoridades certificadores homologadas para o Open Finance Brasil.

Não serão usados certificados auto assinados

Antes de começar, vamos criar uma pasta onde os arquivos serão gerados:

mkdir ssl

Como iremos trabalhar com certificados auto-assinado tanto para o servidor Kafka quanto para os produtores (producers), precisamos gerar o certificado da AC que irá assinar os demais certificados.

openssl \ req -new -x509 \ -keyout ssl/ca-key \ -out ssl/ca-cert \ -days 3650 \ -subj "/CN=Autoridade Certificadora de Auto-assinados" \ -nodes

O comando acima deve ter criado a chave privada (ca-key) da nossa AC que será usada para assinar os demais certificados e também deve ter criado a chave pública (ca-cert) da AC, que será utilizado posteriomente na truststore para que permita conexões com certificados que foram assinados por essa AC.

Criando o certificado para o servidor Kafka

Primeiro vamos gerar a chave privada

openssl genrsa -out ssl/kafka-server.key 2048

Vamos agora gerar o pedido de certificado para ser assinado pela nossa AC

Obs: Altere a CN do comando acima para o seu host

Agora vamos assinar o certificado com nossa AC

Após executar os comandos acima você deve ter os arquivos kafka-server.key, kafka-server.csr e kafka-server.crt no seu diretório ssl. Destes 3, apenas 2 são úteis a partir de agora, então você pode apagar o arquivo kafka-server.csr se quiser:

Pronto! Já temos o certificado do servidor Kafka. Agora precisamos coloca-los no formato correto (JKS) para que seja possível sua utilização.

Gerando o arquivo keystore em formato JKS

Por padrão, o Kafka utiliza arquivos JKS para configuração de keystore e truststore, então iremos agora fazer a criação destes arquivos e a inserção das chaves que geramos nos passos anteriores dentro dos arquivos JKS.

A keystore é o arquivo que contém o certificado do servidor Kafka, portanto iremos fazer a criação dele e em seguida inserir o certificado do servidor Kafka que foi gerado anteriormente.

Crie a keystore com uma chave dummy temporária (porque o keytool não permite criar uma keystore vazia)

Obs: Altere a senha teste123 por uma senha de sua preferência

Deixa a keystore vazia apagando a chave dummy

Obs: Altere a senha teste123 pela senha informada no comando anterior

Importe o certificado da nossa AC dentro da keystore

Obs: Altere a senha teste123 pela senha informada no primeiro comando

Para importar o certificado do servidor Kafka dentro da keystore, precisamos fazer 2 passos. Primeiro temos que unir as chaves pública e privada em um arquivo p12 e então importar na keystore. Crie o arquivo p12 com o comando abaixo

Obs: Altere a senha teste123 por uma senha temporária, pois o arquivo será descartado em seguida

Importe o arquivo p12 do servidor Kafka dentro da keystore

Obs: Altere a senha teste123 do atributo -storepass pela senha informada no primeiro comando e a senha teste123 do atributo -scrstorepass pela senha informada no comando anterior

Pronto! Já temos a keystore do servidor Kafka.

Gerando o arquivo truststore em formato JKS

A truststore é o arquivo que contêm os certificados das AC's que o servidor Kafka entenderá como confiáveis para emissão de certificados dos consumidores (consumers) e produtores (producers). Ou seja, quem tiver um certificado emitido por um AC que conste na truststore poderá ser conectar ao servidor Kafka. Neste primeiro momento iremos adicionar apenas nossa AC’s para os consumidores.

Crie a truststore com uma chave dummy temporária (porque o keytool não permite criar uma truststore vazia)

Obs: Altere a senha teste123 por uma senha de sua preferência

Deixa a trustore vazia apagando a chave dummy

Obs: Altere a senha teste123 pela senha informada no comando anterior

Importe o certificado da nossa AC dentro da truststore

Obs: Altere a senha teste123 pela senha informada no primeiro comando

Related content

Configuração de ACL's
Configuração de ACL's
More like this
. v2.0 - Padrão de Certificados
. v2.0 - Padrão de Certificados
More like this
[DTO] v2.0 - Padrão de Certificados
[DTO] v2.0 - Padrão de Certificados
More like this
v2.0 - Padrão de Certificados
v2.0 - Padrão de Certificados
More like this
Padrão de Certificados
Padrão de Certificados
More like this

ESTE É UM CONTEÚDO EM DESENVOLVIMENTO E NÃO DEVE SER CONSIDERADO COMO VERSÃO FINAL!
Clique aqui para maiores informações