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 titularemail: Endereço de e-mail do titularvalidityEnd: Data de expiração do certificado (tipoDatepadrão de JavaScript)pkiBrazil: Objeto com campos específicos da ICP-BrasilpkiBrazil.cpf: CPF do titular/responsávelpkiBrazil.cnpj: CNPJ da empresa (ounull, caso não seja um certificado de pessoa jurídica)
pkiItaly: Objeto com campos específicos de certificados italianospkiItaly.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.