Moysés A. Silva
-
Total de ítens
7 -
Registro em
-
Última visita
Tipo de Conteúdo
Blocks
Notes ACBrLibNFe
Fóruns
Downloads
Calendário
Posts postados por Moysés A. Silva
-
-
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.
-
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.
-
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 failureo KeyFile é um arquivo de Certificado também ou uma senha por extenso do tipo "senhacertificado123" ?
Atenciosamente,
Moysés A. Silva
-
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. -
Em 02/12/2022 at 16:44, BigWings disse:
ACBrPIXCD é um dos componente da suite do ACBr, basta baixar e instalar no seu Delphi.
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 failureObs: 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. -
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.
API Rest Certificado Digital P12
em Object Pascal - Delphi & Lazarus
Postado
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