Msys Gestor | Boletos via Web Service Bancário
Essa documentação tem por objetivo explicar o funcionamento dos Web Services de cada banco utilizado para emissão de boletos pelo sistema MsysGestor. O MsysGestor trabalha com a emissão via Web Service Bancário, ou seja, nosso sistema envia os boletos para as APIs de cada banco homologado, o boleto já é retornado ou como "Sucesso" ou como "Rejeitado". Em caso de sucesso o o boleto já fica disponível para pagamento em até 15 minutos após sua emissão. Em relação as APIs dos bancos, cada uma tem uma configuração diferente. as quais serão comentadas abaixo. Bancos Homologados: Banco do Brasil Santander Banrisul Caixa Unicred Bradesco Itaú Sicredi Sicoob
- Banco do Brasil
- Santander
- Banrisul
- Caixa
- Unicred
- Bradesco
- Itaú
- Credenciais para API
- Dicas preenchimento convênio - Itaú
- Gerar certificado dinâmico Itaú
- Renovar certificado dinâmico Itaú
- Sicredi
- Sicoob
Banco do Brasil
Credenciais para API
1 - Para o Cliente
1.1 - Criar credencial
Acessar: https://developers.bb.com.br/home
1.2 - Acessar credencial
1.3 - Alterar status (Em teste | Produção)
2 - Para a Microsys
2.1 - Buscar credenciais
No MsysGestor, preencher da seguinte forma:
API ID: Informar com o campo Client_id.
API KEY: Informar com o campo developer_application_key.
API SECRET: informar com o campo client_secret.
2.2 - Emissão em ambiente de homologação
Para emissão em ambiente de homologação, o banco BB exige que seja enviado CNPJs/CPFs específicos para teste:
Nome | CNPJ / CPF |
TECIDOS FARIA DUARTE | 74910037000193 |
LIVRARIA CUNHA DA CUNHA | 98959112000179 |
DOCERIA BARBOSA DE ALMEIDA | 92862701000158 |
DEPOSITO ALVES BRAGA | 94491202000127 |
PAPELARIA FILARDES GARRIDO | 97257206000133 |
VALERIO DE AGUIAR ZORZATO | 96050176876 |
JOAO DA COSTA ANTUNES | 88398158808 |
VALERIO ALVES BARROS | 71943984190 |
JOÃO DA COSTA ANTUNES | 97965940132 |
JOÃO DA COSTA ANTUNES | 75069056123 |
3 - Referências
https://www.youtube.com/watch?v=A0ZFh16qMuc
Dicas preenchimento convênio - Banco do Brasil
As informações abaixo são dicas para auxiliar o cadastro dos dados bancários, é de suma importância que todo e qualquer dado seja confirmado com o banco.
Cadastro de conta corrente
Campo | Dica |
Tipo |
Informar o tipo da conta. Pode ser "Conta corrente" ou "Conta poupança". |
Banco |
Informar o código do banco de acordo com a FEBRABAN. Para BB deverá ser o código 001. |
Número da conta |
Informar o número da conta. campo composto por até 8 dígitos + DV. Exemplo: 12345-6 ou 12345678-9 |
Agência |
Informar a agência da conta. Este campo é composto por 4 dígitos + DV. Exemplo: 1234-5 |
Código beneficiário |
Informar a conta corrente sem o DV. Exemplo: 12345678 |
Cadastro de convênio
Campo | Dica |
CNAB |
Layout adotado pelo banco. Pode ser "240" ou "400" |
Número |
Informar o número do convênio vinculado à conta. Este campo pode ter até 7 dígitos. Exemplo: 1234567 |
Descrição | Campo de texto para controle interno e identificação do convênio. |
Número da carteira |
Informar o Número da carteira de acordo com o repassado pelo banco. Pode ser: 17 - Cobrança com registro |
N° remessa reinicia diariamente | Para BB, está opção pode ser marcada como "Sim". |
Número da remessa | Caso a opção "N° remessa reinicia diariamente" for "Não", deve ser informado o número da remessa atual. |
Tipo webservice | Para BB, está opção deve ser "v2". |
Referência
https://atendimento.tecnospeed.com.br/hc/pt-br/articles/360015161474-Banco-do-Brasil
Santander
Credenciais para API
1 - Para o Cliente
Para utilizar a transmissão de boletos pelo Santander, é necessário ter um certificado digital válido. Além de uma conta ativa.
Deve-se entrar em contato com o banco para realizar a validação do certificado digital e também solicitar a geração do "Código de estação", informação que será utilizada pelo MsysGestor para a transmissão dos boletos.
2 - Para a Microsys
No MsysGestor, preencher no convênio:
Certificado digital: Realizar o upload do certificado A1 para o sistema Microsys.
API Estação: Informar o "Código de estação" criado pelo banco.
Dicas preenchimento convênio - Santander
As informações abaixo são dicas para auxiliar o cadastro dos dados bancários, é de suma importância que todo e qualquer dado seja confirmado com o banco.
Cadastro de conta corrente
Campo | Dica |
Tipo |
Informar o tipo da conta. Pode ser "Conta corrente" ou "Conta poupança". |
Banco |
Informar o código do banco de acordo com a FEBRABAN. Para Santander deverá ser o código 033. |
Número da conta |
Informar o número da conta. campo composto por até 8 dígitos + DV. Exemplo: 12345-6 ou 12345678-9 |
Agência |
Informar a agência da conta. Este campo é composto por 4 dígitos + DV. Exemplo: 1234-5 |
Código beneficiário |
Informar a código do beneficiário repassado pelo banco. Exemplo: 12345678 |
Cadastro de convênio
Campo | Dica |
CNAB |
Layout adotado pelo banco. Pode ser "240" ou "400" |
Número |
Informar o mesmo código preenchido no campo "Código beneficiário" Este campo pode ter até 8 dígitos. Exemplo: 12345678 |
Descrição | Campo de texto para controle interno e identificação do convênio. |
Número da carteira |
RCR - Cobrança Simples Rápida com Registro (Cedente Emite).Carteira no banco 101, |
N° remessa reinicia diariamente | Para Santander, está opção pode ser marcada como "Sim". |
Número da remessa | Caso a opção "N° remessa reinicia diariamente" for "Não", deve ser informado o número da remessa atual. |
Referência
https://atendimento.tecnospeed.com.br/hc/pt-br/articles/360015161854-Banco-Santander
Banrisul
Credenciais para API
1 - Para o Cliente
Para utilizar a transmissão de boletos pelo Banrisul, é necessário ter um certificado digital válido. Além de uma conta ativa.
2 - Para a Microsys
No MsysGestor, preencher no convênio:
Certificado Digital: Realizar o upload do certificado A1 para o sistema Microsys.
Dicas preenchimento convênio - Banrisul
As informações abaixo são dicas para auxiliar o cadastro dos dados bancários, é de suma importância que todo e qualquer dado seja confirmado com o banco.
Cadastro de conta corrente
Campo | Dica |
Tipo |
Informar o tipo da conta. Pode ser "Conta corrente" ou "Conta poupança". |
Banco |
Informar o código do banco de acordo com a FEBRABAN. Para Banrisul deverá ser o código 041. |
Número da conta |
Informar o número da conta. campo composto por até 9 dígitos + DV. Exemplo: 12345-6 ou 123456789-1 |
Agência |
Informar a agência da conta. Este campo é composto por até 4 dígitos. Exemplo: 1234 |
Código beneficiário |
Código do Convênio no Banco (número fornecido pelo Banco). Trata-se do código adotado pelo Banco para identificar o contrato. É composto por: Número da agência (4 dígitos), código do beneficiário (7 dígitos) e número de controle (2 dígitos). Neste campo, deve-se informar apenas o código do beneficiário com os 7 dígitos juntamente com o número de controle (2 dígitos). Exemplo: 111111122 |
Cadastro de convênio
Campo | Dica |
CNAB |
Layout adotado pelo banco. Pode ser "240" ou "400" |
Número |
Neste campo pode ser informado o código beneficiário (número fornecido pelo Banco). Este campo pode ter 7 dígitos. Exemplo: 1111111 |
Descrição | Campo de texto para controle interno e identificação do convênio. |
Número carteira |
Para o Banrisul, existem diversas carteiras possíveis, as mais utilizadas são: 1 - Cobrança Simples 2 - Cobrança Vinculada |
Código da carteira |
Campo opcional, disponível para o CNAB 240. Pode ser: Valores possíveis: 1 - Cobrança Simples; 2 - Cobrança Vinculada; 3 - Cobrança Caucionada; 4 - Cobrança Descontada; 5 - Cobrança Vendor. |
N° remessa reinicia diariamente | Para Banrisul, está opção pode ser marcada como "Sim". |
Número da remessa | Caso a opção "N° remessa reinicia diariamente" for "Não", deve ser informado o número da remessa atual. |
Número contrato | Campo opcional, utilizado para informar o número de contrato da conta caso o banco exija, disponível apenas para CNAB 240 |
Versão do layout |
Campo opcional, onde pode ser informado a versão do layout utilizada, caso não seja informado, será enviada a versão mais recente. Valor possível: 001: Gera a remessa na versão 040 do manual. |
Referência
https://atendimento.tecnospeed.com.br/hc/pt-br/articles/360022886413-Banco-Banrisul
Caixa
Credenciais para API
1 - Para o Cliente
É necessário ter a liberação para utilizar o web service do banco, essa liberação deve ser feita junto a própria Caixa.
2 - Para a Microsys
A transmissão da Caixa funciona com os dados básicos do convênio, não sendo necessário informar dados adicionais de API.
A Caixa possui uma regra que desativa o ambiente de homologação assim que o primeiro boleto em produção for emitido.
Dicas preenchimento convênio - Caixa
As informações abaixo são dicas para auxiliar o cadastro dos dados bancários, é de suma importância que todo e qualquer dado seja confirmado com o banco.
Cadastro de conta corrente
Campo | Dica |
Tipo |
Informar o tipo da conta. Pode ser "Conta corrente" ou "Conta poupança". |
Banco |
Informar o código do banco de acordo com a FEBRABAN. Para Caixa deverá ser o código 104. |
Número da conta |
Informar o número da conta. campo composto por até 6 dígitos + DV. Exemplo: 123456-7 |
Agência |
Informar a agência da conta. Este campo é composto por 4 dígitos, o DV da agência pode ficar vazio. Exemplo: 1234 |
Código beneficiário |
Informar o código do beneficiário sem o DV. Exemplo: 123456 |
Cadastro de convênio
Campo | Dica |
CNAB |
Layout adotado pelo banco. Pode ser "240" ou "400" |
Número |
Informar o código do beneficiário com o DV. Exemplo: 1234567 |
Descrição | Campo de texto para controle interno e identificação do convênio. |
Número da carteira |
14 - Cobrança com registro (SIGCB) |
N° remessa reinicia diariamente | Para Caixa, está opção pode ser marcada como "Não". |
Número da remessa | Caso a opção "N° remessa reinicia diariamente" for "Não", deve ser informado o número da remessa atual. |
Versão do layout |
Para layout no CNAB 240, estão disponíveis os códigos: 107 - Layout novo 101 - Layout antigo |
Referência
https://atendimento.tecnospeed.com.br/hc/pt-br/articles/360015260553-Banco-Caixa
Unicred
Credenciais para API
1 - Para o Cliente
É necessário que o cliente possua um cadastro prévio no sistema autorizador interno do banco. Com o cadastro realizado, deve-se solicitar ao banco as informações "API key", "nomeUsuario" e "Senha".
2 - Para a Microsys
No MsysGestor, preencher da seguinte forma:
API ID: Informar com o campo Código do beneficiário.
API KEY: Informar com o campo API key informado pela Unicred.
API SECRET: informar com os campo NomeUsuario e Senha, no seguinte formato: NomeUsuario:Senha. Exemplo: usuarioteste:123456
API Estação: informar o número da Cooperativa.
Dicas preenchimento convênio - Unicred
As informações abaixo são dicas para auxiliar o cadastro dos dados bancários, é de suma importância que todo e qualquer dado seja confirmado com o banco.
Cadastro de conta corrente
Campo | Dica |
Tipo |
Informar o tipo da conta. Pode ser "Conta corrente" ou "Conta poupança". |
Banco |
Informar o código do banco de acordo com a FEBRABAN. Para Unicred deverá ser o código 136. |
Número da conta |
Informar o número da conta. campo composto por até 12 dígitos + DV. Exemplo: 12345-6 ou 123456789123-1 |
Agência |
Informar a agência mantenedora da conta. Este campo é composto por até 5 dígitos + DV. Exemplo: 12345-6 |
Código beneficiário |
Informar o código do beneficiário repassado pelo banco. Exemplo: 1111111 |
Código da empresa |
Informar o código da empresa caso o banco disponibilize. |
Cadastro de convênio
Campo | Dica |
CNAB |
Layout adotado pelo banco. Pode ser "240" ou "400" |
Número |
Neste campo pode ser informado o código beneficiário (número fornecido pelo Banco).
Exemplo: 1111111 |
Descrição | Campo de texto para controle interno e identificação do convênio. |
Número carteira |
número obtido com o banco. |
Número da remessa | Deve ser informado o número da remessa atual. |
Referência
https://atendimento.tecnospeed.com.br/hc/pt-br/articles/4413299603223-Banco-Unicred
Bradesco
Credenciais para API
1 - Para o Cliente
Para utilizar a transmissão de boletos pelo Bradesco, é necessário ter um certificado digital válido. Além de uma conta ativa.
O CNPJ do certificado deve ser o mesmo cadastrado na conta Bradesco Net Empresa.
2 - Para a Microsys
No MsysGestor, preencher da seguinte forma:
Certificado Digital: Realizar o upload do certificado A1 para o sistema Microsys.
Caso o campo "Tipo webservice" for preenchido com Shop Fácil, preencher também as informações:
API ID: Informar com o campo API - ID disponibilizado pelo banco.
API KEY: Informar com o campo API - KEY disponibilizado pelo banco.
API SECRET: informar com o campo API - SECRET disponibilizado pelo banco.
Dicas preenchimento convênio - Bradesco
As informações abaixo são dicas para auxiliar o cadastro dos dados bancários, é de suma importância que todo e qualquer dado seja confirmado com o banco.
Cadastro de conta corrente
Campo | Dica |
Tipo |
Informar o tipo da conta. Pode ser "Conta corrente" ou "Conta poupança". |
Banco |
Informar o código do banco de acordo com a FEBRABAN. Para Bradesco deverá ser o código 237. |
Número da conta |
Informar o número da conta. campo composto por até 7 dígitos + DV. Exemplo: 1234567-8 |
Agência |
Informar a agência mantenedora da conta. Este campo é composto por 4 dígitos + DV. Exemplo: 1234-5 |
Código beneficiário |
Informar o número da conta sem o DV. Exemplo: 1234567 |
Código da empresa |
Informar o Acessório Escritural caso o banco disponibilize. |
Cadastro de convênio
Campo | Dica |
CNAB |
Layout adotado pelo banco. Pode ser "240" ou "400" |
Número |
Neste campo pode ser informado o número da conta sem o DV.
Exemplo: 1234567 |
Descrição | Campo de texto para controle interno e identificação do convênio. |
Número carteira |
Informar o Número da carteira de acordo com o repassado pelo banco. Pode ser: 02 - Cobrança com registro |
N° remessa reinicia diariamente | Para Bradesco, está opção pode ser marcada como "Não" quando o CNAB for 400. |
Número da remessa | Caso a opção "N° remessa reinicia diariamente" for "Não", deve ser informado o número da remessa atual. |
Código da densidade da Remessa |
Preencher com 1600 ou 6250, conforme repassado pelo banco. Apenas para CNAB 240. |
Tipo webservice |
Informar o tipo de transmissão informado pelo banco, caso o banco não especifique, normalmente é o tipo "Normal". Pode ser: Normal Shop Fácil |
Referência
https://atendimento.tecnospeed.com.br/hc/pt-br/articles/4413299603223-Banco-Unicred
Itaú
Credenciais para API
1 - Para o Cliente
1.1 - Solicitar a criação de credenciais de produção
Entre em contato com o gerente de sua conta e/ou com os canais de suporte do Itaú para a criação do client_id e client_secret.
1.2 - Adquirir certificado dinâmico
Diferente dos demais bancos, o Itaú solicita um certificado especial, denominado "Certificado dinâmico", alguns gerentes de conta podem conhecer o procedimento e através do certificado padrão já gerarem o certificado dinâmico para você. Porém, caso seu gerente de conta não conheça o processo, clique aqui para acessar a documentação de como gera-lo, ou então, clique aqui para acessar a documentação de como renova-lo.
2 - Para a Microsys
No MsysGestor, preencher da seguinte forma:
Certificado Digital: Realizar o upload do certificado dinâmico para o sistema Microsys.
API ID: Informar com o campo Client_id.
API SECRET: informar com o campo client_secret.
Dicas preenchimento convênio - Itaú
As informações abaixo são dicas para auxiliar o cadastro dos dados bancários, é de suma importância que todo e qualquer dado seja confirmado com o banco.
Cadastro de conta corrente
Campo | Dica |
Tipo |
Informar o tipo da conta. Pode ser "Conta corrente" ou "Conta poupança". |
Banco |
Informar o código do banco de acordo com a FEBRABAN. Para Itaú deverá ser o código 341. |
Número da conta |
Informar o número da conta. campo composto por 5 dígitos + DV. Exemplo: 12345-6 |
Agência |
Informar a agência mantenedora da conta. Este campo é composto por 4 dígitos sem DV. Exemplo: 9999 |
Código beneficiário |
Informar o número da conta sem o DV. Exemplo: 12345 |
Cadastro de convênio
Campo | Dica |
CNAB |
Layout adotado pelo banco. Pode ser "240" ou "400" |
Número |
Neste campo pode ser informado a agência mais o número da conta + DV.
Exemplo: 9999123456 |
Descrição | Campo de texto para controle interno e identificação do convênio. |
Número carteira |
Informar o Número da carteira de acordo com o repassado pelo banco. Pode ser: 109 - Cobrança com registro |
Número da remessa | Informado o número da remessa atual. |
Referência
https://atendimento.tecnospeed.com.br/hc/pt-br/articles/360015115794-Banco-Ita%C3%BA
Gerar certificado dinâmico Itaú
Requisitos
Para a geração do certificado dinâmico, é necessário ser instalado:
- OpenSLL - Precisamos dele para rodar alguns comandos.
- GitBash - Terminal utilizado para escrever os comandos.
- Java - Necessário para rodar alguns scripts de código.
- Postman - Software para acesso de endpoints.
1- Obter par de chaves
Para gerar um par de chaves RSA, a qual é composta por uma chave privada (para decifrar) e uma chave pública (para criptografar), execute o seguinte comando no GitBash:
openssl genpkey -out private.pem -algorithm RSA -pkeyopt rsa_keygen_bits:2048
openssl rsa -in private.pem -pubout -out public.pem
Após executar os comandos, o par de chaves será gerado através de um arquivo denominado public.pem e outro private.pem.
Exemplo do conteúdo do arquivo public.pem:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwtCm21MHeGMHN8e4uAZi
U/pKoIrtLoyOuoLmpogmWdiV2OJz3OjysQf7JLE1o7xmkwHI8JGg41wuUv+CF6Ax
0kk3EwV6AVkLnI2lOAY2LbrgwDtsGQh6gslIUJhiadHqwwnezBanTIgV+Z4sa02O
SWZGbWufXJ9PVP91LXy/d4oyHGbKMVUQlyK350+iL8Pw0reTy6MiKKPrdSaKkj87
PhrE/Fd3vIE1ANqhJjIgHNtB4iqo4VF8bBZKohkShu8IA5Y3uV2OkMz3lD/jNtJn
8J7D7uKYCB8Xy9Sy/8O+rwvyly7i7nWLG1zpVz7KD7+3KWrnmuf2o1gefCin1FLv
pwIDAQAB
-----END PUBLIC KEY-----
2 - Recebimento do Token temporário
Nesta etapa, deve-se enviar o arquivo public.pem para o time de atendimento do Itaú. Com esse arquivo o time do Itaú vai criptografar as informações de "Token temporário" e "client id" e envia-lo a seu e-mail cadastrado junto a eles. Esse processo pode demorar em média 1 dia útil.
Importante ressaltar que o Token temporário tem validade de 7 dias.
Exemplo de e-mail retornado pela equipe Itaú:
E-mail de credenciais
Olá parceiro, seja bem vindo ao Itaú_
Você já pode gerar seu certificado dinâmico com as credenciais abaixo:
ClientId: KWMMqDhJ+p/2fejfX2uktyDnAjT8B3u2FZCyPlyA5U5t3IU4VVcS6wY5KG+SZO+a
Token Temporário:
+B8tD52L3qrexAjr3vinhj1FGrfr/iGzx/lKhE2mHJPcjOCnLbCcqP52w3YDXNL+Zi2RKmEp0ZwRFzZYJzWNBMiQh65CKTIRMPBA/2GSQmreMz22dVf8YN2TcjMWtRJzPZRtu/WPUER1izEDWJdUFjMUlJQojUyDZZ2TJ6+B6io7k9ng18djcFmhDQYAbkCMl8oQymgXj8EYCMquWIW7DTK6Srw04VjIktc/eidzYRCpF94/U5uVIAXbrjVwBg9vxbGLiTU1NPR2doWdkA8u+HpZDX+SJjAun6BCD43JGudFI93/YreqvvKD1/QtZg57lTxt7NAw5Brqg4NU/flLF/djN8+c/gLuK/PbnNezWZ6dmdeHO7R2B/efcXvdztFGoXftwzz8FnfC8ZR3gPppIEOeDppduVhw3AXCquwMKDFKxlHaCsZcNwhFIOZvmvXzs1RHo8SoZmpXrdm5BjFZp/2NIprUNOXyMVYxa6NEm3Bv4HwTeE75yQ8xLSjzipThyB7i+2wqMjOQg1WvKzswv1azsMd8R8aQ6G6nvOH7YY0MBM6XAUJNBBQwT7tXSck4j9cOXPlQ6x8SBJluY+/nRptLyr+oG4cDAHGmT5CyRKUI+nfCllojFOFbf01AYnfT4HYhIDQ59afzboI2EH1MDItlESQQ+CstS33AKQe0OkdOOSIUwbOBIfceEhA2xQIDdOSwNTOYUjkfuccjE4fJS2hTcAuVle+MtVzHjb6gpeviqg7H7vxNjZcg8cmFM5sRB/LISPZ2nQ2j2N3BzJjp8XhEs0ML9ENV1XL/+zJdkC2EoxLUkyFIgrN1GD8KU4ZKZM090Ap3wOsv5OHG+mJPNQZqyNc8taDnNukXbduWZ5+IQmin2sz9JK28+88lwxeWY8qWuaB3z/2yV68UmLELpNEP0yg9qMkUflvvmfFKbYZGQGGNCQZuY5hYX5AiWUmDiEgb6CP5nMcO4Z0G65bPWQlsa/aH6yO8WWEe498syokszcMlCiM34Cn+hOa56trEBK0sbapFQYxuKBfUD3bpHr7a4MtZinGKZmv3daLg28XNW/NZQo7VsBsFIY4rZt9MMEuK5Cb9rx52mF4yLa1YvooQaqFlmkf86SogsPwUCw2Onw7FvBTccC7rPLa6/Fork7Zje9viAE9G0XGx2E3R4lqgv3DEquSCdfx3iYsE9c2s/bxW04EU9sZkd6jEj5ARkJADdQw8ope61PBGDDp7UcxMZi7SjZdNiqhYcIbyv9OtkdJ0qrlmCwYiB+nPmj5+
Chave Sessão:
KT9d4C4mthX9aFWHGwUlvBS3quLagK2NrDDAXxQWiBCcpu7RDdQE+/C0dATzAjMUUiqsuKpFSnakhI7b0uNAF3CzqNgTnGc6xtu3iOqma0W4pERASb4Lyh+X/A1+95575JVzJrnk9GvfSnn+GMfqv7Kx5uxYBHr8BfOn8R6Pl3Jdi5tAwvynJohFaXx45LM6BKp+R+B7Rk59VyWsQZ/Qzv6Ks7KgKUr/RtyoNlthcmSQAJw9NKoepV4p59uBBZuAwZ+96BLpzgarEB/PIa9bn172TW9ruP24nMA5tssGI6mpHu1ZHPrh67gUH6jD/4fqSwY/IiriAUX3tS6/QZsjABoWBs1QFdM7ImSEnneBzzv1kG2C15x7raPRryzWwBLjN88GOa++kdjpOEzugwzgtgR9WDFYTSxq58mJw3A0yI4jBfkp/dxjQfBeUdq0RToVEAjfPpq+lzgS9RDASjACLCyfKIo8tnHp63dKT7HjHieVv0B7f5Kwq2+NJDUxYDuwEeHRPWx5DVBv5lVse4heAGgLc1VvespTifsoaI/Jj1WUMBk2h+s8xG7e2M0TSZIh+RxQ4s0weA3SbalWqRR+E3pQuf3c0xxosdKiEqhkHmrNnqllU/6QFtj9h0tgWkgrDb3suk9pXHieuePwN/LRmKF3ImnBF35HZrapqRQI+ws=
3 - Decifrar credenciais
Após receber o e-mail com as informações, crie um arquivo chamado Criptografia.java com o seguinte código dentro dele:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.security.interfaces.RSAPrivateKey;
import java.security.spec.PKCS8EncodedKeySpec;
import java.util.Base64;
import java.util.Scanner;
import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
public class Criptografia {
private static String extrairChaveRsaPem(String tipoChave, String arquivoChavesRsa) {
try {
InputStream is = new FileInputStream(arquivoChavesRsa);
@SuppressWarnings("resource")
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
boolean inKey = false;
for (String line = br.readLine(); line != null; line = br.readLine()) {
if (!inKey) {
if (line.startsWith("-----BEGIN ") && line.endsWith(" " + tipoChave + " KEY-----")) {
inKey = true;
}
} else {
if (line.startsWith("-----END ") && line.endsWith(" " + tipoChave + " KEY-----")) {
inKey = false;
break;
}
sb.append(line);
}
}
return sb.toString();
}
catch(Exception e) {
e.printStackTrace();
}
return null;
}
public static String decriptografiaAes(SecretKey key, String cipherText) {
try {
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
IvParameterSpec iv = new IvParameterSpec(new byte[16]);
cipher.init(Cipher.DECRYPT_MODE, key, iv);
byte[] plainText = cipher.doFinal(Base64.getDecoder().decode(cipherText));
return new String(plainText);
}
catch(NoSuchAlgorithmException e) {
e.printStackTrace();
}
catch(BadPaddingException e) {
e.printStackTrace();
}
catch(IllegalBlockSizeException e) {
e.printStackTrace();
}
catch(InvalidKeyException e) {
e.printStackTrace();
}
catch(InvalidAlgorithmParameterException e) {
e.printStackTrace();
}
catch(NoSuchPaddingException e) {
e.printStackTrace();
}
return null;
}
private static byte[] decriptografiaRsa(String caminhoChavePrivada, String dadosCifrados) {
try {
String chavePrivada = extrairChaveRsaPem("PRIVATE", caminhoChavePrivada);
PKCS8EncodedKeySpec spec = new PKCS8EncodedKeySpec(Base64.getDecoder().decode(chavePrivada.toString()));
KeyFactory kf = KeyFactory.getInstance("RSA");
RSAPrivateKey privateKey = (RSAPrivateKey) kf.generatePrivate(spec);
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.DECRYPT_MODE, privateKey);
return cipher.doFinal(Base64.getDecoder().decode(dadosCifrados));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args)
{
SecretKey chaveSessao = null;
Scanner scanner = new Scanner(System.in);
try {
System.out.println("\n=========================================");
System.out.println("Informe as informações recebidas no e-mail");
System.out.println("=========================================");
System.out.println("\nClientId: ");
System.out.flush();
String clientIdCifrado = scanner.nextLine().trim();
System.out.println("\nToken Temporário: ");
System.out.flush();
String tokenCifrado = scanner.nextLine().trim();
System.out.println("\nChave Sessão: ");
System.out.flush();
String chaveSessaoCifrada = scanner.nextLine().trim();
System.out.println("\nCaminho chave privada: ");
System.out.flush();
String caminhoChavePrivada = scanner.nextLine().trim();
System.out.flush();
scanner.close();
System.out.println("\n=====================================");
System.out.println(" Processo de Decriptografia ");
System.out.println("=====================================");
// Decifra a chave de sessao AES com a chave RSA privada
byte[] chaveSessaoDecifrada = decriptografiaRsa(caminhoChavePrivada, chaveSessaoCifrada);
chaveSessao = new SecretKeySpec(chaveSessaoDecifrada, 0, chaveSessaoDecifrada.length, "AES");
// Decriptografa a credencial atraves da chave de sessao AES
String clientIdDecifrada = decriptografiaAes(chaveSessao, clientIdCifrado);
System.out.println("\nClient id decifrado com a chave de sessao AES:\n[ " + new String(clientIdDecifrada) + " ]");
String tokenDecifrado = decriptografiaAes(chaveSessao, tokenCifrado);
System.out.println("\nToken decifrado com a chave de sessao AES:\n[ " + new String(tokenDecifrado) + " ]");
}
catch(Exception e) {
e.printStackTrace();
}
}
}
Após isso, execute os seguintes comandos no terminal GitBash (O terminal deve ser aberto na mesma pasta que o arquivo Criptografia.java foi salvo):
javac Criptografia.java
java -cp . Criptografia
Ao executar esses comandos, preencha os dados solicitados no terminal GitBash de acordo com o que foi recebido no e-mail:
ClientId: ClientId presente no e-mail
Token Temporário: Token Temporário presente no e-mail
Chave sessão: Chave sessão presente no e-mail
Caminho da chave privada: escreva o caminho onde está o arquivo private.pem gerado anteriormente.
Após informar esses dados, o terminal deve exibir a resposta, semelhante as informações abaixo:
Credenciais decifradas
Processo de Decriptografia
Client id decifrada com a chave de sessao AES:
e26f2f89-0ead-4ca6-8bc3-dd44b4ab3cc7
Token decifrado com a chave de sessao AES:
eyJraWQiOiJhZTYxYWIxZi0yNTRhLTQ5ZWQtODMzNC05ZDJlN2E0MzZiNGQuaG9tLmdlbi4xNTk3NjAwMzM2OTkyLmp3dCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJlMjZmMmY4OS0wZWFkLTRjYTYtOGJjMy1kZDQ0YjRhYjNjYzciLCJhdXQiOiJNQVIiLCJ2ZXIiOiJ2MS4wIiwiaXNzIjoiaHR0cHM6XC9cL29wZW5pZC5pdGF1LmNvbS5iclwvYXBpXC9vYXV0aFwvdG9rZW4iLCJBY2Nlc3NfVG9rZW4iOiIyYWEzZmU5NS43OGM2YjhmNS1lZWJjLTQxMzQtYmJlZS1hZDAzMjZmMTRmM2EiLCJzb3VyY2UiOiJFWFQiLCJlbnYiOiJIIiwic2l0ZSI6ImRldiIsInVzciI6Im51bGwiLCJtYmkiOiJ0cnVlIiwidXNlcl9pZCI6ImUyNmYyZjg5LTBlYWQtNGNhNi04YmMzLWRkNDRiNGFiM2NjNyIsInNjb3BlIjoiZXNjb3BvX2RlZmF1bHQiLCJleHAiOjE2MTg5NDIyMTIsImlhdCI6MTYxODUxMDIxMiwiZmxvdyI6IkNDIn0.ZEIGYAUu-8-aCirhuClcp4F4qpL9L0KFh0pQJggXieUSCEasX-3I5QLvp5BkKcE2RhwvRfW2dUuiXJGaDqK_Mri6wZ8gVVdeHaP3ctwm8_4WBdHzxVPsAQKv2MAi8IWvHaFLFLUFcF7Z9-fpTkve_8SBnnJb4L_O7SYzXgxg3zpYSCFwMr4SrBvidq2plajEbytcDXikAXyibAWr2OH5Aijq8yfIc6dbMbH2ueA1V3mft7b_eueBQlihF1PHbytVWah6RleR5He9FLbjygcZ-F-1ygx5yTSl_DMCGn4uCYmH5IfkZa9jC9A2-t4jlIlvFZHeGVl_c2-xaWFBd_9ryQ
4 - Geração do arquivo .csr e .key
Para gerar os arquivos .csr e .key, deve criar uma pasta para salvar os arquivos, e em seguida abrir o terminal GitBash nesta pasta.
Em sequência rodar o seguinte comando:
Para Windows:
openssl req -new -subj "//CN={{CLIENT_ID}}\OU=SITE OU APP DO PARCEIRO\L=CIDADE\ST=ESTADO\C=BR" -out ARQUIVO_REQUEST_CERTIFICADO.csr -nodes -sha512 -newkey rsa:2048 -keyout ARQUIVO_CHAVE_PRIVADA.key
Para Linux:
openssl req -new -subj "/CN={{CLIENT_ID}}/OU=SITE OU APP DO PARCEIRO/L=CIDADE/ST=ESTADO/C=BR" -out ARQUIVO_REQUEST_CERTIFICADO.csr -nodes -sha512 -newkey rsa:2048 -keyout ARQUIVO_CHAVE_PRIVADA.key
Lembre-se de alterar algumas das informações do script acima seguindo os dados repassados pelo banco:
CN= ClientID disponibilizado no e-mail
OU= Deixe preenchido com o nome do app que vai utilizar o certificado (exemplo: MSYSGESTOR)
L= Cidade onde se localiza a Agência do Cliente (exemplo: SAO MIGUEL DO OESTE)
ESTADO= Estado onde se localiza a Agência do Cliente (exemplo: SANTA CATARINA)
C= País onde se localiza a Agência do Cliente (exemplo: BR)
ARQUIVO_REQUEST_CERTIFICADO.csr= Nome do certificado, deve manter o ".csr" no final
ARQUIVO_CHAVE_PRIVADA.key=Nome da chave vinculada ao certificado, deve manter o ".key" no final
OBS: as informações OU, L, ESTADO e C devem ser todas escritas em caixa alta e sem nenhuma acentuação ou caractere especial, segundo os exemplos acima.
Ao executar o comando, os seguintes arquivos serão gerados na pasta:
5 - Autenticar arquivo .csr e .key em um arquivo .crt
O envio do arquivo .csr para o banco deve ser feito via API, através de um endpoint POST. Aconselhamos o uso do software Postman para isso.
Na URL da requisição:
- inserir https://sts.itau.com.br/seguranca/v1/certificado/solicitacao
No header da requisição:
- Insira um Content-Type= text/plain
- Insira um Authorization: bearer {token temporário}
No body da requisição:
- insira o certificado.csr gerado anteriormente em texto. Para adquirir o texto desse arquivo, é só abri-lo com um editor de texto.
Ao enviar essa requisição POST para o Itaú, vai ser retornada duas informações, o Secret e a nova informação do certificado.
Copie o Secret e salve em um arquivo com extensão .key e o conteúdo do certificado em um arquivo com extensão .crt, preferencialmente salve ambos em uma nova pasta.
6 - Gerar arquivo .pfx
Acesse a pasta criada com os arquivos .crt e .key gerados no passo anterior, e após isso abra o GitBash nessa pasta.
Insira a seguinte informação no terminal:
openssl pkcs12 -export -out certificado_dinamico_itau.pfx -inkey certificadoKey.key -in certificadoGerado.crt
Lembre-se de alterar algumas das informações do script acima seguindo os dados repassados pelo banco:
certificadoKey.key= Insira o nome do arquivo gerado no passo anterior, mantenha a extensão .key no final.
certificadoGerado.crt= Insira o nome do arquivo gerado no passo anterior, mantenha a extensão .crt no final.
Em sequência vai ser solicitado uma senha para o certificado e a confirmação da senha. Preencha a senha desejada as duas vezes.
Ao final vai ser gerado o seu certificado dinâmico para realizar o upload dele no sistema MsysGestor.
Referências
https://devportal.itau.com.br/certificado-dinamico
Renovar certificado dinâmico Itaú
O certificado dinâmico tem um prazo para expirar de 12 meses a partir do momento de sua criação. Caso expire, deve ser feito todos os passos descritos no artigo "Gerar certificado dinâmico Itaú" novamente.
O Itaú permite a renovação do certificado dinâmico a partir dos 60 dias que antecedem o término da validade do certificado antigo. Veremos os passos para esse processo a seguir:
Requisitos
- OpenSLL - Precisamos dele para rodar alguns comandos.
- GitBash - Terminal utilizado para escrever os comandos.
- Postman - Software para acesso de endpoints.
1 - Geração do arquivo .csr e .key
Para gerar os arquivos .csr e .key, deve criar uma pasta para salvar os arquivos, e em seguida abrir o terminal GitBash nesta pasta.
Em sequência rodar o seguinte comando:
Para Windows:
openssl req -new -subj "//CN={{CLIENT_ID}}\OU=SITE OU APP DO PARCEIRO\L=CIDADE\ST=ESTADO\C=BR" -out ARQUIVO_REQUEST_CERTIFICADO.csr -nodes -sha512 -newkey rsa:2048 -keyout ARQUIVO_CHAVE_PRIVADA.key
Para Linux:
openssl req -new -subj "/CN={{CLIENT_ID}}/OU=SITE OU APP DO PARCEIRO/L=CIDADE/ST=ESTADO/C=BR" -out ARQUIVO_REQUEST_CERTIFICADO.csr -nodes -sha512 -newkey rsa:2048 -keyout ARQUIVO_CHAVE_PRIVADA.key
Lembre-se de alterar algumas das informações do script acima seguindo os dados repassados pelo banco:
CN= ClientID disponibilizado no e-mail
OU= Deixe preenchido com o nome do app que vai utilizar o certificado (exemplo: MSYSGESTOR)
L= Cidade onde se localiza a Agência do Cliente (exemplo: SAO MIGUEL DO OESTE)
ESTADO= Estado onde se localiza a Agência do Cliente (exemplo: SANTA CATARINA)
C= País onde se localiza a Agência do Cliente (exemplo: BR)
ARQUIVO_REQUEST_CERTIFICADO.csr= Nome do certificado, deve manter o ".csr" no final
ARQUIVO_CHAVE_PRIVADA.key=Nome da chave vinculada ao certificado, deve manter o ".key" no final
OBS: as informações OU, L, ESTADO e C devem ser todas escritas em caixa alta e sem nenhuma acentuação ou caractere especial, segundo os exemplos acima.
Ao executar o comando, os seguintes arquivos serão gerados na pasta:
2 - Configurando a coleção Postman Itaú
Para os próximos passos, torna-se necessário uma comunicação com a API do Itaú, a forma mais simples de realizar essa comunicação é através do software Posman. O Itaú disponibiliza uma coleção para ser utilizada no software, essa coleção serve para facilitar o processo, pois traz grande parte dos dados necessários já preenchidos e/ou configurados.
2.1 Baixar a coleção
acesse o site https://devportal.itau.com.br/certificado-dinamico#criacao-ativacao e baixe a coleção.
2.2 - Importe a coleção para o Postman
3 - Gerando acess token para a renovação do certificado
3.1 - Informar o .crt a vencer para autenticação
Host: Preencher com sts.itau.com.br
CRT file: Inserir o certificado a vencer no formato .crt
KEY file: Inserir o arquivo .key do certificado a vencer
3.2 - enviando requisição POST para gerar o Acess token
Após vincular o certificado ao Postman, acessar o endpoint importado da coleção referente a "Obtenção do acess_token".
Neste endpoint, preencher o body, com o client_id e client_secret repassado pelo banco quando foi criado o primeiro certificado dinâmico. e clicar em "Send". Após isso será retornado o acess_token:
4 - Solicitar renovação do certificado
Nesta etapa, deve-se acessar o enpoint importado da coleção referente a "Renovação do certificado dinâmico", e incluir na aba Authorization:
- Type: Bearer Token
- Token: Informar o acess_token copiado na etapa anterior
Já na aba Body, copiar o conteúdo do .csr gerado na etapa 1 e colar na opção "raw":
Após isso, clique em "Send" para enviar a requisição.
5- Gerando certificado no formato .crt
Em caso de sucesso da etapa anterior, o Itaú vai retornar um novo conteúdo do certificado autorizado pelo banco.
Copie o conteúdo da resposta do Itaú, cole em um editor de texto no qual você esteja familiarizado e salve o arquivo no formato .crt, preferencialmente salve o novo certificado junto aos arquivos .csr e .key.
6 - Gerar arquivo .pfx
Acesse a pasta criada com os arquivos gerados no passo anterior, e após isso abra o GitBash nessa pasta.
Insira a seguinte informação no terminal:
openssl pkcs12 -export -out certificado_dinamico_itau.pfx -inkey certificadoKey.key -in certificadoGerado.crt
Lembre-se de alterar algumas das informações do script acima seguindo os dados repassados pelo banco:
certificadoKey.key= Insira o nome do arquivo gerado no passo anterior, mantenha a extensão .key no final.
certificadoGerado.crt= Insira o nome do arquivo gerado no passo anterior, mantenha a extensão .crt no final.
Em sequência vai ser solicitado uma senha para o certificado e a confirmação da senha. Preencha a senha desejada as duas vezes.
Ao final vai ser gerado o seu certificado dinâmico para realizar o upload dele no sistema MsysGestor.
Referências
https://devportal.itau.com.br/certificado-dinamico#renovacaoCertificado
Sicredi
Credenciais para API
1 - Para o Cliente
De acordo com o Sicredi, para utilizar a transmissão de boletos, o cedente deve primeiro:
- Possuir um Contrato de Cobrança Sicredi.
- Estar habilitado para o Cobrança Online Sicredi com o termo de adesão assinado.
- Com os passos anteriores feitos, o cedente precisa gerar a ApiKey e a ApiSecret no Internet Banking.
1.1 - Gerar a ApiKey
A ApiKey deve ser solicitado pelo beneficiário da conta. Esse processo é feito pelo portal do desenvolvedor do Sicredi, em: "Minha Conta -> Minhas Apps".
Após acessar "Minhas Apps", clique em "Cadastrar Nova App".
Além de outras informações pertinentes, será solicitado as opções abaixo. Destas, selecione a opção de cobrança e finaliza a criação da App.
Ao finalizar, ao voltar na opção "Minhas Apps" está semelhante a imagem abaixo, clique na opção "detalhes".
Ao acessar o "detalhes", vai aparecer o campo com a chave key, está a informação que será sua ApiKey.
Em alguns casos, após a criação da aplicação, a chave key acaba não aparecendo no campo "detalhes". Nestas situações é necessário acionar o suporte do Sicredi para solicitar a geração do token para a aplicação em questão.
1.2 - Gerar a ApiSecret
A ApiSecret deve ser solicitado pelo beneficiário da conta. Esse processo é feito pelo Internet Banking do Sicredi, na área de "Código de Acesso".
2 - Para a Microsys
No MsysGestor, preencher da seguinte forma:
API ID: Código de beneficiário com 5 dígitos + Cooperativa com 4 dígitos, totalizando 9.
API KEY: informar com o campo ApiKey gerado anteriormente.
API SECRET: informar com o campo ApiSecret gerado anteriormente.
API ESTAÇÃO: Código de Cooperativa sem o posto, ou seja, 4 dígitos.
O Sicredi não possui um ambiente de homologação/teste para Webservice, todas as emissões de homologação são feitos no ambiente de produção, podendo gerar taxas.
Caso seja gerada uma nova ApiSecret, a anterior é invalidada, o que vai resultar em rejeição dos boletos emitidos pelo MsysGestor.
No WebService do Sicredi, é possível informar apenas tipo de multa igual a "Valor diário".
Caso seja emitido boletos com juros, importante ressaltar que a Sicredi realiza a cobrança dos juros usando porcentagem diário, ao invés da Taxa Mensal.
Dicas preenchimento convênio - Sicredi
As informações abaixo são dicas para auxiliar o cadastro dos dados bancários, é de suma importância que todo e qualquer dado seja confirmado com o banco.
Cadastro de conta corrente
Campo | Dica |
Tipo |
Informar o tipo da conta. Pode ser "Conta corrente" ou "Conta poupança". |
Banco |
Informar o código do banco de acordo com a FEBRABAN. Para Sicredi deverá ser o código 748. |
Número da conta |
Informar o número da conta. campo composto por 5 dígitos + DV. Exemplo: 12345-6 |
Agência |
Informar a agência mantenedora da conta. Este campo é composto por até 6 dígitos (agência + posto) sem DV. Exemplo: 123459 |
Código beneficiário |
O código do beneficiário é informado pelo banco, caso não especificado, normalmente é informar o número da conta sem o DV. Exemplo: 12345 |
Cadastro de convênio
Campo | Dica |
CNAB |
Layout adotado pelo banco. Pode ser "240" ou "400" |
Número |
Neste campo pode ser informado o número da conta sem DV.
Exemplo: 12345 |
Descrição | Campo de texto para controle interno e identificação do convênio. |
Número da carteira |
Informar o Número da carteira de acordo com o repassado pelo banco. Pode ser: 1 - Carteira registrada |
N° remessa reinicia diariamente | Para Sicredi, está opção pode ser marcada como "Não" quando o CNAB for 400. |
Número da remessa | Caso a opção "N° remessa reinicia diariamente" for "Não", deve ser informado o número da remessa atual. |
Referência
https://atendimento.tecnospeed.com.br/hc/pt-br/articles/360015260033-Sicredi
Sicoob
Credenciais para API
1 - Para o Cliente
1.1 - Faça login no Portal Developers (https://developers.sicoob.com.br)
1.2 - Criar uma nova aplicação
1.3 - Efetuar login com credencial SicoobNet
1.4 - Aprovar termos de autorização
1.5 - Preencher dados iniciais da aplicação (Nome e descrição) e clicar em próximo
1.6 - Selecione a API Utilizada
Em nosso caso é a opção "Cobrança Bancária".
1.7 - Selecione o "Número da Conta" para qual a credencial está sendo vinculada
1.8 - Opção "A integração será por uma empresa parceira?" marcada como NÃO
1.9 - Selecione um certificado A1 válido em formado .PEM
O certificado deve ser emitido para o CNPJ do cedente e deve estar em formato .PEM. Clique aqui para mais informações sobre gerar o certificado nesse formato.
1.10 - Confirme os dados
Caso esteja tudo certo, clique em concluir, dessa forma a credencial para o WebService foi gerado com sucesso, disponibilizando a Client ID que o MsysGestor precisa para emitir os boletos.
2 - Para a Microsys
No MsysGestor, preencher da seguinte forma:
Certificado digital: Realizar o upload do certificado A1 para o sistema Microsys.
Tipo webservice: Informar V2.2.
API ID: Informar com o campo Client - ID disponibilizado pelo banco.
Referência
Dicas preenchimento convênio - Sicoob
As informações abaixo são dicas para auxiliar o cadastro dos dados bancários, é de suma importância que todo e qualquer dado seja confirmado com o banco.
Cadastro de conta corrente
Campo | Dica |
Tipo |
Informar o tipo da conta. Pode ser "Conta corrente" ou "Conta poupança". |
Banco |
Informar o código do banco de acordo com a FEBRABAN. Para Sicoob deverá ser o código 756. |
Número da conta |
Informar o número da conta. campo composto por até 7 dígitos + DV da conta. Exemplo: 1234567-8 |
Agência |
Informar a agência mantenedora da conta. Este campo é composto por 4 dígitos + DV da agência. Exemplo: 1234-5 |
Código beneficiário |
Informar o código do beneficiário com o DV conforme informado pelo banco. Exemplo: 123456 |
Cadastro de convênio
Campo | Dica |
CNAB |
Layout adotado pelo banco. Pode ser "240" ou "400" |
Número |
Neste campo pode ser informado o código do beneficiário com o DV.
Exemplo: 1234567 |
Descrição | Campo de texto para controle interno e identificação do convênio. |
Número da carteira |
Informar o Número da carteira de acordo com o repassado pelo banco. Pode ser: 1- Simples Com Registro |
Código Carteira |
Campo opcional, preencher em caso de exigência bancária. |
Número contrato |
Campo opcional, preencher em caso de exigência bancária. Normalmente o valor preenchido no Número de Contrato é o mesmo informado no Código do beneficiário. |
N° remessa reinicia diariamente | Para Sicoob, está opção pode ser marcada como "True". |
Número da remessa |
Caso a opção "N° remessa reinicia diariamente" for "Não", deve ser informado o número da remessa atual. |
Tipo webservice |
Para Sicoob, marcar a opção V2.2 |
Referência
https://atendimento.tecnospeed.com.br/hc/pt-br/articles/360015260973-Sicoob
Converter certificado para .PEM
A API do Sicoob utiliza o certificado digital para autenticar as informações, porém o certificado digital utilizado pelo Sicoob é feito somente com a chave publica.
O certificado A1 utilizado para emissão de NF-es, contém tanto a chave publica como a chave privada, que em hipótese alguma deve ser compartilhada. Por isso que deve-se converter o certificado existente em um novo certificado em formato .PEM, o qual vai conter somente a chave publica.
Requisitos
- OpenSLL - Precisamos dele para rodar alguns comandos.
- GitBash - Terminal utilizado para escrever os comandos.
1 - Extração da chave publica do certificado A1
Caso o usuário tenha o certificado A1 na máquina:
- crie uma nova pasta e copie o certificado dentro.
- Abra o GitBash nesta pasta
- Rode o seguinte comando:
openssl pkcs12 -in 'caminhodocertificadoarquivo.pfx' -nokeys -out 'caminhodocertificadocertificatename.pem'
Lembre de alterar as seguintes informações:
caminhodocertificadoarquivo: Inclua o caminho completo com o nome e a extensão .pfx do certificado A1. Exemplo: 'C:\certificado\NomeDoCertificado.pfx'.
caminhodocertificadocertificatename: Inclua o caminho completo com o nome e a extensão .pem de onde será salvo o novo certificado. Exemplo: 'C:\certificado\NomeDoNovoCertificado.pem'
2 - Verifique se a chave pública foi vinculada corretamente
Antes de enviar o novo certificado .pem na API do Sicoob, abra o certificado em um editor de texto de sua preferência.
O conteúdo do certificado deve ser apenas assim:
-----BEGIN CERTIFICATE-----MIIHPjCCBSagAwIBAgIIaEshCShhC1wwDQYJKoZIhv...-----END CERTIFICATE-----
Com um conteúdo iniciado com "BEGIN CERTIFICATE" e finalizado com "END CERTIFICATE".
Caso o conteúdo contenha as tags "BEGIN RSA PRIVATE KEY" e " END RSA PRIVATE KEY", quer dizer que a chave privada do certificado foi compartilhada junto no .pem. Nesse caso o certificado NÃO deve ser vinculado. Sendo necessário realizar o procedimento novamente.
Referências
https://developers.sicoob.com.br/#!/documentacao?section=seguranca&item=certificado-digital