Ir para conteúdo
  • Cadastre-se

Moysés A. Silva

Membros
  • Total de ítens

    7
  • Registro em

  • Última visita

Posts postados por Moysés A. Silva

  1. 39 minutos atrás, gkenji disse:

    Esse fonte é muito antigo Moysés, não vo lembrar tudo..
    Mas passando o olho ai, é o componente do Indy TIdHTTP

    Variaveis deve ser isso
    HttpClient: TIdHTTP;
    JsonToSend: TMemoryStream;

    Para acertar os uses, é só colocar um componente do indy TIdHttp e um TIdSSLIOHandlerSocketOpenSSL

    certo, ja tem os componentes do Indy TIdHttp e um TIdSSLIOHandlerSocketOpenSSL, mesmo assim não reconheceu ( WriteStringToStream, IndyTextEncoding_UTF8 e o sResponse)

     em anexo prints do com erro:

    "Error connecting with SSL.

    error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed" e código do teste para o HandShake da Requisição token do Sicoob

     

    Atenciosamente, 

    Moysés A. Silva.

    Erros Indy Sicoob.rar

  2. Em 03/05/2021 at 15:18, gkenji disse:

    Consegui, usando o INDY.. 

     

        HttpClient := TIdHTTP.Create( nil );
        HttpClient.ConnectTimeout := 20000;
        HttpClient.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
    
        with TIdSSLIOHandlerSocketOpenSSL(HttpClient.IOHandler).SSLOptions do
        begin
          CertFile := [CaminhoCertificado.crt.pem];   //mudar caminho certificado aqui
          KeyFile  := [CaminhoCertificado.key.pem];   //mudar caminho certificado aqui
          Mode := sslmUnassigned;
          SSLVersions := [sslvTLSv1_2];   //mudar protocolos de SSL aqui
        end;
    	
    	with HttpClient do
        begin
          Request.CustomHeaders.Values['Content-Type'] := 'application/json; application/x-www-form-urlencoded;';
          Request.ContentType := 'application/json';
          Request.CharSet     := 'utf-8';
          Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; GTB5; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; Maxthon; InfoPath.1; .NET CLR 3.5.30729; .NET CLR 3.0.30618)';
          HandleRedirects := True;
          HTTPOptions := [hoKeepOrigProtocol, hoInProcessAuth];
        end;
    	
    	Body:= '[conteudo body]';     //mudar body aqui
        JsonToSend := TMemoryStream.Create;
        WriteStringToStream(JsonToSend, Body, IndyTextEncoding_UTF8);
        JsonToSend.Position := 0;
    
        sResponse := HttpClient.Post([URL],JsonToSend);    //mudar URL aqui

     

    Quais as declarações nas Variáveis e Uses ?

    Atenciosamente, 

    Moysés A. Silva.

  3. 8 horas atrás, Juliomar Marchetti disse:

    pera tu está usando o componennte ACBrPIXCD? ou está implementando algo seu?

     

    Não estou usando o ACBrPIXCD, estou fazendo algo nosso para a Empresa onde trabalho, só falta o HandShake mesmo para ter o retorno do access_token do Sicoob para o restante das requisições.

    Atenciosamente, 

    Moysés A. Silva.

  4. Em 03/05/2021 at 15:18, gkenji disse:

    Consegui, usando o INDY.. 

     

        HttpClient := TIdHTTP.Create( nil );
        HttpClient.ConnectTimeout := 20000;
        HttpClient.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
    
        with TIdSSLIOHandlerSocketOpenSSL(HttpClient.IOHandler).SSLOptions do
        begin
          CertFile := [CaminhoCertificado.crt.pem];   //mudar caminho certificado aqui
          KeyFile  := [CaminhoCertificado.key.pem];   //mudar caminho certificado aqui
          Mode := sslmUnassigned;
          SSLVersions := [sslvTLSv1_2];   //mudar protocolos de SSL aqui
        end;
    	
    	with HttpClient do
        begin
          Request.CustomHeaders.Values['Content-Type'] := 'application/json; application/x-www-form-urlencoded;';
          Request.ContentType := 'application/json';
          Request.CharSet     := 'utf-8';
          Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; GTB5; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; Maxthon; InfoPath.1; .NET CLR 3.5.30729; .NET CLR 3.0.30618)';
          HandleRedirects := True;
          HTTPOptions := [hoKeepOrigProtocol, hoInProcessAuth];
        end;
    	
    	Body:= '[conteudo body]';     //mudar body aqui
        JsonToSend := TMemoryStream.Create;
        WriteStringToStream(JsonToSend, Body, IndyTextEncoding_UTF8);
        JsonToSend.Position := 0;
    
        sResponse := HttpClient.Post([URL],JsonToSend);    //mudar URL aqui

     

    Obrigado vou testar, fiz um teste aqui usando Indy mas retornou o seguinte erro :

     

    Could not load certificate.
    error:23076071 : PKCS12 routines : PKCS12_parse : mac verify failure

     

    o KeyFile é um arquivo de Certificado também ou uma senha por extenso do tipo "senhacertificado123" ?

    Atenciosamente, 

    Moysés A. Silva

     

  5. Obrigado por compartilhar o Tópico.

    Segundo os e-mails trocados pelo Sicoob, quando tive dificuldade em adicionar o Certificado para fazer Api na plataforma do Sicoob: https://developers.sicoob.com.br/   , fui informado que seria somente a Chave Pública no Certificado, sem os Bag logs nem nada mais somente o Bloco BEGIN CERTIFICATE   (Chave Pública)   END CERTIFICATE, porém é o mesmo arquivo ao qual estou tentando o HandShake da Requisição Token do Sicoob.

    Qual Certificado tenho que enviar para o HandShake da Requisição Token do Sicoob, Certificado Completo, Certificado Somente com a Chave Pública ou somente com a Chave Privada?

    Atenciosamente,
    Moysés A.Silva.

  6. Em 02/12/2022 at 16:44, BigWings disse:

    ACBrPIXCD é um dos componente da suite do ACBr, basta baixar e instalar no seu Delphi.

    https://projetoacbr.com.br/fontes/

    Obrigado por compartilhar o Link das Fontes,  to finalizando meu projeto mas só esta faltando o "HandShake" com o Sicoob para PIX, estou enviando o arquivo do certificado e mesmo assim ainda retorna msg de erro :

    {
        "error": "invalid_client",
        "error_description": "Invalid client credentials"
    }

     

    Alguém poderia me ajudar?

     

    curl  --location --request POST 'https://auth.sicoob.com.br/auth/realms/cooperado/protocol/openid-connect/token' \

                        -k --cacert <caminho do certificado> 

                        --data-urlencode 'grant_type=client_credentials' \

                        --data-urlencode 'client_id={{client_id}}' \

                        --data-urlencode 'scope=cob.read cob.write cobv.write cobv.read lotecobv.write lotecobv.read pix.write pix.read webhook.read webhook.write                                                                    payloadlocation.write  payloadlocation.read'

    estou fazendo com componentes Rest no projeto Oficial, mas fiz um teste com componentes Indy que retornou o seguinte erro:

    Could not load certificate.
    error:23076071:PKCS12 routines:PKCS12_parse:mac verify failure

     

    Obs: o mesmo certificado usado no PostMan retorna o JSon certo com o access_token que estou precisando pelo meu API no ERP.

    Obs.01: consegui obter o mesmo erro de "invalid_client" fazendo o curl no cmd do Windows.

    Alguém poderia me ajudar?

    Atenciosamente,
    Moysés A.Silva.

     

     

  7. Ola Boa tarde, 

    Sou novo na Comunidade ACBr, gostaria de saber onde eu baixo o ACBrPixCD ?

    Uma outra dúvida estou fazendo na mão essa requisição de Token do API PIX SICOOB:


    curl  --location --request POST 'https://auth.sicoob.com.br/auth/realms/cooperado/protocol/openid-connect/token' \

                        --data-urlencode 'grant_type=client_credentials' \

                        --data-urlencode 'client_id={{client_id}}' \

                        --data-urlencode 'scope=cob.read cob.write cobv.write cobv.read lotecobv.write lotecobv.read pix.write pix.read webhook.read webhook.write payloadlocation.write  payloadlocation.read'


    E preciso adicionar esse instrução:   -k --cacert <caminho do certificado>   (informação obtida por resposta e-mail Sicoob devs),

    Onde seria o certificado, como faço para adicionar usando o componente Rest nativo do Delphi.

    PS.: Isso tudo feito por DLL, ou seja componentes criados e configurados direto no código.

    Pois cheguei nesse erro aqui ate então pelo Projeto Delphi usando por DLL( A DLL do meu projeto que faz toda parte de API):


    {
        "error": "invalid_client",
        "error_description": "Invalid client credentials"
    }


    E observei que é o mesmo erro quando "esquecemos" de Adicionar o Certificado no Postman, assim conclui que para meu código só preciso adicionar o certificado, mas na documentação do Sicoob, só mostram como se faz pelo Postman(via vídeo), ou pelos curl's dessa documentação:

    https://documenter.getpostman.com/view/20565799/UzBnrmod

    Atenciosamente,
    Moysés A.Silva.

×
×
  • 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.