Pular para o conteúdo principal

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
observação

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.