Jump to content
cjulio

Utilizar Webservices da AT

Recommended Posts

Adegas

Será que o certificado que eles falam é no meu caso este "TestesWebservices.pfx" e se sim, basta substituir não há problema por um ser .pfx e outro ser .p7b?

private void setSSLConnection(WSBindingProvider bp) throws KeyStoreException, IOException, NoSuchAlgorithmException, CertificateException, UnrecoverableKeyException, KeyManagementException {

KeyStore ks = KeyStore.getInstance("pkcs12");

ks.load(this.getClass().getClassLoader().getResourceAsStream("TestesWebservices.pfx"), "TESTEwebservice".toCharArray());

KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");

//KeyManagerFactory kmf = KeyManagerFactory.getInstance("IBMX509");

kmf.init(ks, "TESTEwebservice".toCharArray());

SSLContext sslContext = SSLContext.getInstance("TLS");

// adicionar um Trust Store que aceita ligacao SSl sem validar o certificado

sslContext.init(kmf.getKeyManagers(), new TrustManager[] {new PermissiveTrustStore()}, null);

bp.getRequestContext().put(JAXWSProperties.SSL_SOCKET_FACTORY, sslContext.getSocketFactory());

}

Share this post


Link to post
Share on other sites
brunotoira

Encontrei a solução!

Criem um porco em casa, façam dele uns presuntos e levem á AT. Assim ficam na lista VIP e tá o assunto resolvido...


Source code para enviar Guias de Transporte

https://www.portugal-a-programar.pt/forums/topic/57734-utilizar-webservices-da-at/?do=findComment&comment=503212

Source code para enviar UBL - Faturação Eletrónica (XML de faturas e validador) - bmartins.p45@gmail.com

 

 

Share this post


Link to post
Share on other sites
Sigma7

Bons dias,

Alguém percebeu o que é preciso fazer antes do dia 3 de Fevereiro?

Obrigado

Share this post


Link to post
Share on other sites
nunopicado

O p7b não substitui o TESTEwebservices.pfx.

São coisas diferentes.

O p7b é necessário por alguns métodos de comunicação, mesmo no servidor de produção, e basta estar instalado (no caso de ser necessário, nem sempre é).

No ano passado por esta altura aconteceu a mesma coisa, surgiram as mesmas dúvidas. Não me lembro já o que tiveram de fazer ao certo aqueles que dele precisavam, mas é caso de andar para trás no forum até um ano atrás.

É um certificado de raíz, que é como quem diz, não é usado directamente por vocês, mas sim pelo S.O. durante a validação do vosso certificado.

No ano passado, eu e mais quem carrega o certificado directamente sem ter de estar instalado, não tivemos esse problema, ou seja, o p7b não foi preciso para nada.

Nos casos em que foi preciso, façam isso. Andar no tempo um ano para trás aqui no tópico, e devem obter respostas.


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
Sigma7

O p7b não substitui o TESTEwebservices.pfx.

São coisas diferentes.

O p7b é necessário por alguns métodos de comunicação, mesmo no servidor de produção, e basta estar instalado (no caso de ser necessário, nem sempre é).

No ano passado por esta altura aconteceu a mesma coisa, surgiram as mesmas dúvidas. Não me lembro já o que tiveram de fazer ao certo aqueles que dele precisavam, mas é caso de andar para trás no forum até um ano atrás.

É um certificado de raíz, que é como quem diz, não é usado directamente por vocês, mas sim pelo S.O. durante a validação do vosso certificado.

No ano passado, eu e mais quem carrega o certificado directamente sem ter de estar instalado, não tivemos esse problema, ou seja, o p7b não foi preciso para nada.

Nos casos em que foi preciso, façam isso. Andar no tempo um ano para trás aqui no tópico, e devem obter respostas.

Obrigado

Share this post


Link to post
Share on other sites
nunopicado

Corria o ano da graça de 2015, quando alguém perguntou, e eu respondi:

O ano passado já gerou confusão. e um ano depois continuo com dúvidas. Afinal o ficheiro PortalFinancas2015.p7b enviado em anexo no email de dia 17.02.2015 serve para ???

Se alguem tiver uma resposta concreta agradeço desde já o esclarecimento.

Testas o teu programa sem mexer em nada.

Se funcionar, esquece o p7b. A vida segue, e para o ano, há mais!

Se não funcionar, poderás ter de o instalar nas máquinas que usem o teu programa.

Mantenho a resposta! :P

  • Vote 1

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
americob

Este mail é desculpa de mau pagador e o atirar "culpas" de uma aselhice que alguém fez.

Sem fazer nada, o servidor de Testes onde eles dizem já ter feita a atualização continua a funcionar e nunca deixou de funcionar.

Ontem só o de Produção não funcionava, deviam ser obrigados a explicar porquê!

Share this post


Link to post
Share on other sites
nunopicado

Este mail é desculpa de mau pagador e o atirar "culpas" de uma aselhice que alguém fez.

Sem fazer nada, o servidor de Testes onde eles dizem já ter feita a atualização continua a funcionar e nunca deixou de funcionar.

Ontem só o de Produção não funcionava, deviam ser obrigados a explicar porquê!

Ontem foi o Alonso! :)

O gajo tropeçou no cabo power quando vinha com a bandeja do café! eheheheh

É assim, não é só desculpa, no ano passado houve pessoal que efectivamente teve de fazer algo.

Mas isso não justifica é a asneira de ontem. :D

  • Vote 2

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
hbarbosa

Bons dias,

Alguém percebeu o que é preciso fazer antes do dia 3 de Fevereiro?

Obrigado

alguém sabe o que fazer?

Share this post


Link to post
Share on other sites
chesser

alguém sabe o que fazer?

O ano passado aconteceu o mesmo e não tive de fazer nada.

Penso que o importante é verificar se está tudo a funcionar correctamente em ambiente de teste. Depois é só aguardar que quarta-feira passe e respirar de alívio... ou não, analisando o que aconteceu ontem à tarde, a próxima semana até poderá ser muito "interessante".

Conhecem algum nome/nº de contribuinte dos técnicos da AT? É que eu precisava de facturar o tempo perdido ontem a explicar aos meus clientes que a culpa de não obterem o código de transporte não era minha (apesar de os srs da AT dizerem o contrário).

Share this post


Link to post
Share on other sites
yons

Boa tarde

Da ultima vez que eles atualizaram o certificado de testes aconteceu o mesmo. Não consegui que a ligação fosse efetuada. Então lembrei-me e verifiquei que eles atualizaram o pfx de testes: TesteWebServices.pfx. E ao utilizar este com o novo certificado está da dar o erro 8 - Cifra da Chave pública inválida.

Tentei com o certificado que uso para produção e para o meu espanto funciona. Isto já tinha ocorrido da ultima vez... com o certificado de produção funciona com o de testes que eles enviam não.

Será que estou a extrair mal o certificado do P7B?

openssl pkcs7 -print_certs -in portalfinancas2016.p7b -out ChavePublicaAT_Desenvolvimento.cer -inform DER

Até parece que eles estão baralhados nas geração dos ficheiros....

Share this post


Link to post
Share on other sites
chesser

Vocês conseguem enviar um pedido para o servidor de testes, 701?

Sim. Tive foi de actualizar o TesteWebServices.pfx. Depois funcionou correctamente.

Share this post


Link to post
Share on other sites
snake8856

Sim. Tive foi de actualizar o TesteWebServices.pfx. Depois funcionou correctamente.

Mesmo assim nao estou a conseguir, o de produção funciona perfeitamente, mas este não. Só para confirmar, o de testes tem validade até 18-05-2016, certo?

Edited by snake8856

Share this post


Link to post
Share on other sites
nunopicado

Já há um de testes mais recente, que está válido. Procura aqui no tópico mais para trás, que já pus o link.


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites
Pedro 17

Mesmo assim nao estou a conseguir, o de produção funciona perfeitamente, mas este não. Só para confirmar, o de testes tem validade até 18-05-2016, certo?

Estranhamente a mim acontece o mesmo

E ainda acrescento algo mais estranho:

Tenho uma aplicação C# instalada na minha máquina local e numa máquina de um cliente ( a aplicação é a mesma e ambas estão configuradas para o servidor de testes) e elas usam o velhinho certificado "ChavePublicaAT.cer" e o novo .PFX presente no portal das finanças com a data de 01-12-2015.

Passa-se que a aplicação instalada no meu cliente funciona e a minha local não, dando o erro "IOException: Falha da autenticação porque a parte remota fechou a sequência de transporte."

Consegui apenas testar o seguinte:

- Os certificados são exatamente os mesmos dos dois lados (os certificados não são instalados mas sim carregados diretamente pela aplicação)

- Já desativei a firewall (supostamente) e o erro persiste

- Se comunicar em modo de produção ela funciona

- Na aplicação instalada no cliente entrei com as credenciais do produtor de software e com as credenciais do próprio cliente e ambas não deram qualquer problema (o que descarta a permissão WDT)

Alguém consegue dar sugestões do que poderá ser?

Share this post


Link to post
Share on other sites
Pedro 17

Já há um de testes mais recente, que está válido. Procura aqui no tópico mais para trás, que já pus o link.

Consegues dizer em que post indicaste este link?

Só Encontrei o #6336 que estranhamente indica exatamente para o mesmo certificado que expira a 18-05-2016

Obrigado

Share this post


Link to post
Share on other sites
americob

Estranhamente a mim acontece o mesmo

E ainda acrescento algo mais estranho:

Tenho uma aplicação C# instalada na minha máquina local e numa máquina de um cliente ( a aplicação é a mesma e ambas estão configuradas para o servidor de testes) e elas usam o velhinho certificado "ChavePublicaAT.cer" e o novo .PFX presente no portal das finanças com a data de 01-12-2015.

Passa-se que a aplicação instalada no meu cliente funciona e a minha local não, dando o erro "IOException: Falha da autenticação porque a parte remota fechou a sequência de transporte."

Consegui apenas testar o seguinte:

- Os certificados são exatamente os mesmos dos dois lados (os certificados não são instalados mas sim carregados diretamente pela aplicação)

- Já desativei a firewall (supostamente) e o erro persiste

- Se comunicar em modo de produção ela funciona

- Na aplicação instalada no cliente entrei com as credenciais do produtor de software e com as credenciais do próprio cliente e ambas não deram qualquer problema (o que descarta a permissão WDT)

Alguém consegue dar sugestões do que poderá ser?

Eu uso objetos da Chilkat para fazer as diversas comunicações: DT's, VIES, Relatório Único, etc.

Estranhamente, com as últimas versões dos DLL's não consigo comunicar, mas com as DLL's de meados de 2015 tudo funciona na perfeição.

Aparentemente, eles mudaram a forma como é feita a negociação dos protocolos SSL, mas ainda não consegui perceber exatamente o que tenho de alterar no meu código para que funcione com a versão mais recente do Chilkat.

Não sei se te ajuda ...

Edited by americob

Share this post


Link to post
Share on other sites
jbb

Estranhamente a mim acontece o mesmo

E ainda acrescento algo mais estranho:

Tenho uma aplicação C# instalada na minha máquina local e numa máquina de um cliente ( a aplicação é a mesma e ambas estão configuradas para o servidor de testes) e elas usam o velhinho certificado "ChavePublicaAT.cer" e o novo .PFX presente no portal das finanças com a data de 01-12-2015.

Passa-se que a aplicação instalada no meu cliente funciona e a minha local não, dando o erro "IOException: Falha da autenticação porque a parte remota fechou a sequência de transporte."

Consegui apenas testar o seguinte:

- Os certificados são exatamente os mesmos dos dois lados (os certificados não são instalados mas sim carregados diretamente pela aplicação)

- Já desativei a firewall (supostamente) e o erro persiste

- Se comunicar em modo de produção ela funciona

- Na aplicação instalada no cliente entrei com as credenciais do produtor de software e com as credenciais do próprio cliente e ambas não deram qualquer problema (o que descarta a permissão WDT)

Alguém consegue dar sugestões do que poderá ser?

Eu também andei às voltas com este assunto, não conseguia comunicar para o servidor de testes, com o mesmo software que atualmente está em produção nos clientes.

O erro que obtinha era similar qualquer coisa como "a ligação subjacente foi fechada..."

Não sei se é o teu caso, mas eu carrego o certificado (Ficheiro PFX) diretamente do ficheiro,ou seja não o instalo na máquina do cliente e até agora sempre funcionou.

Mas com este mais recente enviado pela AT não funciona.

A solução passou por instalar o certificado na máquina e passou a funcionar mesmo carregando da forma antiga (via ficheiro).

Share this post


Link to post
Share on other sites
nunopicado

Só Encontrei o #6336 que estranhamente indica exatamente para o mesmo certificado que expira a 18-05-2016

Então, esse está válido. :)


"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.