armandodac Posted January 6, 2025 at 02:44 PM Report #634025 Posted January 6, 2025 at 02:44 PM Comunicações de series: Em aplicação c# .net 4.8 está tudo funcional de local para a AT PRD. Do servidor da aplicação para AT PRD dá erro "Não foi possível estabelecer o canal seguro para SSL/TLS com a autoridade 'servicos.portaldasfinancas.gov.pt:422'." No código já tenho o forcing para tls1.2 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ServicePointManager.Expect100Continue = true; ServicePointManager.DefaultConnectionLimit = 9999; ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true; Alguma ideia? Update: Problema resolvido. Não foi feita qualquer alteração ao código. No entanto foi necessário dar permissões às Pool do IIS para o novo certificado instalado na libraria de certificados do windows.
acampos Posted January 6, 2025 at 02:45 PM Report #634026 Posted January 6, 2025 at 02:45 PM Em 06/01/2025 às 13:20, sergiosmvc disse: Boa tarde, No meu projecto em vb.net 2010 framework 4 só tive que acrescentar a linha: ServicePointManager.SecurityProtocol = DirectCast(3072, SecurityProtocolType) No windows 10 funciona bem... Será que existe alguma hipotese de funcionar no windows vista? Já fiz vários updates que encontrei no google e entradas no registry mas dá sempre o mesmo erro... Lifesaver!!!! Muito obrigado! Só uma nota: colocar antes do "request" 1 Report
HugoSantos Posted January 6, 2025 at 02:50 PM Report #634027 Posted January 6, 2025 at 02:50 PM On 1/6/2025 at 2:37 PM, albertosilva said: Já foi aqui partilhado mais que uma vez, da mensagem de 9 de dezembro: Obrigado pela informação. Não me apercebi dessa alteração no contexto da alteração do certificado.
laboss Posted January 6, 2025 at 02:54 PM Report #634028 Posted January 6, 2025 at 02:54 PM Em 06/01/2025 às 12:31, Tiago Martins disse: Recolher? o que queres dizer com "Recolhi de novo o ATCUD" ? Mando registar de novo a série e ele da o erro que ja existe, a partir dai a comunicação fica a funcionar. Só esta a acontecer em clientes que não mudaram de série este ano, mas não estou a apanhar a logica da coisa
sergiosmvc Posted January 6, 2025 at 03:13 PM Report #634029 Posted January 6, 2025 at 03:13 PM Nem no windows 7 consigo colocar a funcionar...
desconfiado Posted January 6, 2025 at 03:25 PM Report #634031 Posted January 6, 2025 at 03:25 PM Em 06/01/2025 às 14:37, albertosilva disse: Já foi aqui partilhado mais que uma vez, da mensagem de 9 de dezembro: Esse email "escapou-me" então. Não me lembro de o receber.
chesser Posted January 6, 2025 at 03:26 PM Report #634032 Posted January 6, 2025 at 03:26 PM Em 06/01/2025 às 15:13, sergiosmvc disse: Nem no windows 7 consigo colocar a funcionar... Nós também tínhamos este problema ao usar as classes nativas do .Net. Se o sistema operativo suportasse o TLS 1.2 funcionava tudo correctamente, caso contrário (como com o Windows 7 ou Windows Server 2012 [e possivelmente outros que não testamos]) dava erro. A solução foi deixarmos de usar as classes do .Net para fazermos a ligação, passando a usar as classes do Chilkat. Ficou a funcionar em todas as versões do Windows (até o velhinho XP comunica com a AT).
sergiosmvc Posted January 6, 2025 at 03:37 PM Report #634033 Posted January 6, 2025 at 03:37 PM Em 06/01/2025 às 15:26, chesser disse: Nós também tínhamos este problema ao usar as classes nativas do .Net. Se o sistema operativo suportasse o TLS 1.2 funcionava tudo correctamente, caso contrário (como com o Windows 7 ou Windows Server 2012 [e possivelmente outros que não testamos]) dava erro. A solução foi deixarmos de usar as classes do .Net para fazermos a ligação, passando a usar as classes do Chilkat. Ficou a funcionar em todas as versões do Windows (até o velhinho XP comunica com a AT). Mas vou ter que mudar o código todo n?
esmagaossosOld Posted January 6, 2025 at 03:39 PM Report #634034 Posted January 6, 2025 at 03:39 PM Em 06/01/2025 às 16:26, chesser disse: Nós também tínhamos este problema ao usar as classes nativas do .Net. Se o sistema operativo suportasse o TLS 1.2 funcionava tudo correctamente, caso contrário (como com o Windows 7 ou Windows Server 2012 [e possivelmente outros que não testamos]) dava erro. A solução foi deixarmos de usar as classes do .Net para fazermos a ligação, passando a usar as classes do Chilkat. Ficou a funcionar em todas as versões do Windows (até o velhinho XP comunica com a AT). Boas, utilizo a chilKat e não estou a conseguir comunicar, alguém na mesma situação, obtenho a resposta abaixo Alterei oHttp.SslProtocol = "TLS 1.2 or higher" penso que não é necessário pois o default tenta as várias opções disponíveis Architecture: Little Endian; 32-bit Language: ActiveX Domain: https://servicos.portaldasfinancas.gov.pt Port: 401 SSL: 1 RequestData: HttpVersion: 1.1 Verb: POST Path: /sgdtws/documentosTransporte Charset: utf-8 SendCharset: 0 MimeHeader: SOAPAction: https://servicos.portaldasfinancas.gov.pt/sgdtws/documentosTransporte/ Content-Type: text/xml ReadTimeout: 20 ConnectTimeout: 10 HttpConnect: hostname: servicos.portaldasfinancas.gov.pt port: 401 ssl: 1 ConnectTimeoutMs: 10000 calling ConnectSocket2 AddrInfoList: AddrInfo: ai_flags: 0 ai_family: 2 ai_socktype: 1 ai_protocol: 0 ai_addrlen: 16 ai_canonname: (NULL) using IPv4. ipAddress1: 62.28.254.207 myIP_3:
chesser Posted January 6, 2025 at 03:47 PM Report #634035 Posted January 6, 2025 at 03:47 PM Em 06/01/2025 às 15:39, esmagaossosOld disse: Alterei oHttp.SslProtocol = "TLS 1.2 or higher" penso que não é necessário pois o default tenta as várias opções disponíveis Realmente penso que isso não será necessário, pelo menos nós não temos isso (o cliente negoceia com o servidor qual deve ser utilizado).
chesser Posted January 6, 2025 at 03:52 PM Report #634036 Posted January 6, 2025 at 03:52 PM (edited) Em 06/01/2025 às 15:37, sergiosmvc disse: Mas vou ter que mudar o código todo n? Isso dependerá de como tens as coisas implementadas. O código em si (em termos do número de linhas) é mais curto que usando as classes .net. Se realmente tens de ter isso a funcionar com SO mais antigos, deve valer a pena dares uma vista de olhos à classe Chilkat.Http. Usamos os métodos: http.SetSslClientCertPfx para indicar o certificado http.SetRequestHeader para indicar o SOAPAction http.PText para fazer o Post Também colocamos http.Accept="text/xml" Depois de invocado o PText, é só ir bucar o BodyStr da resposta (Chilkat.HttpResponse). Basicamente é isto. Edited January 6, 2025 at 03:58 PM by chesser
1000s Posted January 6, 2025 at 04:20 PM Report #634037 Posted January 6, 2025 at 04:20 PM Estou a usar as rotinas do Chillkat e nuns pcs funciona e em outros não em VB6, em .Net funciona em todos.
marcolopes Posted January 6, 2025 at 04:26 PM Report #634038 Posted January 6, 2025 at 04:26 PM On 1/6/2025 at 2:13 PM, desconfiado said: PS: Isto é uma @£§§€@@§£!. Estes tipos da AT fazem uma alteração destas nos primeiros dias do ano é falta de respeito! Essa agora... fartaram-se de avisar... The simplest explanation is usually the correct one JAVA Utilities: https://github.com/marcolopes/dma
desconfiado Posted January 6, 2025 at 04:30 PM Report #634039 Posted January 6, 2025 at 04:30 PM Já consigo comunicar séries mas documentos de transporte continua a dar erro. Nao estou a entender... Alguém tem o mesmo problema?
cavada Posted January 6, 2025 at 04:32 PM Report #634040 Posted January 6, 2025 at 04:32 PM Em 06/01/2025 às 16:30, desconfiado disse: Já consigo comunicar séries mas documentos de transporte continua a dar erro. Nao estou a entender... Alguém tem o mesmo problema? Sim, os meus clientes desde hoje ao inicio da tarde nao conseguem comunicar documentos de transporte.
Tiago Martins Posted January 6, 2025 at 04:48 PM Report #634041 Posted January 6, 2025 at 04:48 PM Também não consigo comunicar, mesmo forçando o TLS a 1.2. "Could not create SSL/TLS secure channel"
CrominhO Posted January 6, 2025 at 04:54 PM Report #634042 Posted January 6, 2025 at 04:54 PM Boa tarde Pessoal, Consigo comunicar, só não testei no XP, vou testar daqui a pouco, Em tempos pedi ajuda sobre a Chilkat e foram todos impecáveis, montes de pessoal me ajudou e inclusive enviaram-me código e exemplos. Neste caso, quem não está a conseguir comunicar utilizando a chilkat já falou com o rapaz que desenvolve? é que numa procura, mesmo que eu defina no cliente SslProtocol="TLS 1.2 ou maior" se o servidor responder ok eu faço 1.3, mas vamos fazer em em 1.0, a Chilkat vai falhar... porque na altura em que ele fez isso, era suposto facilitar o cliente em definir qual usar, mas nao se aplica aqui, porque o servidor permite 1.3 mas depois define a que vai usar...Penso eu Quem não está a conseguir comunicar é quem está a usar a Chilkat certo ? As mentes humanas são realmente um local estranho!
CrominhO Posted January 6, 2025 at 04:56 PM Report #634043 Posted January 6, 2025 at 04:56 PM Em relação a Frameworks, em principior irá sempre funcionar porque os metodos são diferentes. Quem usa Chilkat fale com o rapaz por favor, ele não foi muito simpatico comigo, mas respondeu em horass sobre uma duvida que tinha na altura As mentes humanas são realmente um local estranho!
morgado Posted January 6, 2025 at 05:16 PM Report #634044 Posted January 6, 2025 at 05:16 PM Boa tarde, Estou com um problema depois de ter atualizado o certificado "SSL". Converti o ficheiro que enviaram portaldasfinancas.gov.pt.p7b para ChavePublicaAT.cer (openssl pkcs7 -in portaldasfinancas.gov.pt.p7b -inform DER -print_certs -out ChavePublicaAT.cer) faço a importação do certificado com anteriormente fazia: X509Certificate2 certCP = new X509Certificate2(); certCP.Import( ChavePublicaAT.cer); Erro:: 'A ligação subjacente foi fechada: Erro inesperado ao receber.' Erro: Falha da operação de desencriptação, ver a excepção interior. Alguém me pode ajudar!? Faltou fazer algum passo? Obrigado
JorgeRocha Posted January 6, 2025 at 05:27 PM Report #634045 Posted January 6, 2025 at 05:27 PM Em 06/01/2025 às 17:16, morgado disse: Boa tarde, Estou com um problema depois de ter atualizado o certificado "SSL". Converti o ficheiro que enviaram portaldasfinancas.gov.pt.p7b para ChavePublicaAT.cer (openssl pkcs7 -in portaldasfinancas.gov.pt.p7b -inform DER -print_certs -out ChavePublicaAT.cer) faço a importação do certificado com anteriormente fazia: X509Certificate2 certCP = new X509Certificate2(); certCP.Import( ChavePublicaAT.cer); Erro:: 'A ligação subjacente foi fechada: Erro inesperado ao receber.' Erro: Falha da operação de desencriptação, ver a excepção interior. Alguém me pode ajudar!? Faltou fazer algum passo? Obrigado Boas tentei fazer o mesmo mas com o pem. Converti usundo o openssl x509 -in certificado.pem -outform DER -out certificado.cer no meu codigo acontece "Could not create SSL/TLS secure channel" Jorge Rocha
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now