Show / Hide Table of Contents
Editar no GitHub

Propriedades dos certificados

Ao chamar a função listCertificates(), o seu callback recebe um array com os certificados disponíveis na máquina do usuário. Cada elemento do array retornado é um objeto do tipo CertificateModel contendo informações sobre o certificado:

pki.listCertificates().success(function (certs) {
    for (var i = 0; i < certs.length; i++) {
        var cert = certs[i];
        console.log(cert.subjectName);
        console.log(cert.email);
        console.log(cert.validityEnd);
        console.log(cert.pkiBrazil.cpf);
        console.log(cert.pkiItaly.codiceFiscale);
    }
});

Esse mesmo objeto é recebido como argumento para o callback selectOptionFormatter que pode ser passado na chamada à função listCertificates():

pki.listCertificates({
    selectId: 'certificateSelect',
    selectOptionFormatter: function (cert) {
        var text = cert.subjectName + ' ('
            + 'emitido por ' + cert.issuerName
            + ' em ' + cert.validityEnd.toLocaleDateString()
            + ')';
        if (new Date() > cert.validityEnd) {
            text = '[EXPIRADO] ' + text;
        }
        return text;
    }
});

Algumas das propriedades disponíveis são:

  • subjectName: Campo Common Name (CN) do nome do titular
  • email: Endereço de e-mail do titular
  • validityEnd: Data de expiração do certificado (tipo Date padrão de JavaScript)
  • pkiBrazil: Objeto com campos específicos da ICP-Brasil
    • pkiBrazil.cpf: CPF do titular/responsável
    • pkiBrazil.cnpj: CNPJ da empresa (ou null, caso não seja um certificado de pessoa jurídica)
  • pkiItaly: Objeto com campos específicos de certificados italianos
    • pkiItaly.codiceFiscale: codice fiscale do titular
Note

As propriedades pkiBrazil e pkiItaly estão sempre preenchidas, mesmo que o certificado não seja um certificado brasileiro ou italiano, de modo que é seguro fazer algo como if (cert.pkiBrazil.cpf) { ... } sem risco de erros. Nesse caso, as sub-propriedade (pkiBrazil.* / pkiItaly.*) é que estarão com valor null.

Para obter uma lista completa das propriedades disponíveis em cada elemento do array, veja o guia da API para o tipo CertificateModel.

Back to top Copyright © 2015-2020 Lacuna Software