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

comercial@certisign.com.br

SERASA EXPERIAN

https://serasa.certificadodigital.com.br/ecommerce-corporativo/icp-brasil/

SERPRO

https://www.loja.serpro.gov.br/certificacao/

SOLUTI

https://idtech.soluti.com.br/open-insurance

VALID

https://www.validcertificadora.com.br/

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;
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:
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;
brseal novo
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:
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?

  1. Acesse o menu Certificates, escolha o tipo de certificado, se BrCAC ou BrSEAL e clique em Submit Certificate;

  2. Confirme o ambiente em que deseja submeter o certificado;

  3. Informe o código KID e faça o upload do arquivo .key e .PEM;

  4. 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:

Distinguished Name:
  • 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

Certificate Extensions:
  • keyUsage: critical,digitalSignature,keyEncipherment

  • extendedKeyUsage: clientAuth

Subject Alternative Name:

*dNSName: FQDN ou Wildcard

  • Signature Certificate (BrSEAL): deve ser emitido através da cadeia V5, e conter obrigatoriamente os atributos:

Distinguished Name:
  • 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;

Certificate Extensions:
  • keyUsage: critical,digitalSignature,nonRepudiation

Subject Alternative Name:
  • 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:

  1. Na tela de certificados, clique no ícone de + para inserir um novo cadastro;

  2. Preencha os campos:

    • Name

    • Certificate Body

    • Private Key

    • Certificate Chain

3.Após preencher os campos, clique em Save. Você será redirecionado para a tela onde estão listados os certificados cadastrados.

Thanks for your feedback!
EDIT
How useful was this article to you?