Ir para conteúdo
  • Cadastre-se

Colaboração: Implementação do banco Sicoob no ACBrExtratoApi


Ver Solução Respondido por Delcio,
  • Este tópico foi criado há 417 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Solution
Postado (editado)

Olá pessoal.

Implementei o extrato no banco Sicoob.

Configurações:

Criar o aplicativo e obter o client-id no Portal Developers Sicoob.

Setar no componente:
 

  AcbrExtrato1.Ambiente           := eamProducao;
  AcbrExtrato1.BancoConsulta      := bccSicoob;
  AcbrExtrato1.Banco.ClientID     := Obtido ao criar o aplicativo no Portal Developpers;
  AcbrExtrato1.Banco.ClientSecret := '';
  AcbrExtrato1.Banco.ArquivoCertificado  := Caminho para a chave pública do certificado;
  AcbrExtrato1.Banco.ArquivoChavePrivada := Caminho para a chave privada do certificado;

A chave pública e privada do certificado podem ser extraídas da mesma forma que para configurar o boleto Siccob via api.

 

Seguem em anexo as units para a avaliação:

 

ACBrExtratoAPI.pas ACBrExtratoAPIBB.pas ACBrExtratoAPIInter.pas ACBrExtratoAPISicoob.pas

Editado por Delcio
  • Curtir 3
  • Obrigado 2
  • Consultores
Postado

Boa tarde,

Criada a TK-6554 para avaliação.

Obrigado pela contribuição.

image.png

Alexandre de Paula
Gerente de Projetos
Ajude o Projeto ACBr crescer - Assine o Clube PRO                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

 

 

  • 4 semanas depois ...
  • Moderadores
Postado

Enviei para o SVN, rev. 37543  com alguns ajustes para compilar no D7.

Também atualizei os programas exemplo para adicionar suporte ao Sicoob e exibir as novas propriedades.

Obrigado pela contribuição, @Delcio.

  • Curtir 3
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • 2 meses depois ...
Postado
Em 29/01/2025 at 16:42, Delcio disse:
 AcbrExtrato1.Banco.ArquivoCertificado  := Caminho para a chave pública do certificado;
  AcbrExtrato1.Banco.ArquivoChavePrivada := Caminho para a chave privada do certificado;

Olá pessoal.

Me chamaram com dúvidas, então seguem alguns esclarecimentos pra quem procurar o tópico:

 AcbrExtrato1.Banco.ArquivoCertificado,  o arquivo da chave pública tem que estar na extensão .pem;
 AcbrExtrato1.Banco.ArquivoChavePrivada,  o arquivo da chave privada tem que estar na extensão .key;

Para extrair com ACBR:

function ExtrairChavesCertificado(aPfx: string; aSenha: string; var aChavePub: string;
  var aChavePri: string): Boolean;
var
  ACBrOpenSSLUtils1: TACBrOpenSSLUtils;
begin
  ACBrOpenSSLUtils1 := TACBrOpenSSLUtils.Create(nil);
  try
    if FilesExists(aPfx) then
      ACBrOpenSSLUtils1.LoadPFXFromFile(aPfx, aSenha)
    else
      ACBrOpenSSLUtils1.LoadPFXFromStr(aPfx, aSenha);

    if aChavePri.Contains(':\') then
      WriteToFile(aChavePri, ACBrOpenSSLUtils1.PrivateKeyAsString, True)
    else
      aChavePri := ACBrOpenSSLUtils1.PrivateKeyAsString;

    if aChavePub.Contains(':\') then
      WriteToFile(aChavePub, ACBrOpenSSLUtils1.CertificateAsString, True)
    else
      aChavePub := ACBrOpenSSLUtils1.CertificateAsString;

    Result := aChavePri.Length > 0;

  finally
    ACBrOpenSSLUtils1.Free;
  end;
end;
//para chamar:
 ExtrairChavesCertificado("CaminhoArquivoPFX", "SenhaDoCertificado", "CainhoSalvarChavePublica.pem" 
  "CaminhoSalvarChavePrivada.key");

 

  • Curtir 3
  • Este tópico foi criado há 417 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...