Certificados
Qual a importância da certificação para o ecossistema Open?
O ecossistema do Open Insurance Brasil recorre a cadeias de certificados e protocolo TLS para garantir a confidencialidade, autenticação e integridade do canal de comunicação utilizado pelas APIs das instituições participantes, bem como dos clientes de cada um dos participantes. Além disso, o certificado é necessário para:
-
Autenticar as aplicações através do oAuth 2.0 mTLS ou privatekeyjwt;
-
Realizar a assinatura de payload pelo uso de JWS;
-
Autenticar e apresentar um canal seguro para o usuário final ao usufruir dos serviços prestados pela entidade participante.
Quais certificados devo obter por ambiente?
Para realizar uma conexão mTLS, você precisa de 3 certificados. São eles:
-
Produção
-
Server Certificate (EV, OV e SAN)
-
Client Certificate (BrCAC - Transport)
-
Signature Certificate (BrSEAL)
-
-
Sandbox
-
Server Certificate (EV, OV e SAN)
-
Client Certificate (BrCAC - Transport)
-
Signature Certificate (BrSEAL)
-
Como adquirir os certificados BrCAC e BrSEAL?
Os certificados devem ser emitidos por uma Autoridade Certificadora homologada pelo ICP-Brasil. Abaixo, algumas que podem ser contatadas:
ACs | Canal de Venda |
---|---|
CERTISIGN |
|
SERASA EXPERIAN |
https://serasa.certificadodigital.com.br/ecommerce-corporativo/icp-brasil/ |
SERPRO |
|
SOLUTI |
|
VALID |
Cada participante deverá contatar a Autoridade Certificadora de sua preferência e solicitar os certificados digitais necessários ao Open Insurance, conforme os documentos de Segurança exigidos no Padrão de Certificados Open Insurance Brasil. |
Como criar uma Declaração de Software?
Para cadastrar os certificados BrCAC e BrSEAL, você precisa ter criado uma Declaração de Software para sua organização. Para fazer isso, siga os passos:
1. No Diretório, acesse sua organização;
2. Vá até Declarações de Software e clique em Declarações de novo software;
3. Na janela que abrir, preencha os campos do formulário, conforme detalhado na página 3 do
Guia de criação de declaração de software.
Como registrar o certificado BrCAC no Diretório de Participantes?
Os certificados possuem a opção de registro para os ambientes de Sandbox e Produção. Escolha em qual deseja registrar e siga os passos:
Sandbox
1. No Diretório, acesse o menu Organização;
2. Vá até Declarações de Software e selecione a declaração desejada;
3. Acesse a área Certificados > Novo Certificado;
4. Selecione a opção BRCAC_2022 e clique em Continuar;
5. No passo seguinte, selecione Geração automática de configuração;
6. Finalize o preenchimento dos campos e faça o download dos arquivos brcac.cnf e
brcac.sh.
Confira a definição dos atributos na seção 5.2.2.1 do Portal do Desenvolvedor;
7. Edite o arquivo brcac.cnf com informações idênticas às do Diretório na página de Detalhes da Organização. Abaixo um exemplo utilizando OpenSSL:
8. Edite o arquivo brcac.sh para referenciar o caminho do arquivo brcac.cnf;
9. Execute o arquivo brcac.sh através do prompt de comando para gerar o par CSR e KEY;
10. No Diretório, selecione a opção Carregar CSR/PEM, localize o brcac.csr gerado e clique Continuar;
11. Aguarde o carregamento do arquivo e clique em Feito.
O certificado gerado em ambiente Sandbox do Diretório de Participantes é autoassinado e necessário para o fluxo de certificação FAPI junto a Open ID. |
Produção
1. No Diretório, acesse o menu Organização;
2. Vá até Declarações de Software e selecione a declaração desejada;
3. Acesse a área Certificados > Novo Certificado;
4. Selecione a opção EXTERNAL BRCAC e clique em Continuar;
5. Na opção Gerar CSR, clique em Continuar.
O EXTERNAL BRCAC é emitido pela autoridade certificadora, portanto não há um processo de geração de certificado.
6. Selecione a opção Carregar CSR/PEM e localize o arquivo CSR ou PEM emitido pela autoridade certificadora;
7. Clique Continuar;
8. Aguarde o carregamento do arquivo e clique em Feito.
Se preferir, você pode acompanhar o passo a passo de como gerar certificado BrCAC através desse vídeo. |
Como registrar o certificado BrSEAL no Diretório de Participantes?
Sandbox
1. No Diretório, acesse o menu Organização;
2. Vá até Certificados de Organização > Novo Certificado;
3. Na janela que abrir, selecione a opção BRSEAL no campo Select Certificate Type;
4. No passo seguinte, selecione Geração automática de configuração;
5. Finalize o preenchimento dos campos e faça o download dos arquivos brseal.cnf e brseal.sh. Confira a definição dos atributos na seção 5.2.3.1 do Portal do Desenvolvedor;
6. Edite o arquivo brseal.cnf com informações idênticas às do Diretório na página de Detalhes da Organização. Abaixo um exemplo utilizando OpenSSL:
7. Edite o arquivo brseal.sh para referenciar o caminho do arquivo brseal.cnf;
8. Execute o arquivo brseal.sh através do prompt de comando para gerar o par CSR e KEY;
9. No Diretório, selecione a opção Carregar CSR/PEM, localize o brseal.csr gerado e clique Continuar;
10. Aguarde o carregamento do arquivo e clique em Feito.
O certificado gerado em ambiente Sandbox do Diretório de participantes é autoassinado e necessário para o fluxo de certificação FAPI junto a Open ID. |
Produção
1. No Diretório, acesse o menu Organização;
2. Vá até Certificados de Organização > Novo Certificado;
3. Selecione a opção BRSEAL EXTERNAL e clique em Continuar;
4. Na opção Gerar CSR, clique em Continuar.
O BRSEAL EXTERNAL é emitido pela autoridade certificadora, portanto não há um processo de geração de certificado.
5. Selecione a opção Carregar CSR/PEM e localize o arquivo CSR ou PEM emitido pela autoridade certificadora;
6. Clique Continuar;
7. Aguarde o carregamento do arquivo e clique em Feito.
Como obter a chave pública (KID) do BRSEAL?
Ao realizar o cadastro do certificado BrSEAL no Diretório de Participantes, O ID de chave exclusivo (KID) será retornado automaticamente.
Como fazer o upload do certificado no Add-on da Sensedia?
-
Acesse o menu Certificates, escolha o tipo de certificado, se BrCAC ou BrSEAL e clique em Submit Certificate;
-
Confirme o ambiente em que deseja submeter o certificado;
-
Informe o código KID e faça o upload do arquivo .key e .PEM;
-
Se o ambiente realmente estiver correto, confirme o upload.
Após o certificado ser submetido, um ticket será automaticamente criado no Zendesk para a nossa equipe efetivar a operação.
Como emitir os certificados na cadeia correta?
O Padrão de Certificados Open Insurance Brasil especifica as cadeias para cada tipo de certificado, sendo:
-
Certificado Servidor: precisa ser enviado com a cadeia intermediária, conforme o item 7.4.2. do RFC5246.
-
Client Certificate (BrCAC - Transport): precisa ser enviado com a cadeia intermediária, conforme os itens 7.4.2. e 7.4.6 do RFC5246 e ser emitido através da cadeia V10, contendo obrigatoriamente os atributos:
-
businessCategory (OID 2.5.4.15): Tipo de categoria comercial, devendo conter: "Private Organization" ou "Government Entity" ou "Business Entity" ou "Non-Commercial Entity";
-
jurisdictionCountryName (OID: 1.3.6.1.4.1.311.60.2.1.3): BR;
-
serialNumber (OID 2.5.4.5): CNPJ;
-
countryName (OID 2.5.4.6): BR;
-
organizationName (OID 2.5.4.10): Razão Social;
-
stateOrProvinceName (OID 2.5.4.8): Unidade da federação do endereço físico do titular do certificado;
-
localityName (OID 2.5.4.7): Cidade do endereço físico do titular;
-
organizationIdentifier (OID 2.5.4.97): Código de Participante associado ao CNPJ listado no Serviço de Diretório do Open Insurance Brasil e prefixo de identificação do diretório;
-
UID (OID 0.9.2342.19200300.100.1.1): Software Statement ID gerado pelo Diretório do Open Insurance Brasil;
-
commonName (OID 2.5.4.3): FQDN ou Wildcard
-
keyUsage: critical,digitalSignature,keyEncipherment
-
extendedKeyUsage: clientAuth
*dNSName: FQDN ou Wildcard
-
Signature Certificate (BrSEAL): deve ser emitido através da cadeia V5, e conter obrigatoriamente os atributos:
-
UID (OID 0.9.2342.19200300.100.1.1): Código de Participante associado ao CNPJ listado no Serviço de Diretório do Open Insurance Brasil;
-
countryName (OID 2.5.4.6): BR;
-
organizationName (OID 2.5.4.10): ICP-Brasil;
-
organizationalUnitName (OID 2.5.4.11): Nome da Autoridade Certificadora;
-
organizationalUnitName (OID 2.5.4.11): CNPJ da Autoridade de Registro;
-
organizationalUnitName (OID 2.5.4.11): Tipo de identificação utilizada (presencial, videoconferência ou certificado digital);
-
commonName (OID 2.5.4.3): Nome da Razão Social;
-
keyUsage: critical,digitalSignature,nonRepudiation
-
otherName (OID 2.16.76.1.3.2 - ICP-Brasil): Nome do responsável pelo certificado;
-
otherName (OID 2.16.76.1.3.3 - ICP-Brasil): Cadastro Nacional de Pessoa Jurídica (CNPJ) da pessoa jurídica titular do certificado;
-
otherName (OID 2.16.76.1.3.4 - ICP-Brasil): Responsável pelo certificado de pessoa jurídica titular do certificado (data de nascimento, CPF, PIS/PASEP/CI, RG);
-
otherName (OID 2.16.76.1.3.7 - ICP-Brasil): Número do Cadastro Especifico do INSS (CEI) da pessoa jurídica titular do certificado.
Como cadastrar o certificado no Sensedia API Platform?
Acesse o menu Security > Certificates e siga os passos:
-
Na tela de certificados, clique no ícone de + para inserir um novo cadastro;
-
Preencha os campos:
-
Name
-
Certificate Body
-
Private Key
-
Certificate Chain
-
Se precisar, veja a especificação dos campos neste conteúdo. |
3.Após preencher os campos, clique em Save. Você será redirecionado para a tela onde estão listados os certificados cadastrados.
Share your suggestions with us!
Click here and then [+ Submit idea]