Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erro a ler morada : "Could not resolve host: morada.cartaodecidadao.pt" - V 3.12 #176

Open
Limanima opened this issue Jul 31, 2024 · 4 comments

Comments

@Limanima
Copy link

Limanima commented Jul 31, 2024

Olá.
Com o update para a versão 3.12 a leitura das moradas passou a devolver o erro "Could not resolve host: morada.cartaodecidadao.pt".
Este erro encontra-se no ficheiro de log C:\Program Files\Portugal Identity Card\log.PTEID_0.log.

Transcrição do erro:
XXXXXXX- 2024-07-25 15:14:14 - 9264|9508 - applayer - ERROR: RemoteAddress call to /sendDHParams failed! Using proxy: 0 curl error code: 6 curl message: Could not resolve host: morada.cartaodecidadao.pt

Este erro também ocorria na versão 3.11 mas foi resolvido alterando a configuração do proxy da seguinte forma:

var a = new PTEID_Config(PTEID_Param.PTEID_PARAM_PROXY_USE_SYSTEM);
a.setLong(1);

Ao fazer o update para a versão 3.12 surgiram 2 questões:

  1. Erro na chamada setLong() para o parametro PTEID_Param.PTEID_PARAM_PROXY_USE_SYSTEM
    Isto ocorre porque o enumerado PTEID_PARAM_PROXY_USE_SYSTEM mudou de valor. Foi necessário actualizar a DLL pteidlib_dotnet.dll na nossa solução. Depois o erro deixou de ocorrer. No entanto esta alteração quebra a compatibilidade com a versão 3.11. Neste ponto não há problema, uma vez que uma recompilação resolve a questão.

  2. O parâmetro PTEID_PARAM_PROXY_USE_SYSTEM deixou de ter efeito
    Na versão 3.11 conseguiamos ler moradas alterado este parametro, na V3.12 deixou de funcionar com o erro indicado em cima
    (que é o mesmo erro que obtemos na v 3.11 se não alterarmos esta configuração)

-Sistema Operativo : Windows 10 Enterprise
-Versao .net 4.8

@agrr
Copy link
Collaborator

agrr commented Jul 31, 2024

Boa tarde,

precisamos de perceber porque no vosso caso a proxy de sistema não está a ser detectada/utilizada.
Não nos parece que exista regressão na versão 3.12.0 ao nível de suporte a servidor proxy na consulta de morada.

Essa variável numa instalação limpa do software já vem ativa para utilizar o proxy de sistema, mas pode ser relevante forçar em código de forma a que a opção do utilizador guardada em registo (HKEY_CURRENT_USER) não seja aplicada.

Deve ativar o modo de diagnóstico na aplicação Autenticação.gov para ter mais detalhes escritos no ficheiro de log.

Com nível de debug no log deve ter uma linha deste género com um proxy configurada no Windows, neste caso com a variável pac vazia significa proxy configurado com host/porto manualmente:
2024-07-31 18:33:18 - 3104|13372 - openssl - INFO: Proxy settings: pac='', host='192.168.1.XX' and port=8888

@Limanima
Copy link
Author

Limanima commented Aug 2, 2024

Bom dia. Este problema já foi resolvido, tratava-se de uma configuração no proxy. Obrigado

No entanto, depois de ultrapassar esta questão, estamos a obter um outro erro a obter moraradas com o cartão para testes.
Conseguimos fazer a leitura dos dados, no entanto ao ler a morada, obtemos este erro:
Os certificados de teste foram colocados na pasta C:\Program Files\Portugal Identity Card\eidstore\certs.

C:\Program Files\Portugal Identity Card\pteidguiV2.exe - 2024-08-01 17:56:01 - 10336|10296 - applayer - DEBUG: Received HTTP error 400 and data: {"ecdh_kifd":"","errorStatus":{"code":1009,"description":"SOD_CERTIFICATE_UNTRUSTED"}}
C:\Program Files\Portugal Identity Card\pteidguiV2.exe - 2024-08-01 17:56:01 - 10336|10296 - applayer - INFO: eIDMW::APL_AddrEId::loadRemoteAddress_CC2 Endpoint (1) returned HTTP code: 400

@agrr
Copy link
Collaborator

agrr commented Aug 2, 2024

Se tiver cartões de teste do novo modelo de CC, deve iniciar a aplicação em modo de teste, ou seja com o comando: pteidguiV2.exe -t.
Em modo de teste a aplicação vai comunicar com o servidor apropriado: morada2.teste.cartaodecidadao.pt (porto 443)
Os certificados da PKI de teste devem estar numa pasta diferente C:\Program Files\Portugal Identity Card\eidstore\certs_test tal como indicado aqui:
https://amagovpt.github.io/docs.autenticacao.gov/manual_sdk.html#configurar-modo-de-teste

Se tiver cartões de teste do modelo antigo (CC1) é necessário também configurar o URL do serviço online:
adicionando uma string remoteaddr_url_test em HKLM\SOFTWARE\PTEID\general com o valor https://morada.teste.cartaodecidadao.pt

@Limanima
Copy link
Author

Limanima commented Aug 2, 2024

Ok, vamos retestar. Só mais uma questão. E no caso em que usamos a API, como "forçamos" o modo de teste?
Edit: já vi como se faz.
Obrigado

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants