Certificados

Qual a importância da certificação para o ecossistema Open?

O ecossistema do Open Finance 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)

No ambiente de Sandbox, os certificados BrCAC e BrSEAL são gerados manualmente pela Sensedia e assinados no Diretório Central.

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 Vendas

CERTISIGN

comercial@certisign.com.br

SERASA EXPERIAN

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

VALID

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

SERPRO

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

Cada participante deverá contatar a Autoridade Certificadora de sua preferência e solicitar os certificados digitais necessários ao Open Finance, conforme os documentos de Segurança exigidos no Padrão de Certificados Open Finance Brasil.

Como registrar os certificados no Diretório Central?

BrCAC
  1. No Diretório, acesse Organisations > Software Statement > Certificates;

  2. Nesta página, clique no botão New Certificate e cadastre o certificado.

BrSEAL
  1. No Diretório, acesse Organisations > Organisation Certificates;

  2. Nesta página, clique no botão New Organisation Certificate e cadastre o certificado.

Para cadastrar o BrCAC, você precisa ter criado um Software Statement para sua organização. Se ainda não fez isso, siga os passos:
1. No Diretório, acesse Organisations > Software Statements e clique em New Software Statement;
2. Nesta tela, preencha os campos do formulário, conforme especificado na página 76 do Guia de Operação do Diretório Central.

Como obter a chave pública (KID) do BRSEAL?

Ao realizar o cadastro do certificado BrSEAL no Diretório Central, O ID de chave exclusivo (KID) será retornado automaticamente.

Como emitir o certificado para trabalhar em Sandbox?

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. Para emiti-lo, siga os passos:

  1. Dentro do ambiente de sandbox do Diretório, acesse sua organização;

  2. Na área de Software Statement, selecione a declaração desejada. Se ainda não possui uma declaração de software, você precisará criá-la, conforme explicamos no tópico acima;

  3. Clique no botão New Certificate > Select Certificate Type, selecione a opção BRCAC e clique em Continue;

  4. Em seguida, faça o download do arquivo brcac.cnf e brcac.sh;

  5. 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

  6. Edite o arquivo brcac.sh para referenciar o caminho do arquivo brcac.cnf;

  7. Execute o arquivo brcac.sh através do prompt de comando para gerar o par CSR e KEY;

  8. No Diretório, selecione a opção Upload CSR/PEM e localize o brcac.csr gerado e clique no botão Continue;

  9. Aguarde o carregamento do arquivo e, em seguida, clique em Done;

  10. Vá em Certificates > Actions, clique na seta de download e salve o <arquivo>.pem em uma pasta local.

Para emitir o certificado BrSEAL, baixe os arquivos brseal.cnf e brseal.sh e siga as mesmas instruções.

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 dos arquivos .PEM e .key;

  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 Finance 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.

  • Certificado de Cliente (BrCAC - Transport): deve ser emitido através da cadeia V10, e conter 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 Finance Brasil;

    • Para certificados emitidos até 31 de agosto de 2022: organizationalUnitName (OID 2.5.4.11): Código de Participante associado ao CNPJ listado no Serviço de Diretório do Open Finance Brasil;

  • UID (OID 0.9.2342.19200300.100.1.1): Software Statement ID gerado pelo Diretório do Open Finance 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

  • Certificado de Assinatura (BrSEAL): deve ser emitido através da cadeia V10, 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 Finance 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?