Criar os Certificados do Cliente
Para um cliente acessar serviços via X-Road/X-Valid, é necessário possuir certificados digitais para autenticação e assinatura das requisições. Eles podem ser emitidos por uma Autoridade Certificadora (AC) confiável ou serem autoassinados. Seja qual for o caso, deve ser inseridos como certificados internos que o Security Server utilizará para autenticar o cliente e permitir a invocação de serviços.
Objetivo
Gerar os certificados necessários para autenticação e assinatura do cliente utilizados no ecossistema de interoperabilidade.
Tipos de Certificados
- Certificado de autenticação.
- Certificado de assinatura.
- Certificado TLS (se aplicável).
Passos Gerais
- Gerar par de chaves (keypair).
- Criar CSR (Certificate Signing Request).
- Submeter à AC / Autoridade competente.
- Instalar e validar os certificados emitidos.
Gerando Certificados Cliente Autoassinados com keytool
Para gerar certificados autoassinados é necessário:
- Java JDK instalado
- keytool disponível no terminal
- Variável de ambiente PATH configurada (se necessário)
A instalação do JDK e da ferramenta keytool varia conforme o sistema operacional. Consulte a documentação oficial do Java para mais detalhes.
Gerar o par de chaves
Substitua novo_certificado pelo nome desejado:
keytool -genkeypair -alias novo_certificado -keyalg RSA -keysize 2048 -validity 1825 -keystore novo_certificado.jksDurante a execução, será solicitado:
- Uma senha (mínimo 6 caracteres)
- Informações de identificação.
Exemplo:
CN=Joao Marcelo, OU=Casa Civil, O=Iris, L=Fortaleza, ST=CE, C=BR
Arquivo criado:
novo_certificado.jks — contém o par de chaves (pública + privada)
Exportar o certificado público
keytool -exportcert -alias novo_certificado -keystore novo_certificado.jks -file novo_certificado_certificate.cerArquivo gerado:
- novo_certificado_certificate.cer — certificado público
Listar arquivos: - Linux/Mac → ls - Windows → dir
Criar o arquivo .PFX
Esse arquivo é utilizado no Postman ou na aplicação cliente.
keytool -importkeystore -srckeystore novo_certificado.jks -destkeystore novo_certificado_keypair.pfx -deststoretype PKCS12 -alias novo_certificadoApós concluir, você terá:
- novo_certificado.cer — chave pública
- novo_certificado.jks — keystore com chave privada
- novo_certificado_keypair.pfx — arquivo PKCS12 a ser utilizado no cliente