Ir para conteúdo
  • Cadastre-se

Painel de líderes

Conteúdo popular

Showing content with the highest reputation on 26-05-2019 em todas as áreas

  1. Obrigado pelo envio dos Certificados para teste... Eu realmente consegui reproduzir o problema, com OpenSSL, certificado em PFX, consultando o Status de Serviço em SP, em um Certificado onde todas as cadeias, são V5 (imagem abaixo) Creio que seja algo no lado do Servidor, que ainda não deve ter as novas cadeias de certificado instaladas... Este problema me remeteu a esse tópico, de problema muito similar: Usando a solução de converter o PFX para PEM, e posteriormente lê-lo usando o "FHTTP.Sock.SSL.CertCAFile", realmente funcionava... o que me fez concluir que a maneira como a Synapse estava lendo o arquivo PFX, não estava completa, pois não lia os certificados da Cadeia, no contexto... A solução foi simples, há um comando para inserir uma cadeia de certificados, no contexto... (porém somente descobri após muita pesquisa) if PKCS12parse(p12, FKeyPassword, pkey, cert, ca) > 0 then if SSLCTXusecertificate(Fctx, cert) > 0 then if SSLCTXusePrivateKey(Fctx, pkey) > 0 then Result := True; // Set Certificate Verification chain if Result and (ca <> nil) then SslCtxCtrl(Fctx, SSL_CTRL_CHAIN, 0, ca); // <---- AQUI Por favor teste, substituindo as Units e anexo, na sua pasta: ACBr\Fontes\Terceiros\synalist ssl_openssl_lib.pas ssl_openssl.pas
    1 ponto
  2. Boa noite. Tem caracteres estranhos no teu arquivo TXT. Obs.: Não é possível notar com o editor de texto notepad, porém percebi o erro no log do ACBrMonitorPLUS e então abri com o Notepad++ aonde é possível perceber que tem alguns caracteres (parecido com CHR13) mas não sei o que é, pois o CHR13 seria notado no notepad. Em anexo seguem as telas com a comparação do arquivo aberto no notepad++ e notepad, assim como o resultado do arquivo sem a correção e após a correção. (Para corrigir eu apaguei as tuas linhas e reescrevi)
    1 ponto
  3. Eu uso o VB6 Tenho uma função quase do mesmo jeito, tenho um loop mas com um (sleep( 1000)) pra esperar um tempo antes da próxima consulta do arquivo e um limite de tempo pra o caso do arquivo não ser criado. Dessa forma ele fica esperando o tempo que for necessário. 10190 RetVal = Dir("C:\nfce-app\acbrSAIDA\Pedido-resp.TXT") ' Verifica o arquivo 10195 Do While (RetVal <> "Pedido-resp.TXT") 'Entra no loop com a condição de não existir o arquivo 10200 Sleep (1000) 'Espera 1 segundo antes de executar a proxima linha 10205 RetVal = Dir("C:\nfce-app\acbrSAIDA\Pedido-resp.TXT") 'Verifica o arquivo denovo 10210 If temp8 = "7" And RetVal <> "Pedido-resp.TXT" Then 'caso o tempo de execução da rotina for maior que 7 segundos e ainda não exista o arquivo 10215 GoTo saidoloop ' eu desisto de le-lo. 10220 End If ' 10225 temp8 = CCur(temp8) + CCur(1) ' Incrementa a contagem do tempo DoEvents 'Deixa o Windows fazer alguma coisa 10230 Loop ' 10235 saidoloop: '
    1 ponto
  4. Pessoal, referente ao erro postado pelo @Fabrício G. Araújo Fazendo testes aqui encontrei uma solução e gostaria da opinião de vocês se posso fazer as alterações ou se alguém tem alguma outra sugestão melhor. Para que o ambiente de Goiás voltasse a funcionar com as novas cadeias de certificado tive que fazer o seguinte procedimento. 1 - Pegar o certificado A1 do cliente que tenho com o nome Cert.pfx e utilizando o OpenSSL fiz a exportação do certificado para Cert.pem. 2 - dentro da classe ACBrDFeHttpOpenSSL no método configuraHTTP acrescentei essas duas linha de código para testar FHTTP.Sock.SSL.VerifyCert:=true ; FHTTP.Sock.SSL.CertCAFile:='d:\dados\cert\cert.pem'; ao fazer isso o ambiente voltou a funcionar, inclusive no ambiente de homologação que nunca havia funcionado. agora a mudança que precisa ser feita é a seguinte: fazer um propriedade que seja idêntica ao que carrega o certificado PFX só que apontando para carregar o certificado PEM, assim podemos fazer verificação se for ambiente de GO efetuar o carregamento desse certificado dentro da propriedade certCAFile do http. O que vocês acham?
    1 ponto
×
×
  • 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...