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 |
|
SERASA EXPERIAN |
https://serasa.certificadodigital.com.br/ecommerce-corporativo/icp-brasil/ |
VALID |
|
SERPRO |
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?
-
No Diretório, acesse Organisations > Software Statement > Certificates;
-
Nesta página, clique no botão New Certificate e cadastre o certificado.
-
No Diretório, acesse Organisations > Organisation Certificates;
-
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: |
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:
-
Dentro do ambiente de sandbox do Diretório, acesse sua organização;
-
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;
-
Clique no botão New Certificate > Select Certificate Type, selecione a opção BRCAC e clique em Continue;
-
Em seguida, faça o download do arquivo brcac.cnf e brcac.sh;
-
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:
-
Edite o arquivo brcac.sh para referenciar o caminho do arquivo brcac.cnf;
-
Execute o arquivo brcac.sh através do prompt de comando para gerar o par CSR e KEY;
-
No Diretório, selecione a opção Upload CSR/PEM e localize o brcac.csr gerado e clique no botão Continue;
-
Aguarde o carregamento do arquivo e, em seguida, clique em Done;
-
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?
-
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 dos arquivos .PEM e .key;
-
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:
-
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.
-
keyUsage: critical,digitalSignature,keyEncipherment
-
extendedKeyUsage: clientAuth
*dNSName: FQDN ou Wildcard
-
Certificado de Assinatura (BrSEAL): deve ser emitido através da cadeia V10, 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 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.
-
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]