amagovpt / autenticacao.gov

Middleware Oficial de Identificação Eletrónica em Portugal - Cartão de Cidadão, da Chave Móvel Digital e Sistema de Certificação de atributos profissionais
https://www.autenticacao.gov.pt
European Union Public License 1.2
168 stars 33 forks source link

PTEID Exception a obter certificados via CMD #171

Open sergiocondeco opened 2 months ago

sergiocondeco commented 2 months ago

Bom dia a todos. Estou a tentar obter os certificados digitais via CMD com este código:

public void assinarComCMD()
{
    try {
        System.loadLibrary ("pteidlibj");
        PTEID_ReaderSet.initSDK();
        PTEID_SigningDeviceFactory factory = PTEID_SigningDeviceFactory.instance();
        PTEID_SigningDevice signingDev = factory.getSigningDevice (false , true);
        PTEID_Certificates certs = signingDev.getCertificates();
        PTEID_ReaderSet.releaseSDK();
    } catch ( UnsatisfiedLinkError e) {
        System.out.println(" Native code library failed to load. \n" + e.getMessage());
        JOptionPane.showMessageDialog(null, " Native code library failed to load. \n" + e.getMessage());
    } catch (PTEID_Exception e) {
        e.printStackTrace();
        System.out.println (" PTEID_Exception. \n" + e);
        JOptionPane.showMessageDialog(null, " PTEID_Exception. \n" + e.getMessage() + " code: " + e.GetError());
    }
}

no entanto ao tentar obter os certificados obtenho uma PTEID_Exception com message a null. Alguém consegue ajudar pf?

agrr commented 2 months ago

Boa tarde,

A mensagem da PTEID_Exception pode obter-se pelo método PTEID_Exception.GetMessage() em vez do método herdado da Exception: getMessage(). Não tem lógica esta discrepância no SDK Java, tentaremos corrigir.

Deverá faltar a chamada ao PTEID_CMDSignatureClient.setCredentials para poder obter os certificados da CMD: https://amagovpt.github.io/docs.autenticacao.gov/manual_sdk.html#assinatura-digital

sergiocondeco commented 2 months ago

Obrigado pela resposta André,

Consegue ajudar-nos acerca da melhor via para pedir as credenciais para o nosso software? Enviámos email ontem para eid@ama.pt mas ainda não obtivemos resposta.

agrr commented 2 months ago

Devem referir que pretendem integrar a assinatura Chave Móvel numa aplicação Desktop utilizando o SDK Java. Isto pode facilitar o processo de aceitação no sentido do cumprimento das guidelines da assinatura CMD: https://github.com/amagovpt/doc-CMD-assinatura/tree/main/guidelines