Certificados são confidenciais e não devem ser compartilhados via chat da Digibee.
Salve o certificado server no formato .PEM no campo “chain” em uma account tipo Certificate Chain, o campo password como pode ser visto no print abaixo pode ficar vazio.
Exemplo de certificado no formato .PEM:
-----BEGIN CERTIFICATE-----
MIIF4zCCA8ugAwIBAgIUI/vA3JlEcMMpXnufpuVSLhQZcwUwDQYJKoZIhvcNA
BQAwgYAxCzAJBgNVBAYTAkJSMQswCQYDVQQIDAJTQzELMAkGA1UEBwwCRkwxC
JBgNVBAoMAkRHMQ4wDAYDVQQLDAVERy1GTDEPMA0GA1UEAwwGZGduYW1lMSkw
-----END CERTIFICATE-----
O nome a ser definido na account é primordial para o sucesso da instalação do certificado no load balancer dedicado ao seu realm, devendo seguir o seguinte formato:
dgb-mtls-NOME_REFERENCIA
Veja o exemplo abaixo:
Neste exemplo nomeamos a account dgb-mtls-autocorp.
Atenção aos ambientes, caso sejam certificados diferentes para test e prod.
Após a criação da account tipo "certificate-chain" com o certificado salvo no formato .PEM, entre em contato via chat da Digibee informando o nome da account, para que o certificado seja instalado no loadbalancer do seu realm.
Atualmente só suportamos 1 certificado por ambiente.
Para utilizar o mTLS em demais pipelines basta ativar a flag “mTLS enabled API” no trigger do pipeline.
Desmarque a opção "API Key" no trigger quando estiver utilizando o "mTLS enabled API".
Os endpoints gerados pela plataforma seguem sempre esta estrutura:
Ambiente de produção:
https://api.godigibee.io/pipeline/{{NOME_DO_REALM}}/v1/{{NOME_DO_PIPELINE}}
Ambiente de teste:
https://test.godigibee.io/pipeline/{{NOME_DO_REALM}}/v1/{{NOME_DO_PIPELINE}}
O endpoint gerado após a instalação do mTLS seguirá o mesmo formato, porém, terá o “2” adicionado na URL:
Ambiente de produção:
https://api2.godigibee.io/pipeline/{{NOME_DO_REALM}}/v1/{{NOME_DO_PIPELINE}}
Ambiente de teste:
https://test2.godigibee.io/pipeline/{{NOME_DO_REALM}}/v1/{{NOME_DO_PIPELINE}}
Do lado do client, deve constar o certificate client justamente com a client key para que ocorra sucesso na comunicação com o server da Digibee.
Exemplo de certificado do lado client no formato .pem:
-----BEGIN CERTIFICATE-----
MIIEgTCCAmmgAwIBAgIBATANBgkqhkiG9w0BAQsFADBkMQswCQYDVQQGEwJVUzELMAkGA1UECAwCTkoxFDASBgNVBAcMC0plcnNleSBDaXR5MRUwEwYDVQQKDAx0ZXN0LXJlZGViYW4xGzAZBgNVBAMMEk15IFByaXZhdGUgUm9vdCBDQTAeFw0yNTAxMjMxMzM4MDJaFw0zNTAxMjExMzM4MDJaMGAxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOSjEUMBIGA1UEBwwLSmVyc2V5IENpdHkxFTATBgNVBAoMDHRlc3QtcmVkZWJhbjEXMBUGA1UEAwwOTXkgbVRMUyBDbGllbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3XGQnFHDJx/CMwIwShIiGU6U+eiRJBi1EA/QbAsTFcJTbIu2wNiQou8UHtehKjQ0/ofAfXHOZ7BJnEkC/D+iNOw8DBpULvTrblJisWdK2hQzGNMXmgKZps3lNmGMFHa/agYkTKsP3geFW50NUDWCJjlOg/QHdEko+MUkGncJRLkkB+c0IbmJXOwO2ceNmt9eVWGVdqECkFvp2w5cKHv8M3S8OrESEah2KrOspCk6JjULT2WFM9mp/LKdoeNKpAVCpSxQ/xPk6fAGzzxc1bR1yKZoNup2rYzgC5afm0ie+KSAScSs9SLNc
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC3XGQnFHDJx/CBAQC3XGQnBAQC3XGQnBAQC
EkC/D+iNOw8DBpULvTrblJisWdK2hQzGNMXmgKZps3lNmGMFHa/agYkTKsP3geFWBAQC3XGQnBAQC3XGQnBAQ
50NUDWCJjlOg/QHdEko+MUkGncJRLkkB+c0IbmJX9DgNM/NyoK6nEGooDstAW4K0Erde0u0dAgMBAAECggEALDENRknr4QXa6hWGVHAeexBlNWyU/AgFwntaRKw7So5QX26qddG9QKBgQC3bNg52sMOXNtDlRkSR0dqwxOA9YyYuW78GNdiblXlruLiCRyhKzbNL+iOpWdu2LefkRhMgqXj/85/ZmXpKIg2kOQvBxKbgo/Orgqoyxr1PiM5GHc3
-----END PRIVATE KEY-----
Caso queira testar pelo postman, também é possível:
Se o certificado for auto-assinado, não esqueça de desabilitar o SSL verification no Postman.
Assim como, caso for testar pela plataforma, ativar o "Allow insecure endpoints" no componente Rest V2. Neste caso, é necessário salvar o certificado juntamente com a private key no formato .pem (conforme exemplo acima) em uma account tipo Certificate Chain e selecionar a account no componente Rest V2, para que seja enviado o certificado na chamada ao servidor da Digibee.