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]