Como configurar certificados?

A configuração completa de certificados é feita em três telas do API Manager:

  • Em Virtual Hosts > Certificates você cadastra o certificado.

  • Em Virtual Hosts > Inbound Addresses você define o endereço ao qual o certificado responderá.

  • Em Virtual Hosts > Environments você cria os contextos que complementam os endereços definidos na tela Inbound Addresses. Com a combinação inbound address + environment, definimos o caminho que será utilizado para acesso às APIs.

  • Certificado: *sensedia.com

  • Inbound Address: demo.sensedia.com

  • Environmment: demo.sensedia.com/dev

Nesse cenário, todos os environments criados a partir do inbound address demo.sensedia.com utilizarão o certificado *sensedia.com.

mTLS

A troca mútua de certificados possui dois lados, cada um com suas respectivas credenciais.

Estas são as credenciais na configuração de mTLS:

  • Parceiro (quem realiza a chamada):

    • certificado_parceiro.pem: o certificado em si.

    • privateKey_parceiro.pem: chave privada.

    • ca_parceiro.pem: Trusted CA — certificado da autoridade certificadora que gerou o certificado do parceiro.

  • Host (quem recebe a chamada):

    • certificado_host.pem: o certificado em si.

    • privateKey_host.pem: chave privada.

    • chain_host.pem: cadeia de certificados gerada na criação do certificado usado no inbound address.

Com esses dados, cadastre o certificado:

  1. Acesse Virtual Hosts > Certificates no API Manager;

  2. Clique no botão +;

  3. Para cadastrar um certificado usado por um inbound address, marque a opção Inbound Certificate;

  4. Preencha os campos:

    • Name: nome identificador do certificado.

    • Certificate Body: corpo do certificado do host (certificado_host.pem).

    • Private Key: chave privada do host (privateKey_host.pem)

    • Certificate Chain: cadeia de certificado do host (chain_host.pem)

    • Trusted CA: Trusted CA do parceiro (ca_parceiro.pem).

Após inserir o certificado no API Manager, você pode atribuí-lo ao endereço ao qual ele responderá:

  1. Acesse a tela Inbound Addresses;

  2. No campo Protocol Type, escolha HTTPS ou HTTP|HTTPS;

  3. Em Security, escolha mTLS;

  4. Em TLS Version, defina o intervalo de versões TLS suportadas;

  5. Por fim, em Certificates, selecione o certificado cadastrado.

Com essas configurações, todo environment criado com esse inbound address como base passará a receber chamadas com conexão mTLS.

Uma possível chamada realizada pelo parceiro é:

curl -X GET --cacert ca_parceiro.pem --cert certificado_parceiro.pem --key privateKey_parceiro.pem https://inbound-url/basepath -v

Com as configurações realizadas, o comportamento esperado é que ambos os lados validem os certificados que receberam:

  • o parceiro valida em sua trusted_store o certificado cadastrado no inbound address;

  • o host valida o certificado que recebeu do parceiro, já que a Trusted CA do parceiro foi cadastrada no Manager.

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]